{
    "name": "artifactory",
    "description": "A Pulumi package for creating and managing artifactory cloud resources.",
    "keywords": [
        "pulumi",
        "artifactory"
    ],
    "homepage": "https://pulumi.io",
    "license": "Apache-2.0",
    "attribution": "This Pulumi package is based on the [`artifactory` Terraform Provider](https://github.com/jfrog/terraform-provider-artifactory).",
    "repository": "https://github.com/pulumi/pulumi-artifactory",
    "meta": {
        "moduleFormat": "(.*)(?:/[^/]*)"
    },
    "language": {
        "csharp": {
            "packageReferences": {
                "Pulumi": "3.*"
            },
            "compatibility": "tfbridge20",
            "respectSchemaVersion": true
        },
        "go": {
            "importBasePath": "github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory",
            "generateResourceContainerTypes": true,
            "generateExtraInputTypes": true,
            "respectSchemaVersion": true
        },
        "nodejs": {
            "packageDescription": "A Pulumi package for creating and managing artifactory cloud resources.",
            "readme": "\u003e This provider is a derived work of the [Terraform Provider](https://github.com/jfrog/terraform-provider-artifactory)\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-artifactory` repo](https://github.com/pulumi/pulumi-artifactory/issues); however, if that doesn't turn up anything,\n\u003e please consult the source [`terraform-provider-artifactory` repo](https://github.com/jfrog/terraform-provider-artifactory/issues).",
            "devDependencies": {
                "@types/mime": "^2.0.0",
                "@types/node": "^10.0.0"
            },
            "compatibility": "tfbridge20",
            "disableUnionOutputTypes": true,
            "respectSchemaVersion": true
        },
        "python": {
            "readme": "\u003e This provider is a derived work of the [Terraform Provider](https://github.com/jfrog/terraform-provider-artifactory)\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-artifactory` repo](https://github.com/pulumi/pulumi-artifactory/issues); however, if that doesn't turn up anything,\n\u003e please consult the source [`terraform-provider-artifactory` repo](https://github.com/jfrog/terraform-provider-artifactory/issues).",
            "compatibility": "tfbridge20",
            "respectSchemaVersion": true,
            "pyproject": {
                "enabled": true
            }
        }
    },
    "config": {
        "variables": {
            "accessToken": {
                "type": "string",
                "description": "This is a access token that can be given to you by your admin under `User Management \u003e Access Tokens`. If not set, the 'api_key' attribute value will be used.",
                "secret": true
            },
            "apiKey": {
                "type": "string",
                "description": "API key. If \u003cspan pulumi-lang-nodejs=\"`accessToken`\" pulumi-lang-dotnet=\"`AccessToken`\" pulumi-lang-go=\"`accessToken`\" pulumi-lang-python=\"`access_token`\" pulumi-lang-yaml=\"`accessToken`\" pulumi-lang-java=\"`accessToken`\" pulumi-lang-hcl=\"`access_token`\"\u003e`accessToken`\u003c/span\u003e attribute, `JFROG_ACCESS_TOKEN` or `ARTIFACTORY_ACCESS_TOKEN` environment variable is set, the provider will ignore this attribute.",
                "deprecationMessage": "An upcoming version will support the option to block the usage/creation of API Keys (for admins to set on their platform).\nIn a future version (scheduled for end of Q3, 2023), the option to disable the usage/creation of API Keys will be available and set to disabled by default. Admins will be able to enable the usage/creation of API Keys.\nBy end of Q4 2024, API Keys will be deprecated all together and the option to use them will no longer be available. See [JFrog API deprecation process](https://jfrog.com/help/r/jfrog-platform-administration-documentation/jfrog-api-key-deprecation-process) for more details.",
                "secret": true
            },
            "clientCertificateKeyPath": {
                "type": "string",
                "description": "Filesystem path to the PEM-encoded private key that matches \u003cspan pulumi-lang-nodejs=\"`clientCertificatePath`\" pulumi-lang-dotnet=\"`ClientCertificatePath`\" pulumi-lang-go=\"`clientCertificatePath`\" pulumi-lang-python=\"`client_certificate_path`\" pulumi-lang-yaml=\"`clientCertificatePath`\" pulumi-lang-java=\"`clientCertificatePath`\" pulumi-lang-hcl=\"`client_certificate_path`\"\u003e`clientCertificatePath`\u003c/span\u003e."
            },
            "clientCertificatePath": {
                "type": "string",
                "description": "Filesystem path to a PEM-encoded client certificate or certificate chain to use for mutual TLS authentication. Must be specified together with \u003cspan pulumi-lang-nodejs=\"`clientCertificateKeyPath`\" pulumi-lang-dotnet=\"`ClientCertificateKeyPath`\" pulumi-lang-go=\"`clientCertificateKeyPath`\" pulumi-lang-python=\"`client_certificate_key_path`\" pulumi-lang-yaml=\"`clientCertificateKeyPath`\" pulumi-lang-java=\"`clientCertificateKeyPath`\" pulumi-lang-hcl=\"`client_certificate_key_path`\"\u003e`clientCertificateKeyPath`\u003c/span\u003e."
            },
            "clientCertificatePem": {
                "type": "string",
                "description": "Inline PEM-encoded client certificate or certificate chain used for mutual TLS authentication. Must be specified together with \u003cspan pulumi-lang-nodejs=\"`clientPrivateKeyPem`\" pulumi-lang-dotnet=\"`ClientPrivateKeyPem`\" pulumi-lang-go=\"`clientPrivateKeyPem`\" pulumi-lang-python=\"`client_private_key_pem`\" pulumi-lang-yaml=\"`clientPrivateKeyPem`\" pulumi-lang-java=\"`clientPrivateKeyPem`\" pulumi-lang-hcl=\"`client_private_key_pem`\"\u003e`clientPrivateKeyPem`\u003c/span\u003e.",
                "secret": true
            },
            "clientPrivateKeyPem": {
                "type": "string",
                "description": "Inline PEM-encoded private key that matches \u003cspan pulumi-lang-nodejs=\"`clientCertificatePem`\" pulumi-lang-dotnet=\"`ClientCertificatePem`\" pulumi-lang-go=\"`clientCertificatePem`\" pulumi-lang-python=\"`client_certificate_pem`\" pulumi-lang-yaml=\"`clientCertificatePem`\" pulumi-lang-java=\"`clientCertificatePem`\" pulumi-lang-hcl=\"`client_certificate_pem`\"\u003e`clientCertificatePem`\u003c/span\u003e.",
                "secret": true
            },
            "oidcProviderName": {
                "type": "string",
                "description": "OIDC provider name. See [Configure an OIDC Integration](https://jfrog.com/help/r/jfrog-platform-administration-documentation/configure-an-oidc-integration) for more details."
            },
            "tfcCredentialTagName": {
                "type": "string",
                "description": "Terraform Cloud Workload Identity Token tag name. Use for generating multiple TFC workload identity tokens. When set, the provider will attempt to use env var with this tag name as suffix. **Note:** this is case sensitive, so if set to `JFROG`, then env var `TFC_WORKLOAD_IDENTITY_TOKEN_JFROG` is used instead of `TFC_WORKLOAD_IDENTITY_TOKEN`. See [Generating Multiple Tokens](https://developer.hashicorp.com/terraform/cloud-docs/workspaces/dynamic-provider-credentials/manual-generation#generating-multiple-tokens) on HCP Terraform for more details."
            },
            "url": {
                "type": "string",
                "description": "Artifactory URL."
            }
        }
    },
    "types": {
        "artifactory:index/ArchivePolicySearchCriteria:ArchivePolicySearchCriteria": {
            "properties": {
                "createdBeforeInDays": {
                    "type": "integer",
                    "description": "The archive policy will archive packages based on how long ago they were created. For example, if this parameter is 2 then packages created more than 2 days ago will be archived as part of the policy.\n\u003e **Requires Artifactory 7.111.2 or later.**\n~\u003eJFrog recommends using the \u003cspan pulumi-lang-nodejs=\"`createdBeforeInDays`\" pulumi-lang-dotnet=\"`CreatedBeforeInDays`\" pulumi-lang-go=\"`createdBeforeInDays`\" pulumi-lang-python=\"`created_before_in_days`\" pulumi-lang-yaml=\"`createdBeforeInDays`\" pulumi-lang-java=\"`createdBeforeInDays`\" pulumi-lang-hcl=\"`created_before_in_days`\"\u003e`createdBeforeInDays`\u003c/span\u003e condition to ensure that packages currently in use are not archived.\n"
                },
                "createdBeforeInMonths": {
                    "type": "integer",
                    "description": "The archive policy will archive packages based on how long ago they were created. For example, if this parameter is 2 then packages created more than 2 months ago will be archived as part of the policy.\n",
                    "deprecationMessage": "Use \u003cspan pulumi-lang-nodejs=\"`createdBeforeInDays`\" pulumi-lang-dotnet=\"`CreatedBeforeInDays`\" pulumi-lang-go=\"`createdBeforeInDays`\" pulumi-lang-python=\"`created_before_in_days`\" pulumi-lang-yaml=\"`createdBeforeInDays`\" pulumi-lang-java=\"`createdBeforeInDays`\" pulumi-lang-hcl=\"`created_before_in_days`\"\u003e`createdBeforeInDays`\u003c/span\u003e instead of \u003cspan pulumi-lang-nodejs=\"`createdBeforeInMonths`\" pulumi-lang-dotnet=\"`CreatedBeforeInMonths`\" pulumi-lang-go=\"`createdBeforeInMonths`\" pulumi-lang-python=\"`created_before_in_months`\" pulumi-lang-yaml=\"`createdBeforeInMonths`\" pulumi-lang-java=\"`createdBeforeInMonths`\" pulumi-lang-hcl=\"`created_before_in_months`\"\u003e`createdBeforeInMonths`\u003c/span\u003e. Renamed to \u003cspan pulumi-lang-nodejs=\"`createdBeforeInDays`\" pulumi-lang-dotnet=\"`CreatedBeforeInDays`\" pulumi-lang-go=\"`createdBeforeInDays`\" pulumi-lang-python=\"`created_before_in_days`\" pulumi-lang-yaml=\"`createdBeforeInDays`\" pulumi-lang-java=\"`createdBeforeInDays`\" pulumi-lang-hcl=\"`created_before_in_days`\"\u003e`createdBeforeInDays`\u003c/span\u003e starting in version 7.111.2."
                },
                "excludedPackages": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Specify explicit package names that you want excluded from the policy. Only Name explicit names (and not patterns) are accepted.\n"
                },
                "excludedProperties": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "description": "A key-value pair applied to the lead artifact of a package. Packages with this property will be excluded from archival.\n"
                },
                "excludedRepos": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Specify patterns for repository names or explicit repository names that you want excluded from the archive policy.\n"
                },
                "includeAllProjects": {
                    "type": "boolean",
                    "description": "Set this value to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e if you want the policy to run on all Artifactory projects. The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n~\u003eThis attribute is relevant only on the global level, for Platform Admins.\n"
                },
                "includedPackages": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Specify a pattern for a package name or an explicit package name. It accept only single element which can be specific package or pattern, and for including all packages use `**`. Example: \u003cspan pulumi-lang-nodejs=\"`includedPackages \" pulumi-lang-dotnet=\"`IncludedPackages \" pulumi-lang-go=\"`includedPackages \" pulumi-lang-python=\"`included_packages \" pulumi-lang-yaml=\"`includedPackages \" pulumi-lang-java=\"`includedPackages \" pulumi-lang-hcl=\"`included_packages \"\u003e`includedPackages \u003c/span\u003e= [\"**\"]`\n"
                },
                "includedProjects": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of projects on which you want this policy to run. To include repositories that are not assigned to any project, enter the project key \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\" pulumi-lang-hcl=\"`default`\"\u003e`default`\u003c/span\u003e. Can be empty when \u003cspan pulumi-lang-nodejs=\"`includeAllProjects`\" pulumi-lang-dotnet=\"`IncludeAllProjects`\" pulumi-lang-go=\"`includeAllProjects`\" pulumi-lang-python=\"`include_all_projects`\" pulumi-lang-yaml=\"`includeAllProjects`\" pulumi-lang-java=\"`includeAllProjects`\" pulumi-lang-hcl=\"`include_all_projects`\"\u003e`includeAllProjects`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n~\u003eThis setting is relevant only on the global level, for Platform Admins.\n"
                },
                "includedProperties": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "description": "A key-value pair applied to the lead artifact of a package. Packages with this property will be archived.\n"
                },
                "keepLastNVersions": {
                    "type": "integer",
                    "description": "Set a value for the number of latest versions to keep. The archive policy will remove all versions before the number you select here. The latest version is always excluded.\n\n~\u003eVersions are determined by creation date.\n\n~\u003eNot all package types support this condition. If you include a package type in your policy that is not compatible with this condition, a validation error (400) is returned. For information on which package types support this condition, see here.\n"
                },
                "lastDownloadedBeforeInDays": {
                    "type": "integer",
                    "description": "The archive policy will archive packages based on how long ago they were downloaded. For example, if this parameter is 5 then packages downloaded more than 5 days ago will be archived as part of the policy.\n\u003e **Requires Artifactory 7.111.2 or later.**\n~\u003eJFrog recommends using the \u003cspan pulumi-lang-nodejs=\"`lastDownloadedBeforeInDays`\" pulumi-lang-dotnet=\"`LastDownloadedBeforeInDays`\" pulumi-lang-go=\"`lastDownloadedBeforeInDays`\" pulumi-lang-python=\"`last_downloaded_before_in_days`\" pulumi-lang-yaml=\"`lastDownloadedBeforeInDays`\" pulumi-lang-java=\"`lastDownloadedBeforeInDays`\" pulumi-lang-hcl=\"`last_downloaded_before_in_days`\"\u003e`lastDownloadedBeforeInDays`\u003c/span\u003e condition to ensure that packages currently in use are not archived.\n"
                },
                "lastDownloadedBeforeInMonths": {
                    "type": "integer",
                    "description": "The archive policy will archive packages based on how long ago they were downloaded. For example, if this parameter is 5 then packages downloaded more than 5 months ago will be archived as part of the policy.\n",
                    "deprecationMessage": "Use \u003cspan pulumi-lang-nodejs=\"`lastDownloadedBeforeInDays`\" pulumi-lang-dotnet=\"`LastDownloadedBeforeInDays`\" pulumi-lang-go=\"`lastDownloadedBeforeInDays`\" pulumi-lang-python=\"`last_downloaded_before_in_days`\" pulumi-lang-yaml=\"`lastDownloadedBeforeInDays`\" pulumi-lang-java=\"`lastDownloadedBeforeInDays`\" pulumi-lang-hcl=\"`last_downloaded_before_in_days`\"\u003e`lastDownloadedBeforeInDays`\u003c/span\u003e instead of \u003cspan pulumi-lang-nodejs=\"`lastDownloadedBeforeInMonths`\" pulumi-lang-dotnet=\"`LastDownloadedBeforeInMonths`\" pulumi-lang-go=\"`lastDownloadedBeforeInMonths`\" pulumi-lang-python=\"`last_downloaded_before_in_months`\" pulumi-lang-yaml=\"`lastDownloadedBeforeInMonths`\" pulumi-lang-java=\"`lastDownloadedBeforeInMonths`\" pulumi-lang-hcl=\"`last_downloaded_before_in_months`\"\u003e`lastDownloadedBeforeInMonths`\u003c/span\u003e. Renamed to \u003cspan pulumi-lang-nodejs=\"`lastDownloadedBeforeInDays`\" pulumi-lang-dotnet=\"`LastDownloadedBeforeInDays`\" pulumi-lang-go=\"`lastDownloadedBeforeInDays`\" pulumi-lang-python=\"`last_downloaded_before_in_days`\" pulumi-lang-yaml=\"`lastDownloadedBeforeInDays`\" pulumi-lang-java=\"`lastDownloadedBeforeInDays`\" pulumi-lang-hcl=\"`last_downloaded_before_in_days`\"\u003e`lastDownloadedBeforeInDays`\u003c/span\u003e starting in version 7.111.2."
                },
                "packageTypes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "The package types that are archived by the policy. Support: alpine, ansible, cargo, chef, cocoapods, composer, conan, conda, debian, docker, gems, generic, go, gradle, helm, helmoci, huggingfaceml, maven, npm, nuget, oci, opkg, puppet, pypi, sbt, swift, terraform, terraformbackend, vagrant, yum.\n"
                },
                "repos": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Specify one or more patterns for the repository name(s) on which you want the archive policy to run. You can also specify explicit repository names. Specifying at least one pattern or explicit name is required. Only packages in repositories that match the pattern or explicit name will be archived. For including all repos use `**`. Example: `repos = [\"**\"]`\n"
                }
            },
            "type": "object",
            "required": [
                "includedPackages",
                "includedProjects",
                "packageTypes",
                "repos"
            ],
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "createdBeforeInDays",
                        "createdBeforeInMonths",
                        "includedPackages",
                        "includedProjects",
                        "keepLastNVersions",
                        "lastDownloadedBeforeInDays",
                        "lastDownloadedBeforeInMonths",
                        "packageTypes",
                        "repos"
                    ]
                }
            }
        },
        "artifactory:index/ArtifactCustomWebhookCriteria:ArtifactCustomWebhookCriteria": {
            "properties": {
                "anyFederated": {
                    "type": "boolean",
                    "description": "Trigger on any federated repositories\n"
                },
                "anyLocal": {
                    "type": "boolean",
                    "description": "Trigger on any local repo.\n"
                },
                "anyRemote": {
                    "type": "boolean",
                    "description": "Trigger on any remote repo.\n"
                },
                "excludePatterns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Simple comma separated wildcard patterns for repository artifact paths (with no leading slash). Ant-style path expressions are supported (*, *\\*, ?). For example: `org/apache/**`.\n"
                },
                "includePatterns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Simple comma separated wildcard patterns for repository artifact paths (with no leading slash). Ant-style path expressions are supported (*, *\\*, ?). For example: `org/apache/**`.\n"
                },
                "repoKeys": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Trigger on this list of repo keys.\n"
                }
            },
            "type": "object",
            "required": [
                "anyFederated",
                "anyLocal",
                "anyRemote",
                "repoKeys"
            ]
        },
        "artifactory:index/ArtifactCustomWebhookHandler:ArtifactCustomWebhookHandler": {
            "properties": {
                "httpHeaders": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "HTTP headers you wish to use to invoke the Webhook, comprise key/value pair.\n"
                },
                "method": {
                    "type": "string",
                    "description": "Specifies the HTTP method for the URL that the Webhook invokes. Allowed values are: `GET`, `POST`, `PUT`, `PATCH`, `DELETE`.\n"
                },
                "payload": {
                    "type": "string",
                    "description": "This attribute is used to build the request body. Used in custom webhooks\n"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory UI (Administration \u003e Proxies \u003e Configuration).\n"
                },
                "secrets": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Defines a set of sensitive values (such as, tokens and passwords) that can be injected in the headers and/or payload.Secrets’ values are encrypted. In the header/payload, the value can be invoked using the `{{.secrets.token}}` format, where token is the name provided for the secret value. Comprise key/value pair. **Note:** if multiple handlers are used, same secret name and different secret value for the same url won't work. Example: \n\n",
                    "secret": true
                },
                "url": {
                    "type": "string",
                    "description": "Specifies the URL that the Webhook invokes. This will be the URL that Artifactory will send an HTTP POST request to.\n"
                }
            },
            "type": "object",
            "required": [
                "url"
            ]
        },
        "artifactory:index/ArtifactLifecycleCustomWebhookHandler:ArtifactLifecycleCustomWebhookHandler": {
            "properties": {
                "httpHeaders": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "HTTP headers you wish to use to invoke the Webhook, comprise key/value pair.\n"
                },
                "method": {
                    "type": "string",
                    "description": "Specifies the HTTP method for the URL that the Webhook invokes. Allowed values are: `GET`, `POST`, `PUT`, `PATCH`, `DELETE`.\n"
                },
                "payload": {
                    "type": "string",
                    "description": "This attribute is used to build the request body. Used in custom webhooks\n"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory UI (Administration \u003e Proxies \u003e Configuration).\n"
                },
                "secrets": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Defines a set of sensitive values (such as, tokens and passwords) that can be injected in the headers and/or payload.Secrets’ values are encrypted. In the header/payload, the value can be invoked using the `{{.secrets.token}}` format, where token is the name provided for the secret value. Comprise key/value pair. **Note:** if multiple handlers are used, same secret name and different secret value for the same url won't work. Example:\n\n",
                    "secret": true
                },
                "url": {
                    "type": "string",
                    "description": "Specifies the URL that the Webhook invokes. This will be the URL that Artifactory will send an HTTP POST request to.\n"
                }
            },
            "type": "object",
            "required": [
                "url"
            ]
        },
        "artifactory:index/ArtifactLifecycleWebhookHandler:ArtifactLifecycleWebhookHandler": {
            "properties": {
                "customHttpHeaders": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Custom HTTP headers you wish to use to invoke the Webhook, comprise of key/value pair.\n"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory UI (Administration \u003e Proxies \u003e Configuration).\n"
                },
                "secret": {
                    "type": "string",
                    "description": "Secret authentication token that will be sent to the configured URL. The value will be sent as `x-jfrog-event-auth` header.\n",
                    "secret": true
                },
                "url": {
                    "type": "string",
                    "description": "Specifies the URL that the Webhook invokes. This will be the URL that Artifactory will send an HTTP POST request to.\n"
                },
                "useSecretForSigning": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the secret will be used to sign the event payload, allowing the target to validate that the payload content has not been changed and will not be passed as part of the event. If left unset or set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e, the secret is passed through the `X-JFrog-Event-Auth` HTTP header.\n"
                }
            },
            "type": "object",
            "required": [
                "url"
            ]
        },
        "artifactory:index/ArtifactPropertyCustomWebhookCriteria:ArtifactPropertyCustomWebhookCriteria": {
            "properties": {
                "anyFederated": {
                    "type": "boolean",
                    "description": "Trigger on any federated repositories\n"
                },
                "anyLocal": {
                    "type": "boolean",
                    "description": "Trigger on any local repo.\n"
                },
                "anyRemote": {
                    "type": "boolean",
                    "description": "Trigger on any remote repo.\n"
                },
                "excludePatterns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Simple comma separated wildcard patterns for repository artifact paths (with no leading slash). Ant-style path expressions are supported (*, *\\*, ?). For example: `org/apache/**`.\n"
                },
                "includePatterns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Simple comma separated wildcard patterns for repository artifact paths (with no leading slash). Ant-style path expressions are supported (*, *\\*, ?). For example: `org/apache/**`.\n"
                },
                "repoKeys": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Trigger on this list of repo keys.\n"
                }
            },
            "type": "object",
            "required": [
                "anyFederated",
                "anyLocal",
                "anyRemote",
                "repoKeys"
            ]
        },
        "artifactory:index/ArtifactPropertyCustomWebhookHandler:ArtifactPropertyCustomWebhookHandler": {
            "properties": {
                "httpHeaders": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "HTTP headers you wish to use to invoke the Webhook, comprise key/value pair.\n"
                },
                "method": {
                    "type": "string",
                    "description": "Specifies the HTTP method for the URL that the Webhook invokes. Allowed values are: `GET`, `POST`, `PUT`, `PATCH`, `DELETE`.\n"
                },
                "payload": {
                    "type": "string",
                    "description": "This attribute is used to build the request body. Used in custom webhooks\n"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory UI (Administration \u003e Proxies \u003e Configuration).\n"
                },
                "secrets": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Defines a set of sensitive values (such as, tokens and passwords) that can be injected in the headers and/or payload.Secrets’ values are encrypted. In the header/payload, the value can be invoked using the `{{.secrets.token}}` format, where token is the name provided for the secret value. Comprise key/value pair. **Note:** if multiple handlers are used, same secret name and different secret value for the same url won't work. Example:\n\n",
                    "secret": true
                },
                "url": {
                    "type": "string",
                    "description": "Specifies the URL that the Webhook invokes. This will be the URL that Artifactory will send an HTTP POST request to.\n"
                }
            },
            "type": "object",
            "required": [
                "url"
            ]
        },
        "artifactory:index/ArtifactPropertyWebhookCriteria:ArtifactPropertyWebhookCriteria": {
            "properties": {
                "anyFederated": {
                    "type": "boolean",
                    "description": "Trigger on any federated repo.\n"
                },
                "anyLocal": {
                    "type": "boolean",
                    "description": "Trigger on any local repo.\n"
                },
                "anyRemote": {
                    "type": "boolean",
                    "description": "Trigger on any remote repo.\n"
                },
                "excludePatterns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Simple comma separated wildcard patterns for repository artifact paths (with no leading slash). Ant-style path expressions are supported (*, *\\*, ?). For example: `org/apache/**`.\n"
                },
                "includePatterns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Simple comma separated wildcard patterns for repository artifact paths (with no leading slash). Ant-style path expressions are supported (*, *\\*, ?). For example: `org/apache/**`.\n"
                },
                "repoKeys": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Trigger on this list of repo keys.\n"
                }
            },
            "type": "object",
            "required": [
                "anyFederated",
                "anyLocal",
                "anyRemote",
                "repoKeys"
            ]
        },
        "artifactory:index/ArtifactPropertyWebhookHandler:ArtifactPropertyWebhookHandler": {
            "properties": {
                "customHttpHeaders": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Custom HTTP headers you wish to use to invoke the Webhook, comprise of key/value pair.\n"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory UI (Administration \u003e Proxies \u003e Configuration).\n"
                },
                "secret": {
                    "type": "string",
                    "description": "Secret authentication token that will be sent to the configured URL. The value will be sent as `x-jfrog-event-auth` header.\n",
                    "secret": true
                },
                "url": {
                    "type": "string",
                    "description": "Specifies the URL that the Webhook invokes. This will be the URL that Artifactory will send an HTTP POST request to.\n"
                },
                "useSecretForSigning": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the secret will be used to sign the event payload, allowing the target to validate that the payload content has not been changed and will not be passed as part of the event. If left unset or set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e, the secret is passed through the `X-JFrog-Event-Auth` HTTP header.\n"
                }
            },
            "type": "object",
            "required": [
                "url"
            ]
        },
        "artifactory:index/ArtifactWebhookCriteria:ArtifactWebhookCriteria": {
            "properties": {
                "anyFederated": {
                    "type": "boolean",
                    "description": "Trigger on any federated repo.\n"
                },
                "anyLocal": {
                    "type": "boolean",
                    "description": "Trigger on any local repo.\n"
                },
                "anyRemote": {
                    "type": "boolean",
                    "description": "Trigger on any remote repo.\n"
                },
                "excludePatterns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Simple comma separated wildcard patterns for repository artifact paths (with no leading slash). Ant-style path expressions are supported (*, *\\*, ?). For example: `org/apache/**`.\n"
                },
                "includePatterns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Simple comma separated wildcard patterns for repository artifact paths (with no leading slash). Ant-style path expressions are supported (*, *\\*, ?). For example: `org/apache/**`.\n"
                },
                "repoKeys": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Trigger on this list of repo keys.\n"
                }
            },
            "type": "object",
            "required": [
                "anyFederated",
                "anyLocal",
                "anyRemote",
                "repoKeys"
            ]
        },
        "artifactory:index/ArtifactWebhookHandler:ArtifactWebhookHandler": {
            "properties": {
                "customHttpHeaders": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Custom HTTP headers you wish to use to invoke the Webhook, comprise of key/value pair.\n"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory UI (Administration \u003e Proxies \u003e Configuration).\n"
                },
                "secret": {
                    "type": "string",
                    "description": "Secret authentication token that will be sent to the configured URL. The value will be sent as `x-jfrog-event-auth` header.\n",
                    "secret": true
                },
                "url": {
                    "type": "string",
                    "description": "Specifies the URL that the Webhook invokes. This will be the URL that Artifactory will send an HTTP POST request to.\n"
                },
                "useSecretForSigning": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the secret will be used to sign the event payload, allowing the target to validate that the payload content has not been changed and will not be passed as part of the event. If left unset or set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e, the secret is passed through the `X-JFrog-Event-Auth` HTTP header.\n"
                }
            },
            "type": "object",
            "required": [
                "url"
            ]
        },
        "artifactory:index/ArtifactoryReleaseBundleCustomWebhookCriteria:ArtifactoryReleaseBundleCustomWebhookCriteria": {
            "properties": {
                "anyReleaseBundle": {
                    "type": "boolean",
                    "description": "Trigger on any release bundle\n"
                },
                "excludePatterns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Simple comma separated wildcard patterns for repository artifact paths (with no leading slash). Ant-style path expressions are supported (*, *\\*, ?). For example: `org/apache/**`. **Cannot be set if \u003cspan pulumi-lang-nodejs=\"`anyReleaseBundle`\" pulumi-lang-dotnet=\"`AnyReleaseBundle`\" pulumi-lang-go=\"`anyReleaseBundle`\" pulumi-lang-python=\"`any_release_bundle`\" pulumi-lang-yaml=\"`anyReleaseBundle`\" pulumi-lang-java=\"`anyReleaseBundle`\" pulumi-lang-hcl=\"`any_release_bundle`\"\u003e`anyReleaseBundle`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.**\n"
                },
                "includePatterns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Simple comma separated wildcard patterns for repository artifact paths (with no leading slash). Ant-style path expressions are supported (*, *\\*, ?). For example: `org/apache/**`. **Cannot be set if \u003cspan pulumi-lang-nodejs=\"`anyReleaseBundle`\" pulumi-lang-dotnet=\"`AnyReleaseBundle`\" pulumi-lang-go=\"`anyReleaseBundle`\" pulumi-lang-python=\"`any_release_bundle`\" pulumi-lang-yaml=\"`anyReleaseBundle`\" pulumi-lang-java=\"`anyReleaseBundle`\" pulumi-lang-hcl=\"`any_release_bundle`\"\u003e`anyReleaseBundle`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.** Either this or \u003cspan pulumi-lang-nodejs=\"`registeredReleaseBundleNames`\" pulumi-lang-dotnet=\"`RegisteredReleaseBundleNames`\" pulumi-lang-go=\"`registeredReleaseBundleNames`\" pulumi-lang-python=\"`registered_release_bundle_names`\" pulumi-lang-yaml=\"`registeredReleaseBundleNames`\" pulumi-lang-java=\"`registeredReleaseBundleNames`\" pulumi-lang-hcl=\"`registered_release_bundle_names`\"\u003e`registeredReleaseBundleNames`\u003c/span\u003e must be set when \u003cspan pulumi-lang-nodejs=\"`anyReleaseBundle`\" pulumi-lang-dotnet=\"`AnyReleaseBundle`\" pulumi-lang-go=\"`anyReleaseBundle`\" pulumi-lang-python=\"`any_release_bundle`\" pulumi-lang-yaml=\"`anyReleaseBundle`\" pulumi-lang-java=\"`anyReleaseBundle`\" pulumi-lang-hcl=\"`any_release_bundle`\"\u003e`anyReleaseBundle`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                },
                "registeredReleaseBundleNames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Trigger on this list of release bundle names\n"
                }
            },
            "type": "object",
            "required": [
                "anyReleaseBundle"
            ]
        },
        "artifactory:index/ArtifactoryReleaseBundleCustomWebhookHandler:ArtifactoryReleaseBundleCustomWebhookHandler": {
            "properties": {
                "httpHeaders": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "HTTP headers you wish to use to invoke the Webhook, comprise key/value pair.\n"
                },
                "method": {
                    "type": "string",
                    "description": "Specifies the HTTP method for the URL that the Webhook invokes. Allowed values are: `GET`, `POST`, `PUT`, `PATCH`, `DELETE`.\n"
                },
                "payload": {
                    "type": "string",
                    "description": "This attribute is used to build the request body. Used in custom webhooks\n"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory UI (Administration \u003e Proxies \u003e Configuration).\n"
                },
                "secrets": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Defines a set of sensitive values (such as, tokens and passwords) that can be injected in the headers and/or payload.Secrets’ values are encrypted. In the header/payload, the value can be invoked using the `{{.secrets.token}}` format, where token is the name provided for the secret value. Comprise key/value pair. **Note:** if multiple handlers are used, same secret name and different secret value for the same url won't work. Example:\n\n",
                    "secret": true
                },
                "url": {
                    "type": "string",
                    "description": "Specifies the URL that the Webhook invokes. This will be the URL that Artifactory will send an HTTP POST request to.\n"
                }
            },
            "type": "object",
            "required": [
                "url"
            ]
        },
        "artifactory:index/ArtifactoryReleaseBundleWebhookCriteria:ArtifactoryReleaseBundleWebhookCriteria": {
            "properties": {
                "anyReleaseBundle": {
                    "type": "boolean",
                    "description": "Trigger on any release bundle\n"
                },
                "excludePatterns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Simple comma separated wildcard patterns for repository artifact paths (with no leading slash). Ant-style path expressions are supported (*, *\\*, ?). For example: `org/apache/**`. **Cannot be set if \u003cspan pulumi-lang-nodejs=\"`anyReleaseBundle`\" pulumi-lang-dotnet=\"`AnyReleaseBundle`\" pulumi-lang-go=\"`anyReleaseBundle`\" pulumi-lang-python=\"`any_release_bundle`\" pulumi-lang-yaml=\"`anyReleaseBundle`\" pulumi-lang-java=\"`anyReleaseBundle`\" pulumi-lang-hcl=\"`any_release_bundle`\"\u003e`anyReleaseBundle`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.**\n"
                },
                "includePatterns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Simple comma separated wildcard patterns for repository artifact paths (with no leading slash). Ant-style path expressions are supported (*, *\\*, ?). For example: `org/apache/**`. **Cannot be set if \u003cspan pulumi-lang-nodejs=\"`anyReleaseBundle`\" pulumi-lang-dotnet=\"`AnyReleaseBundle`\" pulumi-lang-go=\"`anyReleaseBundle`\" pulumi-lang-python=\"`any_release_bundle`\" pulumi-lang-yaml=\"`anyReleaseBundle`\" pulumi-lang-java=\"`anyReleaseBundle`\" pulumi-lang-hcl=\"`any_release_bundle`\"\u003e`anyReleaseBundle`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.** Either this or \u003cspan pulumi-lang-nodejs=\"`registeredReleaseBundleNames`\" pulumi-lang-dotnet=\"`RegisteredReleaseBundleNames`\" pulumi-lang-go=\"`registeredReleaseBundleNames`\" pulumi-lang-python=\"`registered_release_bundle_names`\" pulumi-lang-yaml=\"`registeredReleaseBundleNames`\" pulumi-lang-java=\"`registeredReleaseBundleNames`\" pulumi-lang-hcl=\"`registered_release_bundle_names`\"\u003e`registeredReleaseBundleNames`\u003c/span\u003e must be set when \u003cspan pulumi-lang-nodejs=\"`anyReleaseBundle`\" pulumi-lang-dotnet=\"`AnyReleaseBundle`\" pulumi-lang-go=\"`anyReleaseBundle`\" pulumi-lang-python=\"`any_release_bundle`\" pulumi-lang-yaml=\"`anyReleaseBundle`\" pulumi-lang-java=\"`anyReleaseBundle`\" pulumi-lang-hcl=\"`any_release_bundle`\"\u003e`anyReleaseBundle`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                },
                "registeredReleaseBundleNames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Trigger on this list of release bundle names. Either this or \u003cspan pulumi-lang-nodejs=\"`includePatterns`\" pulumi-lang-dotnet=\"`IncludePatterns`\" pulumi-lang-go=\"`includePatterns`\" pulumi-lang-python=\"`include_patterns`\" pulumi-lang-yaml=\"`includePatterns`\" pulumi-lang-java=\"`includePatterns`\" pulumi-lang-hcl=\"`include_patterns`\"\u003e`includePatterns`\u003c/span\u003e must be set when \u003cspan pulumi-lang-nodejs=\"`anyReleaseBundle`\" pulumi-lang-dotnet=\"`AnyReleaseBundle`\" pulumi-lang-go=\"`anyReleaseBundle`\" pulumi-lang-python=\"`any_release_bundle`\" pulumi-lang-yaml=\"`anyReleaseBundle`\" pulumi-lang-java=\"`anyReleaseBundle`\" pulumi-lang-hcl=\"`any_release_bundle`\"\u003e`anyReleaseBundle`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                }
            },
            "type": "object",
            "required": [
                "anyReleaseBundle"
            ]
        },
        "artifactory:index/ArtifactoryReleaseBundleWebhookHandler:ArtifactoryReleaseBundleWebhookHandler": {
            "properties": {
                "customHttpHeaders": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Custom HTTP headers you wish to use to invoke the Webhook, comprise of key/value pair.\n"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory UI (Administration \u003e Proxies \u003e Configuration).\n"
                },
                "secret": {
                    "type": "string",
                    "description": "Secret authentication token that will be sent to the configured URL. The value will be sent as `x-jfrog-event-auth` header.\n",
                    "secret": true
                },
                "url": {
                    "type": "string",
                    "description": "Specifies the URL that the Webhook invokes. This will be the URL that Artifactory will send an HTTP POST request to.\n"
                },
                "useSecretForSigning": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the secret will be used to sign the event payload, allowing the target to validate that the payload content has not been changed and will not be passed as part of the event. If left unset or set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e, the secret is passed through the `X-JFrog-Event-Auth` HTTP header.\n"
                }
            },
            "type": "object",
            "required": [
                "url"
            ]
        },
        "artifactory:index/BuildCustomWebhookCriteria:BuildCustomWebhookCriteria": {
            "properties": {
                "anyBuild": {
                    "type": "boolean",
                    "description": "Trigger on any build.\n"
                },
                "excludePatterns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Simple comma separated wildcard patterns for repository artifact paths (with no leading slash). Ant-style path expressions are supported (*, *\\*, ?). For example: `org/apache/**`. **Cannot be set if \u003cspan pulumi-lang-nodejs=\"`anyBuild`\" pulumi-lang-dotnet=\"`AnyBuild`\" pulumi-lang-go=\"`anyBuild`\" pulumi-lang-python=\"`any_build`\" pulumi-lang-yaml=\"`anyBuild`\" pulumi-lang-java=\"`anyBuild`\" pulumi-lang-hcl=\"`any_build`\"\u003e`anyBuild`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.**\n"
                },
                "includePatterns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Simple comma separated wildcard patterns for repository artifact paths (with no leading slash). Ant-style path expressions are supported (*, *\\*, ?). For example: `org/apache/**`. **Cannot be set if \u003cspan pulumi-lang-nodejs=\"`anyBuild`\" pulumi-lang-dotnet=\"`AnyBuild`\" pulumi-lang-go=\"`anyBuild`\" pulumi-lang-python=\"`any_build`\" pulumi-lang-yaml=\"`anyBuild`\" pulumi-lang-java=\"`anyBuild`\" pulumi-lang-hcl=\"`any_build`\"\u003e`anyBuild`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.**\n"
                },
                "selectedBuilds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Trigger on this list of build names.\n"
                }
            },
            "type": "object",
            "required": [
                "anyBuild"
            ]
        },
        "artifactory:index/BuildCustomWebhookHandler:BuildCustomWebhookHandler": {
            "properties": {
                "httpHeaders": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "HTTP headers you wish to use to invoke the Webhook, comprise key/value pair.\n"
                },
                "method": {
                    "type": "string",
                    "description": "Specifies the HTTP method for the URL that the Webhook invokes. Allowed values are: `GET`, `POST`, `PUT`, `PATCH`, `DELETE`.\n"
                },
                "payload": {
                    "type": "string",
                    "description": "This attribute is used to build the request body. Used in custom webhooks\n"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory UI (Administration \u003e Proxies \u003e Configuration).\n"
                },
                "secrets": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Defines a set of sensitive values (such as, tokens and passwords) that can be injected in the headers and/or payload.Secrets’ values are encrypted. In the header/payload, the value can be invoked using the `{{.secrets.token}}` format, where token is the name provided for the secret value. Comprise key/value pair. **Note:** if multiple handlers are used, same secret name and different secret value for the same url won't work. Example:\n\n",
                    "secret": true
                },
                "url": {
                    "type": "string",
                    "description": "Specifies the URL that the Webhook invokes. This will be the URL that Artifactory will send an HTTP POST request to.\n"
                }
            },
            "type": "object",
            "required": [
                "url"
            ]
        },
        "artifactory:index/BuildWebhookCriteria:BuildWebhookCriteria": {
            "properties": {
                "anyBuild": {
                    "type": "boolean",
                    "description": "Trigger on any build.\n"
                },
                "excludePatterns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Simple comma separated wildcard patterns for repository artifact paths (with no leading slash). Ant-style path expressions are supported (*, *\\*, ?). For example: `org/apache/**`. **Cannot be set if \u003cspan pulumi-lang-nodejs=\"`anyBuild`\" pulumi-lang-dotnet=\"`AnyBuild`\" pulumi-lang-go=\"`anyBuild`\" pulumi-lang-python=\"`any_build`\" pulumi-lang-yaml=\"`anyBuild`\" pulumi-lang-java=\"`anyBuild`\" pulumi-lang-hcl=\"`any_build`\"\u003e`anyBuild`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.**\n"
                },
                "includePatterns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Simple comma separated wildcard patterns for repository artifact paths (with no leading slash). Ant-style path expressions are supported (*, *\\*, ?). For example: `org/apache/**`. **Cannot be set if \u003cspan pulumi-lang-nodejs=\"`anyBuild`\" pulumi-lang-dotnet=\"`AnyBuild`\" pulumi-lang-go=\"`anyBuild`\" pulumi-lang-python=\"`any_build`\" pulumi-lang-yaml=\"`anyBuild`\" pulumi-lang-java=\"`anyBuild`\" pulumi-lang-hcl=\"`any_build`\"\u003e`anyBuild`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.**\n"
                },
                "selectedBuilds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Trigger on this list of build names.\n"
                }
            },
            "type": "object",
            "required": [
                "anyBuild"
            ]
        },
        "artifactory:index/BuildWebhookHandler:BuildWebhookHandler": {
            "properties": {
                "customHttpHeaders": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Custom HTTP headers you wish to use to invoke the Webhook, comprise of key/value pair.\n"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory UI (Administration \u003e Proxies \u003e Configuration).\n"
                },
                "secret": {
                    "type": "string",
                    "description": "Secret authentication token that will be sent to the configured URL. The value will be sent as `x-jfrog-event-auth` header.\n",
                    "secret": true
                },
                "url": {
                    "type": "string",
                    "description": "Specifies the URL that the Webhook invokes. This will be the URL that Artifactory will send an HTTP POST request to.\n"
                },
                "useSecretForSigning": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the secret will be used to sign the event payload, allowing the target to validate that the payload content has not been changed and will not be passed as part of the event. If left unset or set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e, the secret is passed through the `X-JFrog-Event-Auth` HTTP header.\n"
                }
            },
            "type": "object",
            "required": [
                "url"
            ]
        },
        "artifactory:index/DestinationCustomWebhookCriteria:DestinationCustomWebhookCriteria": {
            "properties": {
                "anyReleaseBundle": {
                    "type": "boolean",
                    "description": "Trigger on any release bundle\n"
                },
                "excludePatterns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Simple comma separated wildcard patterns for repository artifact paths (with no leading slash). Ant-style path expressions are supported (*, *\\*, ?). For example: `org/apache/**`\n"
                },
                "includePatterns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Simple comma separated wildcard patterns for repository artifact paths (with no leading slash). Ant-style path expressions are supported (*, *\\*, ?). For example: `org/apache/**`\n"
                },
                "registeredReleaseBundleNames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Trigger on this list of release bundle names\n"
                }
            },
            "type": "object",
            "required": [
                "anyReleaseBundle"
            ]
        },
        "artifactory:index/DestinationCustomWebhookHandler:DestinationCustomWebhookHandler": {
            "properties": {
                "httpHeaders": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "HTTP headers you wish to use to invoke the Webhook, comprise key/value pair.\n"
                },
                "method": {
                    "type": "string",
                    "description": "Specifies the HTTP method for the URL that the Webhook invokes. Allowed values are: `GET`, `POST`, `PUT`, `PATCH`, `DELETE`.\n"
                },
                "payload": {
                    "type": "string",
                    "description": "This attribute is used to build the request body. Used in custom webhooks\n"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory UI (Administration \u003e Proxies \u003e Configuration).\n"
                },
                "secrets": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Defines a set of sensitive values (such as, tokens and passwords) that can be injected in the headers and/or payload.Secrets’ values are encrypted. In the header/payload, the value can be invoked using the `{{.secrets.token}}` format, where token is the name provided for the secret value. Comprise key/value pair. **Note:** if multiple handlers are used, same secret name and different secret value for the same url won't work. Example:\n\n",
                    "secret": true
                },
                "url": {
                    "type": "string",
                    "description": "Specifies the URL that the Webhook invokes. This will be the URL that Artifactory will send an HTTP POST request to.\n"
                }
            },
            "type": "object",
            "required": [
                "url"
            ]
        },
        "artifactory:index/DestinationWebhookCriteria:DestinationWebhookCriteria": {
            "properties": {
                "anyReleaseBundle": {
                    "type": "boolean",
                    "description": "Trigger on any release bundle\n"
                },
                "excludePatterns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Simple comma separated wildcard patterns for repository artifact paths (with no leading slash). Ant-style path expressions are supported (*, *\\*, ?). For example: `org/apache/**`\n"
                },
                "includePatterns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Simple comma separated wildcard patterns for repository artifact paths (with no leading slash). Ant-style path expressions are supported (*, *\\*, ?). For example: `org/apache/**`\n"
                },
                "registeredReleaseBundleNames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Trigger on this list of release bundle names\n"
                }
            },
            "type": "object",
            "required": [
                "anyReleaseBundle"
            ]
        },
        "artifactory:index/DestinationWebhookHandler:DestinationWebhookHandler": {
            "properties": {
                "customHttpHeaders": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Custom HTTP headers you wish to use to invoke the Webhook, comprise of key/value pair.\n"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory UI (Administration \u003e Proxies \u003e Configuration).\n"
                },
                "secret": {
                    "type": "string",
                    "description": "Secret authentication token that will be sent to the configured URL. The value will be sent as `x-jfrog-event-auth` header.\n",
                    "secret": true
                },
                "url": {
                    "type": "string",
                    "description": "Specifies the URL that the Webhook invokes. This will be the URL that Artifactory will send an HTTP POST request to.\n"
                },
                "useSecretForSigning": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the secret will be used to sign the event payload, allowing the target to validate that the payload content has not been changed and will not be passed as part of the event. If left unset or set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e, the secret is passed through the `X-JFrog-Event-Auth` HTTP header.\n"
                }
            },
            "type": "object",
            "required": [
                "url"
            ]
        },
        "artifactory:index/DistributionCustomWebhookCriteria:DistributionCustomWebhookCriteria": {
            "properties": {
                "anyReleaseBundle": {
                    "type": "boolean",
                    "description": "Trigger on any release bundle.\n"
                },
                "excludePatterns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Simple comma separated wildcard patterns for repository artifact paths (with no leading slash). Ant-style path expressions are supported (*, *\\*, ?). For example: `org/apache/**`.\n"
                },
                "includePatterns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Simple comma separated wildcard patterns for repository artifact paths (with no leading slash). Ant-style path expressions are supported (*, *\\*, ?). For example: `org/apache/**`.\n"
                },
                "registeredReleaseBundleNames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Trigger on this list of release bundle names.\n"
                }
            },
            "type": "object",
            "required": [
                "anyReleaseBundle"
            ]
        },
        "artifactory:index/DistributionCustomWebhookHandler:DistributionCustomWebhookHandler": {
            "properties": {
                "httpHeaders": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "HTTP headers you wish to use to invoke the Webhook, comprise key/value pair.\n"
                },
                "method": {
                    "type": "string",
                    "description": "Specifies the HTTP method for the URL that the Webhook invokes. Allowed values are: `GET`, `POST`, `PUT`, `PATCH`, `DELETE`.\n"
                },
                "payload": {
                    "type": "string",
                    "description": "This attribute is used to build the request body. Used in custom webhooks\n"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory UI (Administration \u003e Proxies \u003e Configuration).\n"
                },
                "secrets": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Defines a set of sensitive values (such as, tokens and passwords) that can be injected in the headers and/or payload.Secrets’ values are encrypted. In the header/payload, the value can be invoked using the `{{.secrets.token}}` format, where token is the name provided for the secret value. Comprise key/value pair. **Note:** if multiple handlers are used, same secret name and different secret value for the same url won't work. Example:\n\n",
                    "secret": true
                },
                "url": {
                    "type": "string",
                    "description": "Specifies the URL that the Webhook invokes. This will be the URL that Artifactory will send an HTTP POST request to.\n"
                }
            },
            "type": "object",
            "required": [
                "url"
            ]
        },
        "artifactory:index/DistributionWebhookCriteria:DistributionWebhookCriteria": {
            "properties": {
                "anyReleaseBundle": {
                    "type": "boolean",
                    "description": "Trigger on any release bundle.\n"
                },
                "excludePatterns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Simple comma separated wildcard patterns for repository artifact paths (with no leading slash). Ant-style path expressions are supported (*, *\\*, ?). For example: `org/apache/**`.\n"
                },
                "includePatterns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Simple comma separated wildcard patterns for repository artifact paths (with no leading slash). Ant-style path expressions are supported (*, *\\*, ?). For example: `org/apache/**`.\n"
                },
                "registeredReleaseBundleNames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Trigger on this list of release bundle names.\n"
                }
            },
            "type": "object",
            "required": [
                "anyReleaseBundle"
            ]
        },
        "artifactory:index/DistributionWebhookHandler:DistributionWebhookHandler": {
            "properties": {
                "customHttpHeaders": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Custom HTTP headers you wish to use to invoke the Webhook, comprise of key/value pair.\n"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory UI (Administration \u003e Proxies \u003e Configuration).\n"
                },
                "secret": {
                    "type": "string",
                    "description": "Secret authentication token that will be sent to the configured URL. The value will be sent as `x-jfrog-event-auth` header.\n",
                    "secret": true
                },
                "url": {
                    "type": "string",
                    "description": "Specifies the URL that the Webhook invokes. This will be the URL that Artifactory will send an HTTP POST request to.\n"
                },
                "useSecretForSigning": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the secret will be used to sign the event payload, allowing the target to validate that the payload content has not been changed and will not be passed as part of the event. If left unset or set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e, the secret is passed through the `X-JFrog-Event-Auth` HTTP header.\n"
                }
            },
            "type": "object",
            "required": [
                "url"
            ]
        },
        "artifactory:index/DockerCustomWebhookCriteria:DockerCustomWebhookCriteria": {
            "properties": {
                "anyFederated": {
                    "type": "boolean",
                    "description": "Trigger on any federated repositories\n"
                },
                "anyLocal": {
                    "type": "boolean",
                    "description": "Trigger on any local repo.\n"
                },
                "anyRemote": {
                    "type": "boolean",
                    "description": "Trigger on any remote repo.\n"
                },
                "excludePatterns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Simple comma separated wildcard patterns for repository artifact paths (with no leading slash). Ant-style path expressions are supported (*, *\\*, ?). For example: `org/apache/**`.\n"
                },
                "includePatterns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Simple comma separated wildcard patterns for repository artifact paths (with no leading slash). Ant-style path expressions are supported (*, *\\*, ?). For example: `org/apache/**`.\n"
                },
                "repoKeys": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Trigger on this list of repo keys.\n"
                }
            },
            "type": "object",
            "required": [
                "anyFederated",
                "anyLocal",
                "anyRemote",
                "repoKeys"
            ]
        },
        "artifactory:index/DockerCustomWebhookHandler:DockerCustomWebhookHandler": {
            "properties": {
                "httpHeaders": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "HTTP headers you wish to use to invoke the Webhook, comprise key/value pair.\n"
                },
                "method": {
                    "type": "string",
                    "description": "Specifies the HTTP method for the URL that the Webhook invokes. Allowed values are: `GET`, `POST`, `PUT`, `PATCH`, `DELETE`.\n"
                },
                "payload": {
                    "type": "string",
                    "description": "This attribute is used to build the request body. Used in custom webhooks\n"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory UI (Administration \u003e Proxies \u003e Configuration).\n"
                },
                "secrets": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Defines a set of sensitive values (such as, tokens and passwords) that can be injected in the headers and/or payload.Secrets’ values are encrypted. In the header/payload, the value can be invoked using the `{{.secrets.token}}` format, where token is the name provided for the secret value. Comprise key/value pair. **Note:** if multiple handlers are used, same secret name and different secret value for the same url won't work. Example:\n\n",
                    "secret": true
                },
                "url": {
                    "type": "string",
                    "description": "Specifies the URL that the Webhook invokes. This will be the URL that Artifactory will send an HTTP POST request to.\n"
                }
            },
            "type": "object",
            "required": [
                "url"
            ]
        },
        "artifactory:index/DockerWebhookCriteria:DockerWebhookCriteria": {
            "properties": {
                "anyFederated": {
                    "type": "boolean",
                    "description": "Trigger on any federated repo.\n"
                },
                "anyLocal": {
                    "type": "boolean",
                    "description": "Trigger on any local repo.\n"
                },
                "anyRemote": {
                    "type": "boolean",
                    "description": "Trigger on any remote repo.\n"
                },
                "excludePatterns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Simple comma separated wildcard patterns for repository artifact paths (with no leading slash). Ant-style path expressions are supported (*, *\\*, ?). For example: `org/apache/**`.\n"
                },
                "includePatterns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Simple comma separated wildcard patterns for repository artifact paths (with no leading slash). Ant-style path expressions are supported (*, *\\*, ?). For example: `org/apache/**`.\n"
                },
                "repoKeys": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Trigger on this list of repo keys.\n"
                }
            },
            "type": "object",
            "required": [
                "anyFederated",
                "anyLocal",
                "anyRemote",
                "repoKeys"
            ]
        },
        "artifactory:index/DockerWebhookHandler:DockerWebhookHandler": {
            "properties": {
                "customHttpHeaders": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Custom HTTP headers you wish to use to invoke the Webhook, comprise of key/value pair.\n"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory UI (Administration \u003e Proxies \u003e Configuration).\n"
                },
                "secret": {
                    "type": "string",
                    "description": "Secret authentication token that will be sent to the configured URL. The value will be sent as `x-jfrog-event-auth` header.\n",
                    "secret": true
                },
                "url": {
                    "type": "string",
                    "description": "Specifies the URL that the Webhook invokes. This will be the URL that Artifactory will send an HTTP POST request to.\n"
                },
                "useSecretForSigning": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the secret will be used to sign the event payload, allowing the target to validate that the payload content has not been changed and will not be passed as part of the event. If left unset or set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e, the secret is passed through the `X-JFrog-Event-Auth` HTTP header.\n"
                }
            },
            "type": "object",
            "required": [
                "url"
            ]
        },
        "artifactory:index/FederatedAlpineRepositoryMember:FederatedAlpineRepositoryMember": {
            "properties": {
                "accessToken": {
                    "type": "string",
                    "description": "Admin access token for this member Artifactory instance. Used in conjunction with \u003cspan pulumi-lang-nodejs=\"`cleanupOnDelete`\" pulumi-lang-dotnet=\"`CleanupOnDelete`\" pulumi-lang-go=\"`cleanupOnDelete`\" pulumi-lang-python=\"`cleanup_on_delete`\" pulumi-lang-yaml=\"`cleanupOnDelete`\" pulumi-lang-java=\"`cleanupOnDelete`\" pulumi-lang-hcl=\"`cleanup_on_delete`\"\u003e`cleanupOnDelete`\u003c/span\u003e attribute when Access Federation for access tokens is not enabled.\n",
                    "secret": true
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Represents the active state of the federated member. It is supported to change the enabled\nstatus of my own member. The config will be updated on the other federated members automatically.\n"
                },
                "url": {
                    "type": "string",
                    "description": "Full URL to ending with the repository name.\n"
                }
            },
            "type": "object",
            "required": [
                "enabled",
                "url"
            ]
        },
        "artifactory:index/FederatedAnsibleRepositoryMember:FederatedAnsibleRepositoryMember": {
            "properties": {
                "accessToken": {
                    "type": "string",
                    "description": "Admin access token for this member Artifactory instance. Used in conjunction with \u003cspan pulumi-lang-nodejs=\"`cleanupOnDelete`\" pulumi-lang-dotnet=\"`CleanupOnDelete`\" pulumi-lang-go=\"`cleanupOnDelete`\" pulumi-lang-python=\"`cleanup_on_delete`\" pulumi-lang-yaml=\"`cleanupOnDelete`\" pulumi-lang-java=\"`cleanupOnDelete`\" pulumi-lang-hcl=\"`cleanup_on_delete`\"\u003e`cleanupOnDelete`\u003c/span\u003e attribute when Access Federation for access tokens is not enabled.\n",
                    "secret": true
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Represents the active state of the federated member. It is supported to change the enabled\nstatus of my own member. The config will be updated on the other federated members automatically.\n"
                },
                "url": {
                    "type": "string",
                    "description": "Full URL to ending with the repository name.\n"
                }
            },
            "type": "object",
            "required": [
                "enabled",
                "url"
            ]
        },
        "artifactory:index/FederatedBowerRepositoryMember:FederatedBowerRepositoryMember": {
            "properties": {
                "accessToken": {
                    "type": "string",
                    "description": "Admin access token for this member Artifactory instance. Used in conjunction with \u003cspan pulumi-lang-nodejs=\"`cleanupOnDelete`\" pulumi-lang-dotnet=\"`CleanupOnDelete`\" pulumi-lang-go=\"`cleanupOnDelete`\" pulumi-lang-python=\"`cleanup_on_delete`\" pulumi-lang-yaml=\"`cleanupOnDelete`\" pulumi-lang-java=\"`cleanupOnDelete`\" pulumi-lang-hcl=\"`cleanup_on_delete`\"\u003e`cleanupOnDelete`\u003c/span\u003e attribute when Access Federation for access tokens is not enabled.\n",
                    "secret": true
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Represents the active state of the federated member. It is supported to change the enabled\nstatus of my own member. The config will be updated on the other federated members automatically.\n"
                },
                "url": {
                    "type": "string",
                    "description": "Full URL to ending with the repository name.\n"
                }
            },
            "type": "object",
            "required": [
                "enabled",
                "url"
            ]
        },
        "artifactory:index/FederatedCargoRepositoryMember:FederatedCargoRepositoryMember": {
            "properties": {
                "accessToken": {
                    "type": "string",
                    "description": "Admin access token for this member Artifactory instance. Used in conjunction with \u003cspan pulumi-lang-nodejs=\"`cleanupOnDelete`\" pulumi-lang-dotnet=\"`CleanupOnDelete`\" pulumi-lang-go=\"`cleanupOnDelete`\" pulumi-lang-python=\"`cleanup_on_delete`\" pulumi-lang-yaml=\"`cleanupOnDelete`\" pulumi-lang-java=\"`cleanupOnDelete`\" pulumi-lang-hcl=\"`cleanup_on_delete`\"\u003e`cleanupOnDelete`\u003c/span\u003e attribute when Access Federation for access tokens is not enabled.\n",
                    "secret": true
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Represents the active state of the federated member. It is supported to change the enabled\nstatus of my own member. The config will be updated on the other federated members automatically.\n"
                },
                "url": {
                    "type": "string",
                    "description": "Full URL to ending with the repository name.\n"
                }
            },
            "type": "object",
            "required": [
                "enabled",
                "url"
            ]
        },
        "artifactory:index/FederatedChefRepositoryMember:FederatedChefRepositoryMember": {
            "properties": {
                "accessToken": {
                    "type": "string",
                    "description": "Admin access token for this member Artifactory instance. Used in conjunction with \u003cspan pulumi-lang-nodejs=\"`cleanupOnDelete`\" pulumi-lang-dotnet=\"`CleanupOnDelete`\" pulumi-lang-go=\"`cleanupOnDelete`\" pulumi-lang-python=\"`cleanup_on_delete`\" pulumi-lang-yaml=\"`cleanupOnDelete`\" pulumi-lang-java=\"`cleanupOnDelete`\" pulumi-lang-hcl=\"`cleanup_on_delete`\"\u003e`cleanupOnDelete`\u003c/span\u003e attribute when Access Federation for access tokens is not enabled.\n",
                    "secret": true
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Represents the active state of the federated member. It is supported to change the enabled\nstatus of my own member. The config will be updated on the other federated members automatically.\n"
                },
                "url": {
                    "type": "string",
                    "description": "Full URL to ending with the repository name.\n"
                }
            },
            "type": "object",
            "required": [
                "enabled",
                "url"
            ]
        },
        "artifactory:index/FederatedCocoapodsRepositoryMember:FederatedCocoapodsRepositoryMember": {
            "properties": {
                "accessToken": {
                    "type": "string",
                    "description": "Admin access token for this member Artifactory instance. Used in conjunction with \u003cspan pulumi-lang-nodejs=\"`cleanupOnDelete`\" pulumi-lang-dotnet=\"`CleanupOnDelete`\" pulumi-lang-go=\"`cleanupOnDelete`\" pulumi-lang-python=\"`cleanup_on_delete`\" pulumi-lang-yaml=\"`cleanupOnDelete`\" pulumi-lang-java=\"`cleanupOnDelete`\" pulumi-lang-hcl=\"`cleanup_on_delete`\"\u003e`cleanupOnDelete`\u003c/span\u003e attribute when Access Federation for access tokens is not enabled.\n",
                    "secret": true
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Represents the active state of the federated member. It is supported to change the enabled\nstatus of my own member. The config will be updated on the other federated members automatically.\n"
                },
                "url": {
                    "type": "string",
                    "description": "Full URL to ending with the repository name.\n"
                }
            },
            "type": "object",
            "required": [
                "enabled",
                "url"
            ]
        },
        "artifactory:index/FederatedComposerRepositoryMember:FederatedComposerRepositoryMember": {
            "properties": {
                "accessToken": {
                    "type": "string",
                    "description": "Admin access token for this member Artifactory instance. Used in conjunction with \u003cspan pulumi-lang-nodejs=\"`cleanupOnDelete`\" pulumi-lang-dotnet=\"`CleanupOnDelete`\" pulumi-lang-go=\"`cleanupOnDelete`\" pulumi-lang-python=\"`cleanup_on_delete`\" pulumi-lang-yaml=\"`cleanupOnDelete`\" pulumi-lang-java=\"`cleanupOnDelete`\" pulumi-lang-hcl=\"`cleanup_on_delete`\"\u003e`cleanupOnDelete`\u003c/span\u003e attribute when Access Federation for access tokens is not enabled.\n",
                    "secret": true
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Represents the active state of the federated member. It is supported to change the enabled\nstatus of my own member. The config will be updated on the other federated members automatically.\n"
                },
                "url": {
                    "type": "string",
                    "description": "Full URL to ending with the repository name.\n"
                }
            },
            "type": "object",
            "required": [
                "enabled",
                "url"
            ]
        },
        "artifactory:index/FederatedConanRepositoryMember:FederatedConanRepositoryMember": {
            "properties": {
                "accessToken": {
                    "type": "string",
                    "description": "Admin access token for this member Artifactory instance. Used in conjunction with \u003cspan pulumi-lang-nodejs=\"`cleanupOnDelete`\" pulumi-lang-dotnet=\"`CleanupOnDelete`\" pulumi-lang-go=\"`cleanupOnDelete`\" pulumi-lang-python=\"`cleanup_on_delete`\" pulumi-lang-yaml=\"`cleanupOnDelete`\" pulumi-lang-java=\"`cleanupOnDelete`\" pulumi-lang-hcl=\"`cleanup_on_delete`\"\u003e`cleanupOnDelete`\u003c/span\u003e attribute when Access Federation for access tokens is not enabled.\n",
                    "secret": true
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Represents the active state of the federated member. It is supported to change the enabled\nstatus of my own member. The config will be updated on the other federated members automatically.\n"
                },
                "url": {
                    "type": "string",
                    "description": "Full URL to ending with the repository name.\n"
                }
            },
            "type": "object",
            "required": [
                "enabled",
                "url"
            ]
        },
        "artifactory:index/FederatedCondaRepositoryMember:FederatedCondaRepositoryMember": {
            "properties": {
                "accessToken": {
                    "type": "string",
                    "description": "Admin access token for this member Artifactory instance. Used in conjunction with \u003cspan pulumi-lang-nodejs=\"`cleanupOnDelete`\" pulumi-lang-dotnet=\"`CleanupOnDelete`\" pulumi-lang-go=\"`cleanupOnDelete`\" pulumi-lang-python=\"`cleanup_on_delete`\" pulumi-lang-yaml=\"`cleanupOnDelete`\" pulumi-lang-java=\"`cleanupOnDelete`\" pulumi-lang-hcl=\"`cleanup_on_delete`\"\u003e`cleanupOnDelete`\u003c/span\u003e attribute when Access Federation for access tokens is not enabled.\n",
                    "secret": true
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Represents the active state of the federated member. It is supported to change the enabled\nstatus of my own member. The config will be updated on the other federated members automatically.\n"
                },
                "url": {
                    "type": "string",
                    "description": "Full URL to ending with the repository name.\n"
                }
            },
            "type": "object",
            "required": [
                "enabled",
                "url"
            ]
        },
        "artifactory:index/FederatedCranRepositoryMember:FederatedCranRepositoryMember": {
            "properties": {
                "accessToken": {
                    "type": "string",
                    "description": "Admin access token for this member Artifactory instance. Used in conjunction with \u003cspan pulumi-lang-nodejs=\"`cleanupOnDelete`\" pulumi-lang-dotnet=\"`CleanupOnDelete`\" pulumi-lang-go=\"`cleanupOnDelete`\" pulumi-lang-python=\"`cleanup_on_delete`\" pulumi-lang-yaml=\"`cleanupOnDelete`\" pulumi-lang-java=\"`cleanupOnDelete`\" pulumi-lang-hcl=\"`cleanup_on_delete`\"\u003e`cleanupOnDelete`\u003c/span\u003e attribute when Access Federation for access tokens is not enabled.\n",
                    "secret": true
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Represents the active state of the federated member. It is supported to change the enabled\nstatus of my own member. The config will be updated on the other federated members automatically.\n"
                },
                "url": {
                    "type": "string",
                    "description": "Full URL to ending with the repository name.\n"
                }
            },
            "type": "object",
            "required": [
                "enabled",
                "url"
            ]
        },
        "artifactory:index/FederatedDebianRepositoryMember:FederatedDebianRepositoryMember": {
            "properties": {
                "accessToken": {
                    "type": "string",
                    "description": "Admin access token for this member Artifactory instance. Used in conjunction with \u003cspan pulumi-lang-nodejs=\"`cleanupOnDelete`\" pulumi-lang-dotnet=\"`CleanupOnDelete`\" pulumi-lang-go=\"`cleanupOnDelete`\" pulumi-lang-python=\"`cleanup_on_delete`\" pulumi-lang-yaml=\"`cleanupOnDelete`\" pulumi-lang-java=\"`cleanupOnDelete`\" pulumi-lang-hcl=\"`cleanup_on_delete`\"\u003e`cleanupOnDelete`\u003c/span\u003e attribute when Access Federation for access tokens is not enabled.\n",
                    "secret": true
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Represents the active state of the federated member. It is supported to change the enabled\nstatus of my own member. The config will be updated on the other federated members automatically.\n"
                },
                "url": {
                    "type": "string",
                    "description": "Full URL to ending with the repository name.\n"
                }
            },
            "type": "object",
            "required": [
                "enabled",
                "url"
            ]
        },
        "artifactory:index/FederatedDockerRepositoryMember:FederatedDockerRepositoryMember": {
            "properties": {
                "accessToken": {
                    "type": "string",
                    "description": "Admin access token for this member Artifactory instance. Used in conjunction with \u003cspan pulumi-lang-nodejs=\"`cleanupOnDelete`\" pulumi-lang-dotnet=\"`CleanupOnDelete`\" pulumi-lang-go=\"`cleanupOnDelete`\" pulumi-lang-python=\"`cleanup_on_delete`\" pulumi-lang-yaml=\"`cleanupOnDelete`\" pulumi-lang-java=\"`cleanupOnDelete`\" pulumi-lang-hcl=\"`cleanup_on_delete`\"\u003e`cleanupOnDelete`\u003c/span\u003e attribute when Access Federation for access tokens is not enabled.\n",
                    "secret": true
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Represents the active state of the federated member. It is supported to change the enabled\nstatus of my own member. The config will be updated on the other federated members automatically.\n"
                },
                "url": {
                    "type": "string",
                    "description": "Full URL to ending with the repository name.\n"
                }
            },
            "type": "object",
            "required": [
                "enabled",
                "url"
            ]
        },
        "artifactory:index/FederatedDockerV1RepositoryMember:FederatedDockerV1RepositoryMember": {
            "properties": {
                "accessToken": {
                    "type": "string",
                    "description": "Admin access token for this member Artifactory instance. Used in conjunction with \u003cspan pulumi-lang-nodejs=\"`cleanupOnDelete`\" pulumi-lang-dotnet=\"`CleanupOnDelete`\" pulumi-lang-go=\"`cleanupOnDelete`\" pulumi-lang-python=\"`cleanup_on_delete`\" pulumi-lang-yaml=\"`cleanupOnDelete`\" pulumi-lang-java=\"`cleanupOnDelete`\" pulumi-lang-hcl=\"`cleanup_on_delete`\"\u003e`cleanupOnDelete`\u003c/span\u003e attribute when Access Federation for access tokens is not enabled.\n",
                    "secret": true
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Represents the active state of the federated member. It is supported to change the enabled\nstatus of my own member. The config will be updated on the other federated members automatically.\n"
                },
                "url": {
                    "type": "string",
                    "description": "Full URL to ending with the repository name.\n"
                }
            },
            "type": "object",
            "required": [
                "enabled",
                "url"
            ]
        },
        "artifactory:index/FederatedDockerV2RepositoryMember:FederatedDockerV2RepositoryMember": {
            "properties": {
                "accessToken": {
                    "type": "string",
                    "description": "Admin access token for this member Artifactory instance. Used in conjunction with \u003cspan pulumi-lang-nodejs=\"`cleanupOnDelete`\" pulumi-lang-dotnet=\"`CleanupOnDelete`\" pulumi-lang-go=\"`cleanupOnDelete`\" pulumi-lang-python=\"`cleanup_on_delete`\" pulumi-lang-yaml=\"`cleanupOnDelete`\" pulumi-lang-java=\"`cleanupOnDelete`\" pulumi-lang-hcl=\"`cleanup_on_delete`\"\u003e`cleanupOnDelete`\u003c/span\u003e attribute when Access Federation for access tokens is not enabled.\n",
                    "secret": true
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Represents the active state of the federated member. It is supported to change the enabled\nstatus of my own member. The config will be updated on the other federated members automatically.\n"
                },
                "url": {
                    "type": "string",
                    "description": "Full URL to ending with the repository name.\n"
                }
            },
            "type": "object",
            "required": [
                "enabled",
                "url"
            ]
        },
        "artifactory:index/FederatedGemsRepositoryMember:FederatedGemsRepositoryMember": {
            "properties": {
                "accessToken": {
                    "type": "string",
                    "description": "Admin access token for this member Artifactory instance. Used in conjunction with \u003cspan pulumi-lang-nodejs=\"`cleanupOnDelete`\" pulumi-lang-dotnet=\"`CleanupOnDelete`\" pulumi-lang-go=\"`cleanupOnDelete`\" pulumi-lang-python=\"`cleanup_on_delete`\" pulumi-lang-yaml=\"`cleanupOnDelete`\" pulumi-lang-java=\"`cleanupOnDelete`\" pulumi-lang-hcl=\"`cleanup_on_delete`\"\u003e`cleanupOnDelete`\u003c/span\u003e attribute when Access Federation for access tokens is not enabled.\n",
                    "secret": true
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Represents the active state of the federated member. It is supported to change the enabled\nstatus of my own member. The config will be updated on the other federated members automatically.\n"
                },
                "url": {
                    "type": "string",
                    "description": "Full URL to ending with the repository name.\n"
                }
            },
            "type": "object",
            "required": [
                "enabled",
                "url"
            ]
        },
        "artifactory:index/FederatedGenericRepositoryMember:FederatedGenericRepositoryMember": {
            "properties": {
                "accessToken": {
                    "type": "string",
                    "description": "Admin access token for this member Artifactory instance. Used in conjunction with \u003cspan pulumi-lang-nodejs=\"`cleanupOnDelete`\" pulumi-lang-dotnet=\"`CleanupOnDelete`\" pulumi-lang-go=\"`cleanupOnDelete`\" pulumi-lang-python=\"`cleanup_on_delete`\" pulumi-lang-yaml=\"`cleanupOnDelete`\" pulumi-lang-java=\"`cleanupOnDelete`\" pulumi-lang-hcl=\"`cleanup_on_delete`\"\u003e`cleanupOnDelete`\u003c/span\u003e attribute when Access Federation for access tokens is not enabled.\n",
                    "secret": true
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Represents the active state of the federated member. It is supported to change the enabled\nstatus of my own member. The config will be updated on the other federated members automatically.\n"
                },
                "url": {
                    "type": "string",
                    "description": "Full URL to ending with the repository name.\n"
                }
            },
            "type": "object",
            "required": [
                "enabled",
                "url"
            ]
        },
        "artifactory:index/FederatedGitltfsRepositoryMember:FederatedGitltfsRepositoryMember": {
            "properties": {
                "accessToken": {
                    "type": "string",
                    "description": "Admin access token for this member Artifactory instance. Used in conjunction with \u003cspan pulumi-lang-nodejs=\"`cleanupOnDelete`\" pulumi-lang-dotnet=\"`CleanupOnDelete`\" pulumi-lang-go=\"`cleanupOnDelete`\" pulumi-lang-python=\"`cleanup_on_delete`\" pulumi-lang-yaml=\"`cleanupOnDelete`\" pulumi-lang-java=\"`cleanupOnDelete`\" pulumi-lang-hcl=\"`cleanup_on_delete`\"\u003e`cleanupOnDelete`\u003c/span\u003e attribute when Access Federation for access tokens is not enabled.\n",
                    "secret": true
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Represents the active state of the federated member. It is supported to change the enabled\nstatus of my own member. The config will be updated on the other federated members automatically.\n"
                },
                "url": {
                    "type": "string",
                    "description": "Full URL to ending with the repository name.\n"
                }
            },
            "type": "object",
            "required": [
                "enabled",
                "url"
            ]
        },
        "artifactory:index/FederatedGoRepositoryMember:FederatedGoRepositoryMember": {
            "properties": {
                "accessToken": {
                    "type": "string",
                    "description": "Admin access token for this member Artifactory instance. Used in conjunction with \u003cspan pulumi-lang-nodejs=\"`cleanupOnDelete`\" pulumi-lang-dotnet=\"`CleanupOnDelete`\" pulumi-lang-go=\"`cleanupOnDelete`\" pulumi-lang-python=\"`cleanup_on_delete`\" pulumi-lang-yaml=\"`cleanupOnDelete`\" pulumi-lang-java=\"`cleanupOnDelete`\" pulumi-lang-hcl=\"`cleanup_on_delete`\"\u003e`cleanupOnDelete`\u003c/span\u003e attribute when Access Federation for access tokens is not enabled.\n",
                    "secret": true
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Represents the active state of the federated member. It is supported to change the enabled\nstatus of my own member. The config will be updated on the other federated members automatically.\n"
                },
                "url": {
                    "type": "string",
                    "description": "Full URL to ending with the repository name.\n"
                }
            },
            "type": "object",
            "required": [
                "enabled",
                "url"
            ]
        },
        "artifactory:index/FederatedGradleRepositoryMember:FederatedGradleRepositoryMember": {
            "properties": {
                "accessToken": {
                    "type": "string",
                    "description": "Admin access token for this member Artifactory instance. Used in conjunction with \u003cspan pulumi-lang-nodejs=\"`cleanupOnDelete`\" pulumi-lang-dotnet=\"`CleanupOnDelete`\" pulumi-lang-go=\"`cleanupOnDelete`\" pulumi-lang-python=\"`cleanup_on_delete`\" pulumi-lang-yaml=\"`cleanupOnDelete`\" pulumi-lang-java=\"`cleanupOnDelete`\" pulumi-lang-hcl=\"`cleanup_on_delete`\"\u003e`cleanupOnDelete`\u003c/span\u003e attribute when Access Federation for access tokens is not enabled.\n",
                    "secret": true
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Represents the active state of the federated member. It is supported to change the enabled\nstatus of my own member. The config will be updated on the other federated members automatically.\n"
                },
                "url": {
                    "type": "string",
                    "description": "Full URL to ending with the repository name.\n"
                }
            },
            "type": "object",
            "required": [
                "enabled",
                "url"
            ]
        },
        "artifactory:index/FederatedHelmRepositoryMember:FederatedHelmRepositoryMember": {
            "properties": {
                "accessToken": {
                    "type": "string",
                    "description": "Admin access token for this member Artifactory instance. Used in conjunction with \u003cspan pulumi-lang-nodejs=\"`cleanupOnDelete`\" pulumi-lang-dotnet=\"`CleanupOnDelete`\" pulumi-lang-go=\"`cleanupOnDelete`\" pulumi-lang-python=\"`cleanup_on_delete`\" pulumi-lang-yaml=\"`cleanupOnDelete`\" pulumi-lang-java=\"`cleanupOnDelete`\" pulumi-lang-hcl=\"`cleanup_on_delete`\"\u003e`cleanupOnDelete`\u003c/span\u003e attribute when Access Federation for access tokens is not enabled.\n",
                    "secret": true
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Represents the active state of the federated member. It is supported to change the enabled\nstatus of my own member. The config will be updated on the other federated members automatically.\n"
                },
                "url": {
                    "type": "string",
                    "description": "Full URL to ending with the repository name.\n"
                }
            },
            "type": "object",
            "required": [
                "enabled",
                "url"
            ]
        },
        "artifactory:index/FederatedHelmociRepositoryMember:FederatedHelmociRepositoryMember": {
            "properties": {
                "accessToken": {
                    "type": "string",
                    "description": "Admin access token for this member Artifactory instance. Used in conjunction with \u003cspan pulumi-lang-nodejs=\"`cleanupOnDelete`\" pulumi-lang-dotnet=\"`CleanupOnDelete`\" pulumi-lang-go=\"`cleanupOnDelete`\" pulumi-lang-python=\"`cleanup_on_delete`\" pulumi-lang-yaml=\"`cleanupOnDelete`\" pulumi-lang-java=\"`cleanupOnDelete`\" pulumi-lang-hcl=\"`cleanup_on_delete`\"\u003e`cleanupOnDelete`\u003c/span\u003e attribute when Access Federation for access tokens is not enabled.\n",
                    "secret": true
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Represents the active state of the federated member. It is supported to change the enabled status of my own member. The config will be updated on the other federated members automatically.\n"
                },
                "url": {
                    "type": "string",
                    "description": "Full URL to ending with the repository name.\n"
                }
            },
            "type": "object",
            "required": [
                "enabled",
                "url"
            ]
        },
        "artifactory:index/FederatedHuggingfacemlRepositoryMember:FederatedHuggingfacemlRepositoryMember": {
            "properties": {
                "accessToken": {
                    "type": "string",
                    "description": "Admin access token for this member Artifactory instance. Used in conjunction with \u003cspan pulumi-lang-nodejs=\"`cleanupOnDelete`\" pulumi-lang-dotnet=\"`CleanupOnDelete`\" pulumi-lang-go=\"`cleanupOnDelete`\" pulumi-lang-python=\"`cleanup_on_delete`\" pulumi-lang-yaml=\"`cleanupOnDelete`\" pulumi-lang-java=\"`cleanupOnDelete`\" pulumi-lang-hcl=\"`cleanup_on_delete`\"\u003e`cleanupOnDelete`\u003c/span\u003e attribute when Access Federation for access tokens is not enabled.\n",
                    "secret": true
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Represents the active state of the federated member. It is supported to change the enabled status of my own member. The config will be updated on the other federated members automatically.\n"
                },
                "url": {
                    "type": "string",
                    "description": "Full URL to ending with the repository name.\n"
                }
            },
            "type": "object",
            "required": [
                "enabled",
                "url"
            ]
        },
        "artifactory:index/FederatedIvyRepositoryMember:FederatedIvyRepositoryMember": {
            "properties": {
                "accessToken": {
                    "type": "string",
                    "description": "Admin access token for this member Artifactory instance. Used in conjunction with \u003cspan pulumi-lang-nodejs=\"`cleanupOnDelete`\" pulumi-lang-dotnet=\"`CleanupOnDelete`\" pulumi-lang-go=\"`cleanupOnDelete`\" pulumi-lang-python=\"`cleanup_on_delete`\" pulumi-lang-yaml=\"`cleanupOnDelete`\" pulumi-lang-java=\"`cleanupOnDelete`\" pulumi-lang-hcl=\"`cleanup_on_delete`\"\u003e`cleanupOnDelete`\u003c/span\u003e attribute when Access Federation for access tokens is not enabled.\n",
                    "secret": true
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Represents the active state of the federated member. It is supported to change the enabled\nstatus of my own member. The config will be updated on the other federated members automatically.\n"
                },
                "url": {
                    "type": "string",
                    "description": "Full URL to ending with the repository name.\n"
                }
            },
            "type": "object",
            "required": [
                "enabled",
                "url"
            ]
        },
        "artifactory:index/FederatedMavenRepositoryMember:FederatedMavenRepositoryMember": {
            "properties": {
                "accessToken": {
                    "type": "string",
                    "description": "Admin access token for this member Artifactory instance. Used in conjunction with \u003cspan pulumi-lang-nodejs=\"`cleanupOnDelete`\" pulumi-lang-dotnet=\"`CleanupOnDelete`\" pulumi-lang-go=\"`cleanupOnDelete`\" pulumi-lang-python=\"`cleanup_on_delete`\" pulumi-lang-yaml=\"`cleanupOnDelete`\" pulumi-lang-java=\"`cleanupOnDelete`\" pulumi-lang-hcl=\"`cleanup_on_delete`\"\u003e`cleanupOnDelete`\u003c/span\u003e attribute when Access Federation for access tokens is not enabled.\n",
                    "secret": true
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Represents the active state of the federated member. It is supported to change the enabled\nstatus of my own member. The config will be updated on the other federated members automatically.\n"
                },
                "url": {
                    "type": "string",
                    "description": "Full URL to ending with the repository name.\n"
                }
            },
            "type": "object",
            "required": [
                "enabled",
                "url"
            ]
        },
        "artifactory:index/FederatedNpmRepositoryMember:FederatedNpmRepositoryMember": {
            "properties": {
                "accessToken": {
                    "type": "string",
                    "description": "Admin access token for this member Artifactory instance. Used in conjunction with \u003cspan pulumi-lang-nodejs=\"`cleanupOnDelete`\" pulumi-lang-dotnet=\"`CleanupOnDelete`\" pulumi-lang-go=\"`cleanupOnDelete`\" pulumi-lang-python=\"`cleanup_on_delete`\" pulumi-lang-yaml=\"`cleanupOnDelete`\" pulumi-lang-java=\"`cleanupOnDelete`\" pulumi-lang-hcl=\"`cleanup_on_delete`\"\u003e`cleanupOnDelete`\u003c/span\u003e attribute when Access Federation for access tokens is not enabled.\n",
                    "secret": true
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Represents the active state of the federated member. It is supported to change the enabled\nstatus of my own member. The config will be updated on the other federated members automatically.\n"
                },
                "url": {
                    "type": "string",
                    "description": "Full URL to ending with the repository name.\n"
                }
            },
            "type": "object",
            "required": [
                "enabled",
                "url"
            ]
        },
        "artifactory:index/FederatedNugetRepositoryMember:FederatedNugetRepositoryMember": {
            "properties": {
                "accessToken": {
                    "type": "string",
                    "description": "Admin access token for this member Artifactory instance. Used in conjunction with \u003cspan pulumi-lang-nodejs=\"`cleanupOnDelete`\" pulumi-lang-dotnet=\"`CleanupOnDelete`\" pulumi-lang-go=\"`cleanupOnDelete`\" pulumi-lang-python=\"`cleanup_on_delete`\" pulumi-lang-yaml=\"`cleanupOnDelete`\" pulumi-lang-java=\"`cleanupOnDelete`\" pulumi-lang-hcl=\"`cleanup_on_delete`\"\u003e`cleanupOnDelete`\u003c/span\u003e attribute when Access Federation for access tokens is not enabled.\n",
                    "secret": true
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Represents the active state of the federated member. It is supported to change the enabled\nstatus of my own member. The config will be updated on the other federated members automatically.\n"
                },
                "url": {
                    "type": "string",
                    "description": "Full URL to ending with the repository name.\n"
                }
            },
            "type": "object",
            "required": [
                "enabled",
                "url"
            ]
        },
        "artifactory:index/FederatedOciRepositoryMember:FederatedOciRepositoryMember": {
            "properties": {
                "accessToken": {
                    "type": "string",
                    "description": "Admin access token for this member Artifactory instance. Used in conjunction with \u003cspan pulumi-lang-nodejs=\"`cleanupOnDelete`\" pulumi-lang-dotnet=\"`CleanupOnDelete`\" pulumi-lang-go=\"`cleanupOnDelete`\" pulumi-lang-python=\"`cleanup_on_delete`\" pulumi-lang-yaml=\"`cleanupOnDelete`\" pulumi-lang-java=\"`cleanupOnDelete`\" pulumi-lang-hcl=\"`cleanup_on_delete`\"\u003e`cleanupOnDelete`\u003c/span\u003e attribute when Access Federation for access tokens is not enabled.\n",
                    "secret": true
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Represents the active state of the federated member. It is supported to change the enabled\nstatus of my own member. The config will be updated on the other federated members automatically.\n"
                },
                "url": {
                    "type": "string",
                    "description": "Full URL to ending with the repository name.\n"
                }
            },
            "type": "object",
            "required": [
                "enabled",
                "url"
            ]
        },
        "artifactory:index/FederatedOpkgRepositoryMember:FederatedOpkgRepositoryMember": {
            "properties": {
                "accessToken": {
                    "type": "string",
                    "description": "Admin access token for this member Artifactory instance. Used in conjunction with \u003cspan pulumi-lang-nodejs=\"`cleanupOnDelete`\" pulumi-lang-dotnet=\"`CleanupOnDelete`\" pulumi-lang-go=\"`cleanupOnDelete`\" pulumi-lang-python=\"`cleanup_on_delete`\" pulumi-lang-yaml=\"`cleanupOnDelete`\" pulumi-lang-java=\"`cleanupOnDelete`\" pulumi-lang-hcl=\"`cleanup_on_delete`\"\u003e`cleanupOnDelete`\u003c/span\u003e attribute when Access Federation for access tokens is not enabled.\n",
                    "secret": true
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Represents the active state of the federated member. It is supported to change the enabled\nstatus of my own member. The config will be updated on the other federated members automatically.\n"
                },
                "url": {
                    "type": "string",
                    "description": "Full URL to ending with the repository name.\n"
                }
            },
            "type": "object",
            "required": [
                "enabled",
                "url"
            ]
        },
        "artifactory:index/FederatedPuppetRepositoryMember:FederatedPuppetRepositoryMember": {
            "properties": {
                "accessToken": {
                    "type": "string",
                    "description": "Admin access token for this member Artifactory instance. Used in conjunction with \u003cspan pulumi-lang-nodejs=\"`cleanupOnDelete`\" pulumi-lang-dotnet=\"`CleanupOnDelete`\" pulumi-lang-go=\"`cleanupOnDelete`\" pulumi-lang-python=\"`cleanup_on_delete`\" pulumi-lang-yaml=\"`cleanupOnDelete`\" pulumi-lang-java=\"`cleanupOnDelete`\" pulumi-lang-hcl=\"`cleanup_on_delete`\"\u003e`cleanupOnDelete`\u003c/span\u003e attribute when Access Federation for access tokens is not enabled.\n",
                    "secret": true
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Represents the active state of the federated member. It is supported to change the enabled\nstatus of my own member. The config will be updated on the other federated members automatically.\n"
                },
                "url": {
                    "type": "string",
                    "description": "Full URL to ending with the repository name.\n"
                }
            },
            "type": "object",
            "required": [
                "enabled",
                "url"
            ]
        },
        "artifactory:index/FederatedPypiRepositoryMember:FederatedPypiRepositoryMember": {
            "properties": {
                "accessToken": {
                    "type": "string",
                    "description": "Admin access token for this member Artifactory instance. Used in conjunction with \u003cspan pulumi-lang-nodejs=\"`cleanupOnDelete`\" pulumi-lang-dotnet=\"`CleanupOnDelete`\" pulumi-lang-go=\"`cleanupOnDelete`\" pulumi-lang-python=\"`cleanup_on_delete`\" pulumi-lang-yaml=\"`cleanupOnDelete`\" pulumi-lang-java=\"`cleanupOnDelete`\" pulumi-lang-hcl=\"`cleanup_on_delete`\"\u003e`cleanupOnDelete`\u003c/span\u003e attribute when Access Federation for access tokens is not enabled.\n",
                    "secret": true
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Represents the active state of the federated member. It is supported to change the enabled\nstatus of my own member. The config will be updated on the other federated members automatically.\n"
                },
                "url": {
                    "type": "string",
                    "description": "Full URL to ending with the repository name.\n"
                }
            },
            "type": "object",
            "required": [
                "enabled",
                "url"
            ]
        },
        "artifactory:index/FederatedReleasebundlesRepositoryMember:FederatedReleasebundlesRepositoryMember": {
            "properties": {
                "accessToken": {
                    "type": "string",
                    "description": "Admin access token for this member Artifactory instance. Used in conjunction with \u003cspan pulumi-lang-nodejs=\"`cleanupOnDelete`\" pulumi-lang-dotnet=\"`CleanupOnDelete`\" pulumi-lang-go=\"`cleanupOnDelete`\" pulumi-lang-python=\"`cleanup_on_delete`\" pulumi-lang-yaml=\"`cleanupOnDelete`\" pulumi-lang-java=\"`cleanupOnDelete`\" pulumi-lang-hcl=\"`cleanup_on_delete`\"\u003e`cleanupOnDelete`\u003c/span\u003e attribute when Access Federation for access tokens is not enabled.\n",
                    "secret": true
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Represents the active state of the federated member. It is supported to change the enabled\nstatus of my own member. The config will be updated on the other federated members automatically.\n"
                },
                "url": {
                    "type": "string",
                    "description": "Full URL to ending with the repository name.\n"
                }
            },
            "type": "object",
            "required": [
                "enabled",
                "url"
            ]
        },
        "artifactory:index/FederatedRpmRepositoryMember:FederatedRpmRepositoryMember": {
            "properties": {
                "accessToken": {
                    "type": "string",
                    "description": "Admin access token for this member Artifactory instance. Used in conjunction with \u003cspan pulumi-lang-nodejs=\"`cleanupOnDelete`\" pulumi-lang-dotnet=\"`CleanupOnDelete`\" pulumi-lang-go=\"`cleanupOnDelete`\" pulumi-lang-python=\"`cleanup_on_delete`\" pulumi-lang-yaml=\"`cleanupOnDelete`\" pulumi-lang-java=\"`cleanupOnDelete`\" pulumi-lang-hcl=\"`cleanup_on_delete`\"\u003e`cleanupOnDelete`\u003c/span\u003e attribute when Access Federation for access tokens is not enabled.\n",
                    "secret": true
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Represents the active state of the federated member. It is supported to change the enabled\nstatus of my own member. The config will be updated on the other federated members automatically.\n"
                },
                "url": {
                    "type": "string",
                    "description": "Full URL to ending with the repository name.\n"
                }
            },
            "type": "object",
            "required": [
                "enabled",
                "url"
            ]
        },
        "artifactory:index/FederatedSbtRepositoryMember:FederatedSbtRepositoryMember": {
            "properties": {
                "accessToken": {
                    "type": "string",
                    "description": "Admin access token for this member Artifactory instance. Used in conjunction with \u003cspan pulumi-lang-nodejs=\"`cleanupOnDelete`\" pulumi-lang-dotnet=\"`CleanupOnDelete`\" pulumi-lang-go=\"`cleanupOnDelete`\" pulumi-lang-python=\"`cleanup_on_delete`\" pulumi-lang-yaml=\"`cleanupOnDelete`\" pulumi-lang-java=\"`cleanupOnDelete`\" pulumi-lang-hcl=\"`cleanup_on_delete`\"\u003e`cleanupOnDelete`\u003c/span\u003e attribute when Access Federation for access tokens is not enabled.\n",
                    "secret": true
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Represents the active state of the federated member. It is supported to change the enabled\nstatus of my own member. The config will be updated on the other federated members automatically.\n"
                },
                "url": {
                    "type": "string",
                    "description": "Full URL to ending with the repository name.\n"
                }
            },
            "type": "object",
            "required": [
                "enabled",
                "url"
            ]
        },
        "artifactory:index/FederatedSwiftRepositoryMember:FederatedSwiftRepositoryMember": {
            "properties": {
                "accessToken": {
                    "type": "string",
                    "description": "Admin access token for this member Artifactory instance. Used in conjunction with \u003cspan pulumi-lang-nodejs=\"`cleanupOnDelete`\" pulumi-lang-dotnet=\"`CleanupOnDelete`\" pulumi-lang-go=\"`cleanupOnDelete`\" pulumi-lang-python=\"`cleanup_on_delete`\" pulumi-lang-yaml=\"`cleanupOnDelete`\" pulumi-lang-java=\"`cleanupOnDelete`\" pulumi-lang-hcl=\"`cleanup_on_delete`\"\u003e`cleanupOnDelete`\u003c/span\u003e attribute when Access Federation for access tokens is not enabled.\n",
                    "secret": true
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Represents the active state of the federated member. It is supported to change the enabled\nstatus of my own member. The config will be updated on the other federated members automatically.\n"
                },
                "url": {
                    "type": "string",
                    "description": "Full URL to ending with the repository name.\n"
                }
            },
            "type": "object",
            "required": [
                "enabled",
                "url"
            ]
        },
        "artifactory:index/FederatedTerraformModuleRepositoryMember:FederatedTerraformModuleRepositoryMember": {
            "properties": {
                "accessToken": {
                    "type": "string",
                    "description": "Admin access token for this member Artifactory instance. Used in conjunction with \u003cspan pulumi-lang-nodejs=\"`cleanupOnDelete`\" pulumi-lang-dotnet=\"`CleanupOnDelete`\" pulumi-lang-go=\"`cleanupOnDelete`\" pulumi-lang-python=\"`cleanup_on_delete`\" pulumi-lang-yaml=\"`cleanupOnDelete`\" pulumi-lang-java=\"`cleanupOnDelete`\" pulumi-lang-hcl=\"`cleanup_on_delete`\"\u003e`cleanupOnDelete`\u003c/span\u003e attribute when Access Federation for access tokens is not enabled.\n",
                    "secret": true
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Represents the active state of the federated member. It is supported to change the enabled\nstatus of my own member. The config will be updated on the other federated members automatically.\n"
                },
                "url": {
                    "type": "string",
                    "description": "Full URL to ending with the repository name.\n"
                }
            },
            "type": "object",
            "required": [
                "enabled",
                "url"
            ]
        },
        "artifactory:index/FederatedTerraformProviderRepositoryMember:FederatedTerraformProviderRepositoryMember": {
            "properties": {
                "accessToken": {
                    "type": "string",
                    "description": "Admin access token for this member Artifactory instance. Used in conjunction with \u003cspan pulumi-lang-nodejs=\"`cleanupOnDelete`\" pulumi-lang-dotnet=\"`CleanupOnDelete`\" pulumi-lang-go=\"`cleanupOnDelete`\" pulumi-lang-python=\"`cleanup_on_delete`\" pulumi-lang-yaml=\"`cleanupOnDelete`\" pulumi-lang-java=\"`cleanupOnDelete`\" pulumi-lang-hcl=\"`cleanup_on_delete`\"\u003e`cleanupOnDelete`\u003c/span\u003e attribute when Access Federation for access tokens is not enabled.\n",
                    "secret": true
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Represents the active state of the federated member. It is supported to change the enabled\nstatus of my own member. The config will be updated on the other federated members automatically.\n"
                },
                "url": {
                    "type": "string",
                    "description": "Full URL to ending with the repository name.\n"
                }
            },
            "type": "object",
            "required": [
                "enabled",
                "url"
            ]
        },
        "artifactory:index/FederatedVagrantRepositoryMember:FederatedVagrantRepositoryMember": {
            "properties": {
                "accessToken": {
                    "type": "string",
                    "description": "Admin access token for this member Artifactory instance. Used in conjunction with \u003cspan pulumi-lang-nodejs=\"`cleanupOnDelete`\" pulumi-lang-dotnet=\"`CleanupOnDelete`\" pulumi-lang-go=\"`cleanupOnDelete`\" pulumi-lang-python=\"`cleanup_on_delete`\" pulumi-lang-yaml=\"`cleanupOnDelete`\" pulumi-lang-java=\"`cleanupOnDelete`\" pulumi-lang-hcl=\"`cleanup_on_delete`\"\u003e`cleanupOnDelete`\u003c/span\u003e attribute when Access Federation for access tokens is not enabled.\n",
                    "secret": true
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Represents the active state of the federated member. It is supported to change the enabled\nstatus of my own member. The config will be updated on the other federated members automatically.\n"
                },
                "url": {
                    "type": "string",
                    "description": "Full URL to ending with the repository name.\n"
                }
            },
            "type": "object",
            "required": [
                "enabled",
                "url"
            ]
        },
        "artifactory:index/LocalRepositoryMultiReplicationReplication:LocalRepositoryMultiReplicationReplication": {
            "properties": {
                "checkBinaryExistenceInFilestore": {
                    "type": "boolean",
                    "description": "Enabling the \u003cspan pulumi-lang-nodejs=\"`checkBinaryExistenceInFilestore`\" pulumi-lang-dotnet=\"`CheckBinaryExistenceInFilestore`\" pulumi-lang-go=\"`checkBinaryExistenceInFilestore`\" pulumi-lang-python=\"`check_binary_existence_in_filestore`\" pulumi-lang-yaml=\"`checkBinaryExistenceInFilestore`\" pulumi-lang-java=\"`checkBinaryExistenceInFilestore`\" pulumi-lang-hcl=\"`check_binary_existence_in_filestore`\"\u003e`checkBinaryExistenceInFilestore`\u003c/span\u003e flag requires an Enterprise Plus license. When true, enables distributed checksum storage. For more information, see [Optimizing Repository Replication with Checksum-Based Storage](https://www.jfrog.com/confluence/display/JFROG/Repository+Replication#RepositoryReplication-OptimizingRepositoryReplicationUsingStorageLevelSynchronizationOptions).\n"
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the \u003cspan pulumi-lang-nodejs=\"`proxy`\" pulumi-lang-dotnet=\"`Proxy`\" pulumi-lang-go=\"`proxy`\" pulumi-lang-python=\"`proxy`\" pulumi-lang-yaml=\"`proxy`\" pulumi-lang-java=\"`proxy`\" pulumi-lang-hcl=\"`proxy`\"\u003e`proxy`\u003c/span\u003e attribute will be ignored (from version 7.41.7). The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "When set, enables replication of this repository to the target specified in \u003cspan pulumi-lang-nodejs=\"`url`\" pulumi-lang-dotnet=\"`Url`\" pulumi-lang-go=\"`url`\" pulumi-lang-python=\"`url`\" pulumi-lang-yaml=\"`url`\" pulumi-lang-java=\"`url`\" pulumi-lang-hcl=\"`url`\"\u003e`url`\u003c/span\u003e attribute. Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                },
                "excludePathPrefixPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`. By default, no artifacts are excluded.\n"
                },
                "includePathPrefixPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included `(**/*)`.\n"
                },
                "password": {
                    "type": "string",
                    "description": "Use either the HTTP authentication password or [identity token](https://www.jfrog.com/confluence/display/JFROG/User+Profile#UserProfile-IdentityTokenidentitytoken).\n",
                    "secret": true
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. The proxy configuration will be used when communicating with the remote instance.\n"
                },
                "replicationKey": {
                    "type": "string",
                    "description": "Replication ID, the value is unknown until the resource is created. Can't be set or updated.\n"
                },
                "socketTimeoutMillis": {
                    "type": "integer",
                    "description": "The network timeout in milliseconds to use for remote operations. Default value is \u003cspan pulumi-lang-nodejs=\"`15000`\" pulumi-lang-dotnet=\"`15000`\" pulumi-lang-go=\"`15000`\" pulumi-lang-python=\"`15000`\" pulumi-lang-yaml=\"`15000`\" pulumi-lang-java=\"`15000`\" pulumi-lang-hcl=\"`15000`\"\u003e`15000`\u003c/span\u003e.\n"
                },
                "syncDeletes": {
                    "type": "boolean",
                    "description": "When set, items that were deleted locally should also be deleted remotely (also applies to properties metadata). Note that enabling this option, will delete artifacts on the target that do not exist in the source repository. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                },
                "syncProperties": {
                    "type": "boolean",
                    "description": "When set, the task also synchronizes the properties of replicated artifacts. Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                },
                "syncStatistics": {
                    "type": "boolean",
                    "description": "When set, the task also synchronizes artifact download statistics. Set to avoid inadvertent cleanup at the target instance when setting up replication for disaster recovery. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e\n"
                },
                "url": {
                    "type": "string",
                    "description": "The URL of the target local repository on a remote Artifactory server. Use the format `https://\u003cartifactory_url\u003e/artifactory/\u003crepository_name\u003e`.\n"
                },
                "username": {
                    "type": "string",
                    "description": "Username on the remote Artifactory instance.\n"
                }
            },
            "type": "object",
            "required": [
                "url",
                "username"
            ],
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "checkBinaryExistenceInFilestore",
                        "disableProxy",
                        "enabled",
                        "excludePathPrefixPattern",
                        "includePathPrefixPattern",
                        "password",
                        "proxy",
                        "replicationKey",
                        "socketTimeoutMillis",
                        "syncDeletes",
                        "syncProperties",
                        "syncStatistics",
                        "url",
                        "username"
                    ]
                }
            }
        },
        "artifactory:index/ManagedUserPasswordPolicy:ManagedUserPasswordPolicy": {
            "properties": {
                "digit": {
                    "type": "integer",
                    "description": "Minimum number of digits that the password must contain\n"
                },
                "length": {
                    "type": "integer",
                    "description": "Minimum length of the password\n"
                },
                "lowercase": {
                    "type": "integer",
                    "description": "Minimum number of lowercase letters that the password must contain\n"
                },
                "specialChar": {
                    "type": "integer",
                    "description": "Minimum number of special char that the password must contain. Special chars list: `!\"#$%\u0026'()*+,-./:;\u003c=\u003e?@[\\]^_`{|}~`\n"
                },
                "uppercase": {
                    "type": "integer",
                    "description": "Minimum number of uppercase letters that the password must contain\n"
                }
            },
            "type": "object"
        },
        "artifactory:index/OauthSettingsOauthProvider:OauthSettingsOauthProvider": {
            "properties": {
                "apiUrl": {
                    "type": "string",
                    "description": "OAuth user info endpoint for the IdP.\n"
                },
                "authUrl": {
                    "type": "string",
                    "description": "OAuth authorization endpoint for the IdP.\n"
                },
                "clientId": {
                    "type": "string",
                    "description": "OAuth client ID configured on the IdP.\n"
                },
                "clientSecret": {
                    "type": "string",
                    "description": "OAuth client secret configured on the IdP.\n",
                    "secret": true
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Enable the Artifactory OAuth provider.  Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                },
                "name": {
                    "type": "string",
                    "description": "Name of the Artifactory OAuth provider.\n"
                },
                "tokenUrl": {
                    "type": "string",
                    "description": "OAuth token endpoint for the IdP.\n"
                },
                "type": {
                    "type": "string",
                    "description": "Type of OAuth provider. (e.g., \u003cspan pulumi-lang-nodejs=\"`github`\" pulumi-lang-dotnet=\"`Github`\" pulumi-lang-go=\"`github`\" pulumi-lang-python=\"`github`\" pulumi-lang-yaml=\"`github`\" pulumi-lang-java=\"`github`\" pulumi-lang-hcl=\"`github`\"\u003e`github`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`google`\" pulumi-lang-dotnet=\"`Google`\" pulumi-lang-go=\"`google`\" pulumi-lang-python=\"`google`\" pulumi-lang-yaml=\"`google`\" pulumi-lang-java=\"`google`\" pulumi-lang-hcl=\"`google`\"\u003e`google`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`cloudfoundry`\" pulumi-lang-dotnet=\"`Cloudfoundry`\" pulumi-lang-go=\"`cloudfoundry`\" pulumi-lang-python=\"`cloudfoundry`\" pulumi-lang-yaml=\"`cloudfoundry`\" pulumi-lang-java=\"`cloudfoundry`\" pulumi-lang-hcl=\"`cloudfoundry`\"\u003e`cloudfoundry`\u003c/span\u003e, or `openId`)\n"
                }
            },
            "type": "object",
            "required": [
                "apiUrl",
                "authUrl",
                "clientId",
                "clientSecret",
                "name",
                "tokenUrl",
                "type"
            ]
        },
        "artifactory:index/PackageCleanupPolicySearchCriteria:PackageCleanupPolicySearchCriteria": {
            "properties": {
                "createdBeforeInDays": {
                    "type": "integer",
                    "description": "The cleanup policy will delete packages based on how long ago they were created. For example, if this parameter is 5 then packages created more than 5 days ago will be deleted as part of the policy.\n\n~\u003eJFrog recommends using the \u003cspan pulumi-lang-nodejs=\"`createdBeforeInDays`\" pulumi-lang-dotnet=\"`CreatedBeforeInDays`\" pulumi-lang-go=\"`createdBeforeInDays`\" pulumi-lang-python=\"`created_before_in_days`\" pulumi-lang-yaml=\"`createdBeforeInDays`\" pulumi-lang-java=\"`createdBeforeInDays`\" pulumi-lang-hcl=\"`created_before_in_days`\"\u003e`createdBeforeInDays`\u003c/span\u003e condition to ensure that packages currently in use are not deleted.\n"
                },
                "createdBeforeInMonths": {
                    "type": "integer",
                    "description": "The cleanup policy will delete packages based on how long ago they were created. For example, if this parameter is 2 then packages created more than 2 months ago will be deleted as part of the policy.\n\n~\u003eJFrog recommends using the \u003cspan pulumi-lang-nodejs=\"`createdBeforeInMonths`\" pulumi-lang-dotnet=\"`CreatedBeforeInMonths`\" pulumi-lang-go=\"`createdBeforeInMonths`\" pulumi-lang-python=\"`created_before_in_months`\" pulumi-lang-yaml=\"`createdBeforeInMonths`\" pulumi-lang-java=\"`createdBeforeInMonths`\" pulumi-lang-hcl=\"`created_before_in_months`\"\u003e`createdBeforeInMonths`\u003c/span\u003e condition to ensure that packages currently in use are not deleted.\n",
                    "deprecationMessage": "Use \u003cspan pulumi-lang-nodejs=\"`createdBeforeInDays`\" pulumi-lang-dotnet=\"`CreatedBeforeInDays`\" pulumi-lang-go=\"`createdBeforeInDays`\" pulumi-lang-python=\"`created_before_in_days`\" pulumi-lang-yaml=\"`createdBeforeInDays`\" pulumi-lang-java=\"`createdBeforeInDays`\" pulumi-lang-hcl=\"`created_before_in_days`\"\u003e`createdBeforeInDays`\u003c/span\u003e instead of \u003cspan pulumi-lang-nodejs=\"`createdBeforeInMonths`\" pulumi-lang-dotnet=\"`CreatedBeforeInMonths`\" pulumi-lang-go=\"`createdBeforeInMonths`\" pulumi-lang-python=\"`created_before_in_months`\" pulumi-lang-yaml=\"`createdBeforeInMonths`\" pulumi-lang-java=\"`createdBeforeInMonths`\" pulumi-lang-hcl=\"`created_before_in_months`\"\u003e`createdBeforeInMonths`\u003c/span\u003e. Renamed to \u003cspan pulumi-lang-nodejs=\"`createdBeforeInDays`\" pulumi-lang-dotnet=\"`CreatedBeforeInDays`\" pulumi-lang-go=\"`createdBeforeInDays`\" pulumi-lang-python=\"`created_before_in_days`\" pulumi-lang-yaml=\"`createdBeforeInDays`\" pulumi-lang-java=\"`createdBeforeInDays`\" pulumi-lang-hcl=\"`created_before_in_days`\"\u003e`createdBeforeInDays`\u003c/span\u003e starting in version 7.111.2."
                },
                "excludedPackages": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Specify explicit package names that you want excluded from the policy. Only explicit names (and not patterns) are accepted.\n"
                },
                "excludedProperties": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "description": "A key-value pair applied to the lead artifact of a package. Packages with this property will be excluded from deletion.\n"
                },
                "excludedRepos": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Specify patterns for repository names or explicit repository names that you want excluded from the cleanup policy.\n"
                },
                "includeAllProjects": {
                    "type": "boolean",
                    "description": "Set this value to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e if you want the policy to run on all Artifactory projects. The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n\n ~\u003eThis parameter is relevant only on the global level, for Platform Admins.\n"
                },
                "includedPackages": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Specify a pattern for a package name or an explicit package name on which you want the cleanup policy to run. Only one pattern or explicit name can be entered. To include all packages, use `**`. Example: \u003cspan pulumi-lang-nodejs=\"`includedPackages \" pulumi-lang-dotnet=\"`IncludedPackages \" pulumi-lang-go=\"`includedPackages \" pulumi-lang-python=\"`included_packages \" pulumi-lang-yaml=\"`includedPackages \" pulumi-lang-java=\"`includedPackages \" pulumi-lang-hcl=\"`included_packages \"\u003e`includedPackages \u003c/span\u003e= [\"**\"]`\n"
                },
                "includedProjects": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Enter the project keys for the projects on which you want the policy to run. To include repositories that are not assigned to any project, enter the project key \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\" pulumi-lang-hcl=\"`default`\"\u003e`default`\u003c/span\u003e. Can be empty when \u003cspan pulumi-lang-nodejs=\"`includeAllProjects`\" pulumi-lang-dotnet=\"`IncludeAllProjects`\" pulumi-lang-go=\"`includeAllProjects`\" pulumi-lang-python=\"`include_all_projects`\" pulumi-lang-yaml=\"`includeAllProjects`\" pulumi-lang-java=\"`includeAllProjects`\" pulumi-lang-hcl=\"`include_all_projects`\"\u003e`includeAllProjects`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                },
                "includedProperties": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "description": "A key-value pair applied to the lead artifact of a package. Packages with this property will be deleted.\n"
                },
                "keepLastNVersions": {
                    "type": "integer",
                    "description": "Set a value for the number of latest versions to keep. The cleanup policy will remove all versions prior to the number you select here. The latest version is always excluded.\n\n~\u003eNot all package types support this condition. For information on which package types support this condition, [learn more](https://jfrog.com/help/r/jfrog-platform-administration-documentation/retention-policies/package-types-coverage).\n"
                },
                "lastDownloadedBeforeInDays": {
                    "type": "integer",
                    "description": "The cleanup policy will delete packages based on how long ago they were downloaded. For example, if this parameter is 5 then packages downloaded more than 5 days ago will be deleted as part of the policy.\n\n~\u003eJFrog recommends using the \u003cspan pulumi-lang-nodejs=\"`lastDownloadedBeforeInDays`\" pulumi-lang-dotnet=\"`LastDownloadedBeforeInDays`\" pulumi-lang-go=\"`lastDownloadedBeforeInDays`\" pulumi-lang-python=\"`last_downloaded_before_in_days`\" pulumi-lang-yaml=\"`lastDownloadedBeforeInDays`\" pulumi-lang-java=\"`lastDownloadedBeforeInDays`\" pulumi-lang-hcl=\"`last_downloaded_before_in_days`\"\u003e`lastDownloadedBeforeInDays`\u003c/span\u003e condition to ensure that packages currently in use are not deleted.\n"
                },
                "lastDownloadedBeforeInMonths": {
                    "type": "integer",
                    "description": "The cleanup policy will delete packages based on how long ago they were downloaded. For example, if this parameter is 5 then packages downloaded more than 5 months ago will be deleted as part of the policy.\n\n~\u003eJFrog recommends using the \u003cspan pulumi-lang-nodejs=\"`lastDownloadedBeforeInMonths`\" pulumi-lang-dotnet=\"`LastDownloadedBeforeInMonths`\" pulumi-lang-go=\"`lastDownloadedBeforeInMonths`\" pulumi-lang-python=\"`last_downloaded_before_in_months`\" pulumi-lang-yaml=\"`lastDownloadedBeforeInMonths`\" pulumi-lang-java=\"`lastDownloadedBeforeInMonths`\" pulumi-lang-hcl=\"`last_downloaded_before_in_months`\"\u003e`lastDownloadedBeforeInMonths`\u003c/span\u003e condition to ensure that packages currently in use are not deleted.\n",
                    "deprecationMessage": "Use \u003cspan pulumi-lang-nodejs=\"`lastDownloadedBeforeInDays`\" pulumi-lang-dotnet=\"`LastDownloadedBeforeInDays`\" pulumi-lang-go=\"`lastDownloadedBeforeInDays`\" pulumi-lang-python=\"`last_downloaded_before_in_days`\" pulumi-lang-yaml=\"`lastDownloadedBeforeInDays`\" pulumi-lang-java=\"`lastDownloadedBeforeInDays`\" pulumi-lang-hcl=\"`last_downloaded_before_in_days`\"\u003e`lastDownloadedBeforeInDays`\u003c/span\u003e instead of \u003cspan pulumi-lang-nodejs=\"`lastDownloadedBeforeInMonths`\" pulumi-lang-dotnet=\"`LastDownloadedBeforeInMonths`\" pulumi-lang-go=\"`lastDownloadedBeforeInMonths`\" pulumi-lang-python=\"`last_downloaded_before_in_months`\" pulumi-lang-yaml=\"`lastDownloadedBeforeInMonths`\" pulumi-lang-java=\"`lastDownloadedBeforeInMonths`\" pulumi-lang-hcl=\"`last_downloaded_before_in_months`\"\u003e`lastDownloadedBeforeInMonths`\u003c/span\u003e. Renamed to \u003cspan pulumi-lang-nodejs=\"`lastDownloadedBeforeInDays`\" pulumi-lang-dotnet=\"`LastDownloadedBeforeInDays`\" pulumi-lang-go=\"`lastDownloadedBeforeInDays`\" pulumi-lang-python=\"`last_downloaded_before_in_days`\" pulumi-lang-yaml=\"`lastDownloadedBeforeInDays`\" pulumi-lang-java=\"`lastDownloadedBeforeInDays`\" pulumi-lang-hcl=\"`last_downloaded_before_in_days`\"\u003e`lastDownloadedBeforeInDays`\u003c/span\u003e starting in version 7.111.2."
                },
                "packageTypes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "The package types that are cleaned up by the policy. Support: alpine, ansible, cargo, chef, cocoapods, composer, conan, conda, debian, docker, gems, generic, go, gradle, helm, helmoci, huggingfaceml, machinelearning, maven, npm, nuget, oci, puppet, pypi, sbt, swift, terraform, terraformbackend, yum.\n"
                },
                "repos": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Specify one or more patterns for the repository name(s) on which you want the cleanup policy to run. You can also specify explicit repository names. Specifying at least one pattern or explicit name is mandatory. Only packages in repositories that match the pattern or explicit name will be deleted. For including all repos use `**`. Example: `repos = [\"**\"]`\n"
                }
            },
            "type": "object",
            "required": [
                "includedPackages",
                "includedProjects",
                "packageTypes",
                "repos"
            ],
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "createdBeforeInDays",
                        "createdBeforeInMonths",
                        "includeAllProjects",
                        "includedPackages",
                        "includedProjects",
                        "keepLastNVersions",
                        "lastDownloadedBeforeInDays",
                        "lastDownloadedBeforeInMonths",
                        "packageTypes",
                        "repos"
                    ]
                }
            }
        },
        "artifactory:index/PermissionTargetBuild:PermissionTargetBuild": {
            "properties": {
                "actions": {
                    "$ref": "#/types/artifactory:index/PermissionTargetBuildActions:PermissionTargetBuildActions"
                },
                "excludesPatterns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "The default value will be [] if nothing is supplied\n"
                },
                "includesPatterns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "The default value will be [\"\"] if nothing is supplied\n"
                },
                "repositories": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "This can only be 1 value: \"artifactory-build-info\", and currently, validation of sets/lists is not allowed. Artifactory will reject the request if you change this\n"
                }
            },
            "type": "object",
            "required": [
                "repositories"
            ]
        },
        "artifactory:index/PermissionTargetBuildActions:PermissionTargetBuildActions": {
            "properties": {
                "groups": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/PermissionTargetBuildActionsGroup:PermissionTargetBuildActionsGroup"
                    },
                    "description": "Groups this permission applies for.\n"
                },
                "users": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/PermissionTargetBuildActionsUser:PermissionTargetBuildActionsUser"
                    },
                    "description": "Users this permission target applies for.\n"
                }
            },
            "type": "object"
        },
        "artifactory:index/PermissionTargetBuildActionsGroup:PermissionTargetBuildActionsGroup": {
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Name of permission.\n"
                },
                "permissions": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            },
            "type": "object",
            "required": [
                "name",
                "permissions"
            ]
        },
        "artifactory:index/PermissionTargetBuildActionsUser:PermissionTargetBuildActionsUser": {
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Name of permission.\n"
                },
                "permissions": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            },
            "type": "object",
            "required": [
                "name",
                "permissions"
            ]
        },
        "artifactory:index/PermissionTargetReleaseBundle:PermissionTargetReleaseBundle": {
            "properties": {
                "actions": {
                    "$ref": "#/types/artifactory:index/PermissionTargetReleaseBundleActions:PermissionTargetReleaseBundleActions"
                },
                "excludesPatterns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "The default value will be [] if nothing is supplied\n"
                },
                "includesPatterns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "The default value will be [\"\"] if nothing is supplied\n"
                },
                "repositories": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "This can only be 1 value: \"artifactory-build-info\", and currently, validation of sets/lists is not allowed. Artifactory will reject the request if you change this\n"
                }
            },
            "type": "object",
            "required": [
                "repositories"
            ]
        },
        "artifactory:index/PermissionTargetReleaseBundleActions:PermissionTargetReleaseBundleActions": {
            "properties": {
                "groups": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/PermissionTargetReleaseBundleActionsGroup:PermissionTargetReleaseBundleActionsGroup"
                    },
                    "description": "Groups this permission applies for.\n"
                },
                "users": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/PermissionTargetReleaseBundleActionsUser:PermissionTargetReleaseBundleActionsUser"
                    },
                    "description": "Users this permission target applies for.\n"
                }
            },
            "type": "object"
        },
        "artifactory:index/PermissionTargetReleaseBundleActionsGroup:PermissionTargetReleaseBundleActionsGroup": {
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Name of permission.\n"
                },
                "permissions": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            },
            "type": "object",
            "required": [
                "name",
                "permissions"
            ]
        },
        "artifactory:index/PermissionTargetReleaseBundleActionsUser:PermissionTargetReleaseBundleActionsUser": {
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Name of permission.\n"
                },
                "permissions": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            },
            "type": "object",
            "required": [
                "name",
                "permissions"
            ]
        },
        "artifactory:index/PermissionTargetRepo:PermissionTargetRepo": {
            "properties": {
                "actions": {
                    "$ref": "#/types/artifactory:index/PermissionTargetRepoActions:PermissionTargetRepoActions"
                },
                "excludesPatterns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Pattern of artifacts to exclude.\n"
                },
                "includesPatterns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Pattern of artifacts to include.\n"
                },
                "repositories": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of repositories this permission target is applicable for. You can specify the name `ANY` in the repositories section in order to apply to all repositories, `ANY REMOTE` for all remote repositories and `ANY LOCAL` for all local repositories. The default value will be `[]` if nothing is specified.\n"
                }
            },
            "type": "object",
            "required": [
                "repositories"
            ]
        },
        "artifactory:index/PermissionTargetRepoActions:PermissionTargetRepoActions": {
            "properties": {
                "groups": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/PermissionTargetRepoActionsGroup:PermissionTargetRepoActionsGroup"
                    },
                    "description": "Groups this permission applies for.\n"
                },
                "users": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/PermissionTargetRepoActionsUser:PermissionTargetRepoActionsUser"
                    },
                    "description": "Users this permission target applies for.\n"
                }
            },
            "type": "object"
        },
        "artifactory:index/PermissionTargetRepoActionsGroup:PermissionTargetRepoActionsGroup": {
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Name of permission.\n"
                },
                "permissions": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            },
            "type": "object",
            "required": [
                "name",
                "permissions"
            ]
        },
        "artifactory:index/PermissionTargetRepoActionsUser:PermissionTargetRepoActionsUser": {
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Name of permission.\n"
                },
                "permissions": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            },
            "type": "object",
            "required": [
                "name",
                "permissions"
            ]
        },
        "artifactory:index/PropertySetProperty:PropertySetProperty": {
            "properties": {
                "closedPredefinedValues": {
                    "type": "boolean",
                    "description": "Disables \u003cspan pulumi-lang-nodejs=\"`multipleChoice`\" pulumi-lang-dotnet=\"`MultipleChoice`\" pulumi-lang-go=\"`multipleChoice`\" pulumi-lang-python=\"`multiple_choice`\" pulumi-lang-yaml=\"`multipleChoice`\" pulumi-lang-java=\"`multipleChoice`\" pulumi-lang-hcl=\"`multiple_choice`\"\u003e`multipleChoice`\u003c/span\u003e if set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e at the same time with\u003cspan pulumi-lang-nodejs=\" multipleChoice \" pulumi-lang-dotnet=\" MultipleChoice \" pulumi-lang-go=\" multipleChoice \" pulumi-lang-python=\" multiple_choice \" pulumi-lang-yaml=\" multipleChoice \" pulumi-lang-java=\" multipleChoice \" pulumi-lang-hcl=\" multiple_choice \"\u003e multipleChoice \u003c/span\u003eset to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e\n"
                },
                "multipleChoice": {
                    "type": "boolean",
                    "description": "Defines if user can select multiple values. \u003cspan pulumi-lang-nodejs=\"`closedPredefinedValues`\" pulumi-lang-dotnet=\"`ClosedPredefinedValues`\" pulumi-lang-go=\"`closedPredefinedValues`\" pulumi-lang-python=\"`closed_predefined_values`\" pulumi-lang-yaml=\"`closedPredefinedValues`\" pulumi-lang-java=\"`closedPredefinedValues`\" pulumi-lang-hcl=\"`closed_predefined_values`\"\u003e`closedPredefinedValues`\u003c/span\u003e should be set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                },
                "name": {
                    "type": "string",
                    "description": "The name pf the property.\n"
                },
                "predefinedValues": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/PropertySetPropertyPredefinedValue:PropertySetPropertyPredefinedValue"
                    },
                    "description": "Properties in the property set. Predefined values is mandatory when\u003cspan pulumi-lang-nodejs=\" closedPredefinedValues \" pulumi-lang-dotnet=\" ClosedPredefinedValues \" pulumi-lang-go=\" closedPredefinedValues \" pulumi-lang-python=\" closed_predefined_values \" pulumi-lang-yaml=\" closedPredefinedValues \" pulumi-lang-java=\" closedPredefinedValues \" pulumi-lang-hcl=\" closed_predefined_values \"\u003e closedPredefinedValues \u003c/span\u003eor\u003cspan pulumi-lang-nodejs=\" multipleChoice \" pulumi-lang-dotnet=\" MultipleChoice \" pulumi-lang-go=\" multipleChoice \" pulumi-lang-python=\" multiple_choice \" pulumi-lang-yaml=\" multipleChoice \" pulumi-lang-java=\" multipleChoice \" pulumi-lang-hcl=\" multiple_choice \"\u003e multipleChoice \u003c/span\u003eis set to 'true'\n"
                }
            },
            "type": "object",
            "required": [
                "name"
            ],
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "closedPredefinedValues",
                        "multipleChoice",
                        "name"
                    ]
                }
            }
        },
        "artifactory:index/PropertySetPropertyPredefinedValue:PropertySetPropertyPredefinedValue": {
            "properties": {
                "defaultValue": {
                    "type": "boolean",
                    "description": "Whether the value is selected by default in the UI.\n"
                },
                "name": {
                    "type": "string",
                    "description": "Property set name.\n"
                }
            },
            "type": "object",
            "required": [
                "defaultValue",
                "name"
            ]
        },
        "artifactory:index/PushReplicationReplication:PushReplicationReplication": {
            "properties": {
                "checkBinaryExistenceInFilestore": {
                    "type": "boolean",
                    "description": "When true, enables distributed checksum storage. For more information, see\n[Optimizing Repository Replication with Checksum-Based Storage](https://www.jfrog.com/confluence/display/JFROG/Repository+Replication#RepositoryReplication-OptimizingRepositoryReplicationUsingStorageLevelSynchronizationOptions).\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "When set, this replication will be enabled when saved.\n"
                },
                "password": {
                    "type": "string",
                    "description": "Required for local repository, but not needed for remote repository.\n",
                    "secret": true
                },
                "pathPrefix": {
                    "type": "string",
                    "description": "Only artifacts that located in path that matches the subpath within the remote repository will be replicated.\n"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. The proxy configuration will be used when communicating with the remote instance.\n"
                },
                "socketTimeoutMillis": {
                    "type": "integer",
                    "description": "The network timeout in milliseconds to use for remote operations.\n"
                },
                "syncDeletes": {
                    "type": "boolean",
                    "description": "When set, items that were deleted locally should also be deleted remotely (also applies to properties metadata).\nNote that enabling this option, will delete artifacts on the target that do not exist in the source repository.\n"
                },
                "syncProperties": {
                    "type": "boolean",
                    "description": "When set, the task also synchronizes the properties of replicated artifacts.\n"
                },
                "syncStatistics": {
                    "type": "boolean",
                    "description": "When set, artifact download statistics will also be replicated. Set to avoid inadvertent cleanup at the target instance when setting up replication for disaster recovery.\n"
                },
                "url": {
                    "type": "string",
                    "description": "The URL of the target local repository on a remote Artifactory server. Required for local repository, but not needed for remote repository.\n",
                    "willReplaceOnChanges": true
                },
                "username": {
                    "type": "string",
                    "description": "Required for local repository, but not needed for remote repository.\n"
                }
            },
            "type": "object",
            "required": [
                "password",
                "url",
                "username"
            ],
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled",
                        "password",
                        "socketTimeoutMillis",
                        "syncDeletes",
                        "syncProperties",
                        "syncStatistics",
                        "url",
                        "username"
                    ]
                }
            }
        },
        "artifactory:index/ReleaseBundleCustomWebhookCriteria:ReleaseBundleCustomWebhookCriteria": {
            "properties": {
                "anyReleaseBundle": {
                    "type": "boolean",
                    "description": "Trigger on any release bundle.\n"
                },
                "excludePatterns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Simple comma separated wildcard patterns for repository artifact paths (with no leading slash). Ant-style path expressions are supported (*, *\\*, ?). For example: \"org/apache/**\". **Cannot be set if \u003cspan pulumi-lang-nodejs=\"`anyReleaseBundle`\" pulumi-lang-dotnet=\"`AnyReleaseBundle`\" pulumi-lang-go=\"`anyReleaseBundle`\" pulumi-lang-python=\"`any_release_bundle`\" pulumi-lang-yaml=\"`anyReleaseBundle`\" pulumi-lang-java=\"`anyReleaseBundle`\" pulumi-lang-hcl=\"`any_release_bundle`\"\u003e`anyReleaseBundle`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.**\n"
                },
                "includePatterns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Simple comma separated wildcard patterns for repository artifact paths (with no leading slash). Ant-style path expressions are supported (*, *\\*, ?). For example: \"org/apache/**\". **Cannot be set if \u003cspan pulumi-lang-nodejs=\"`anyReleaseBundle`\" pulumi-lang-dotnet=\"`AnyReleaseBundle`\" pulumi-lang-go=\"`anyReleaseBundle`\" pulumi-lang-python=\"`any_release_bundle`\" pulumi-lang-yaml=\"`anyReleaseBundle`\" pulumi-lang-java=\"`anyReleaseBundle`\" pulumi-lang-hcl=\"`any_release_bundle`\"\u003e`anyReleaseBundle`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.** Either this or \u003cspan pulumi-lang-nodejs=\"`registeredReleaseBundleNames`\" pulumi-lang-dotnet=\"`RegisteredReleaseBundleNames`\" pulumi-lang-go=\"`registeredReleaseBundleNames`\" pulumi-lang-python=\"`registered_release_bundle_names`\" pulumi-lang-yaml=\"`registeredReleaseBundleNames`\" pulumi-lang-java=\"`registeredReleaseBundleNames`\" pulumi-lang-hcl=\"`registered_release_bundle_names`\"\u003e`registeredReleaseBundleNames`\u003c/span\u003e must be set when \u003cspan pulumi-lang-nodejs=\"`anyReleaseBundle`\" pulumi-lang-dotnet=\"`AnyReleaseBundle`\" pulumi-lang-go=\"`anyReleaseBundle`\" pulumi-lang-python=\"`any_release_bundle`\" pulumi-lang-yaml=\"`anyReleaseBundle`\" pulumi-lang-java=\"`anyReleaseBundle`\" pulumi-lang-hcl=\"`any_release_bundle`\"\u003e`anyReleaseBundle`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                },
                "registeredReleaseBundleNames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Trigger on this list of release bundle names. Either this or \u003cspan pulumi-lang-nodejs=\"`includePatterns`\" pulumi-lang-dotnet=\"`IncludePatterns`\" pulumi-lang-go=\"`includePatterns`\" pulumi-lang-python=\"`include_patterns`\" pulumi-lang-yaml=\"`includePatterns`\" pulumi-lang-java=\"`includePatterns`\" pulumi-lang-hcl=\"`include_patterns`\"\u003e`includePatterns`\u003c/span\u003e must be set when \u003cspan pulumi-lang-nodejs=\"`anyReleaseBundle`\" pulumi-lang-dotnet=\"`AnyReleaseBundle`\" pulumi-lang-go=\"`anyReleaseBundle`\" pulumi-lang-python=\"`any_release_bundle`\" pulumi-lang-yaml=\"`anyReleaseBundle`\" pulumi-lang-java=\"`anyReleaseBundle`\" pulumi-lang-hcl=\"`any_release_bundle`\"\u003e`anyReleaseBundle`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                }
            },
            "type": "object",
            "required": [
                "anyReleaseBundle"
            ]
        },
        "artifactory:index/ReleaseBundleCustomWebhookHandler:ReleaseBundleCustomWebhookHandler": {
            "properties": {
                "httpHeaders": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "HTTP headers you wish to use to invoke the Webhook, comprise key/value pair.\n"
                },
                "method": {
                    "type": "string",
                    "description": "Specifies the HTTP method for the URL that the Webhook invokes. Allowed values are: `GET`, `POST`, `PUT`, `PATCH`, `DELETE`.\n"
                },
                "payload": {
                    "type": "string",
                    "description": "This attribute is used to build the request body. Used in custom webhooks\n"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory UI (Administration \u003e Proxies \u003e Configuration).\n"
                },
                "secrets": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Defines a set of sensitive values (such as, tokens and passwords) that can be injected in the headers and/or payload.Secrets’ values are encrypted. In the header/payload, the value can be invoked using the `{{.secrets.token}}` format, where token is the name provided for the secret value. Comprise key/value pair. **Note:** if multiple handlers are used, same secret name and different secret value for the same url won't work. Example:\n\n",
                    "secret": true
                },
                "url": {
                    "type": "string",
                    "description": "Specifies the URL that the Webhook invokes. This will be the URL that Artifactory will send an HTTP POST request to.\n"
                }
            },
            "type": "object",
            "required": [
                "url"
            ]
        },
        "artifactory:index/ReleaseBundleV2CleanupPolicySearchCriteria:ReleaseBundleV2CleanupPolicySearchCriteria": {
            "properties": {
                "createdBeforeInMonths": {
                    "type": "integer",
                    "description": "Specifies the time frame for filtering based on item creation date (for example, 24 months). Defaults to \u003cspan pulumi-lang-nodejs=\"`24`\" pulumi-lang-dotnet=\"`24`\" pulumi-lang-go=\"`24`\" pulumi-lang-python=\"`24`\" pulumi-lang-yaml=\"`24`\" pulumi-lang-java=\"`24`\" pulumi-lang-hcl=\"`24`\"\u003e`24`\u003c/span\u003e.\n"
                },
                "excludePromotedEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "A list of environments to exclude from the cleanup process. To exclude all, set to `**`. Example: \u003cspan pulumi-lang-nodejs=\"`excludePromotedEnvironments \" pulumi-lang-dotnet=\"`ExcludePromotedEnvironments \" pulumi-lang-go=\"`excludePromotedEnvironments \" pulumi-lang-python=\"`exclude_promoted_environments \" pulumi-lang-yaml=\"`excludePromotedEnvironments \" pulumi-lang-java=\"`excludePromotedEnvironments \" pulumi-lang-hcl=\"`exclude_promoted_environments \"\u003e`excludePromotedEnvironments \u003c/span\u003e= [\"**\"]`\n"
                },
                "includeAllProjects": {
                    "type": "boolean",
                    "description": "Set this value to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e if you want the policy to run on all Artifactory projects. The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                },
                "includedProjects": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of projects on which you want this policy to run. To include repositories that are not assigned to any project, enter the project key \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\" pulumi-lang-hcl=\"`default`\"\u003e`default`\u003c/span\u003e.\n\n~\u003eThis setting is relevant only on the global level, for Platform Admins.\n"
                },
                "releaseBundles": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/ReleaseBundleV2CleanupPolicySearchCriteriaReleaseBundle:ReleaseBundleV2CleanupPolicySearchCriteriaReleaseBundle"
                    },
                    "description": "Specify the release bundles to include in the cleanup policy. The policy will only clean up the release bundles that match the specified criteria.\n"
                }
            },
            "type": "object",
            "required": [
                "excludePromotedEnvironments"
            ],
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "createdBeforeInMonths",
                        "excludePromotedEnvironments"
                    ]
                }
            }
        },
        "artifactory:index/ReleaseBundleV2CleanupPolicySearchCriteriaReleaseBundle:ReleaseBundleV2CleanupPolicySearchCriteriaReleaseBundle": {
            "properties": {
                "name": {
                    "type": "string",
                    "description": "The name of the release bundle. Set `**` to include all bundles. Example: `name = \"**\"`\n"
                },
                "projectKey": {
                    "type": "string",
                    "description": "The project identifier associated with the release bundle. This key is obtained from the Project Settings screen. Leave the field blank to apply at a global level.\n"
                }
            },
            "type": "object",
            "required": [
                "name",
                "projectKey"
            ]
        },
        "artifactory:index/ReleaseBundleV2CustomWebhookCriteria:ReleaseBundleV2CustomWebhookCriteria": {
            "properties": {
                "anyReleaseBundle": {
                    "type": "boolean",
                    "description": "Trigger on any release bundle.\n"
                },
                "excludePatterns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Simple wildcard patterns for Release Bundle names.\nAnt-style path expressions are supported (*, **, ?).\nFor example: `product_*`\n"
                },
                "includePatterns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Simple wildcard patterns for Release Bundle names.\nAnt-style path expressions are supported (*, **, ?).\nFor example: `product_*`\n"
                },
                "selectedReleaseBundles": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Trigger on this list of release bundle names.\n"
                }
            },
            "type": "object",
            "required": [
                "anyReleaseBundle"
            ]
        },
        "artifactory:index/ReleaseBundleV2CustomWebhookHandler:ReleaseBundleV2CustomWebhookHandler": {
            "properties": {
                "httpHeaders": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "HTTP headers you wish to use to invoke the Webhook, comprise key/value pair.\n"
                },
                "method": {
                    "type": "string",
                    "description": "Specifies the HTTP method for the URL that the Webhook invokes. Allowed values are: `GET`, `POST`, `PUT`, `PATCH`, `DELETE`.\n"
                },
                "payload": {
                    "type": "string",
                    "description": "This attribute is used to build the request body. Used in custom webhooks\n"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory UI (Administration \u003e Proxies \u003e Configuration).\n"
                },
                "secrets": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Defines a set of sensitive values (such as, tokens and passwords) that can be injected in the headers and/or payload.Secrets’ values are encrypted. In the header/payload, the value can be invoked using the `{{.secrets.token}}` format, where token is the name provided for the secret value. Comprise key/value pair. **Note:** if multiple handlers are used, same secret name and different secret value for the same url won't work. Example:\n\n",
                    "secret": true
                },
                "url": {
                    "type": "string",
                    "description": "Specifies the URL that the Webhook invokes. This will be the URL that Artifactory will send an HTTP POST request to.\n"
                }
            },
            "type": "object",
            "required": [
                "url"
            ]
        },
        "artifactory:index/ReleaseBundleV2PromotionCustomWebhookCriteria:ReleaseBundleV2PromotionCustomWebhookCriteria": {
            "properties": {
                "excludePatterns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "includePatterns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "selectedEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Trigger on this list of environment names.\n"
                }
            },
            "type": "object",
            "required": [
                "selectedEnvironments"
            ]
        },
        "artifactory:index/ReleaseBundleV2PromotionCustomWebhookHandler:ReleaseBundleV2PromotionCustomWebhookHandler": {
            "properties": {
                "httpHeaders": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "HTTP headers you wish to use to invoke the Webhook, comprise key/value pair.\n"
                },
                "method": {
                    "type": "string",
                    "description": "Specifies the HTTP method for the URL that the Webhook invokes. Allowed values are: `GET`, `POST`, `PUT`, `PATCH`, `DELETE`.\n"
                },
                "payload": {
                    "type": "string",
                    "description": "This attribute is used to build the request body. Used in custom webhooks\n"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory UI (Administration \u003e Proxies \u003e Configuration).\n"
                },
                "secrets": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Defines a set of sensitive values (such as, tokens and passwords) that can be injected in the headers and/or payload.Secrets’ values are encrypted. In the header/payload, the value can be invoked using the `{{.secrets.token}}` format, where token is the name provided for the secret value. Comprise key/value pair. **Note:** if multiple handlers are used, same secret name and different secret value for the same url won't work. Example:\n\n",
                    "secret": true
                },
                "url": {
                    "type": "string",
                    "description": "Specifies the URL that the Webhook invokes. This will be the URL that Artifactory will send an HTTP POST request to.\n"
                }
            },
            "type": "object",
            "required": [
                "url"
            ]
        },
        "artifactory:index/ReleaseBundleV2PromotionWebhookCriteria:ReleaseBundleV2PromotionWebhookCriteria": {
            "properties": {
                "excludePatterns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "includePatterns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "selectedEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Trigger on this list of environment names.\n"
                }
            },
            "type": "object",
            "required": [
                "selectedEnvironments"
            ]
        },
        "artifactory:index/ReleaseBundleV2PromotionWebhookHandler:ReleaseBundleV2PromotionWebhookHandler": {
            "properties": {
                "customHttpHeaders": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Custom HTTP headers you wish to use to invoke the Webhook, comprise of key/value pair.\n"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory UI (Administration \u003e Proxies \u003e Configuration).\n"
                },
                "secret": {
                    "type": "string",
                    "description": "Secret authentication token that will be sent to the configured URL. The value will be sent as `x-jfrog-event-auth` header.\n",
                    "secret": true
                },
                "url": {
                    "type": "string",
                    "description": "Specifies the URL that the Webhook invokes. This will be the URL that Artifactory will send an HTTP POST request to.\n"
                },
                "useSecretForSigning": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the secret will be used to sign the event payload, allowing the target to validate that the payload content has not been changed and will not be passed as part of the event. If left unset or set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e, the secret is passed through the `X-JFrog-Event-Auth` HTTP header.\n"
                }
            },
            "type": "object",
            "required": [
                "url"
            ]
        },
        "artifactory:index/ReleaseBundleV2Source:ReleaseBundleV2Source": {
            "properties": {
                "aql": {
                    "type": "string",
                    "description": "The contents of the AQL query.\n"
                },
                "artifacts": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/ReleaseBundleV2SourceArtifact:ReleaseBundleV2SourceArtifact"
                    },
                    "description": "Source type to create a Release Bundle v2 version by collecting source artifacts from a list of path/checksum pairs.\n"
                },
                "builds": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/ReleaseBundleV2SourceBuild:ReleaseBundleV2SourceBuild"
                    },
                    "description": "Source type to create a Release Bundle v2 version by collecting source artifacts from one or multiple builds (also known as build-info).\n"
                },
                "releaseBundles": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/ReleaseBundleV2SourceReleaseBundle:ReleaseBundleV2SourceReleaseBundle"
                    },
                    "description": "Source type to create a Release Bundle v2 version by collecting source artifacts from existing Release Bundle versions. Must match \u003cspan pulumi-lang-nodejs=\"`sourceType`\" pulumi-lang-dotnet=\"`SourceType`\" pulumi-lang-go=\"`sourceType`\" pulumi-lang-python=\"`source_type`\" pulumi-lang-yaml=\"`sourceType`\" pulumi-lang-java=\"`sourceType`\" pulumi-lang-hcl=\"`source_type`\"\u003e`sourceType`\u003c/span\u003e attribute value.\n"
                }
            },
            "type": "object"
        },
        "artifactory:index/ReleaseBundleV2SourceArtifact:ReleaseBundleV2SourceArtifact": {
            "properties": {
                "path": {
                    "type": "string",
                    "description": "The path for the artifact\n"
                },
                "sha256": {
                    "type": "string",
                    "description": "The SHA256 for the artifact\n"
                }
            },
            "type": "object",
            "required": [
                "path"
            ]
        },
        "artifactory:index/ReleaseBundleV2SourceBuild:ReleaseBundleV2SourceBuild": {
            "properties": {
                "includeDependencies": {
                    "type": "boolean",
                    "description": "Determines whether to include build dependencies in the Release Bundle. The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                },
                "name": {
                    "type": "string",
                    "description": "Name of the build.\n"
                },
                "number": {
                    "type": "string",
                    "description": "Number (run) of the build.\n"
                },
                "repository": {
                    "type": "string",
                    "description": "The repository key of the build. If omitted, the system uses the default built-in repository, `artifactory-build-info`.\n"
                },
                "started": {
                    "type": "string",
                    "description": "Timestamp when the build was created. If omitted, the system uses the latest build run, as identified by the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\" pulumi-lang-hcl=\"`name`\"\u003e`name`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`number`\" pulumi-lang-dotnet=\"`Number`\" pulumi-lang-go=\"`number`\" pulumi-lang-python=\"`number`\" pulumi-lang-yaml=\"`number`\" pulumi-lang-java=\"`number`\" pulumi-lang-hcl=\"`number`\"\u003e`number`\u003c/span\u003e combination. The timestamp is provided according to the ISO 8601 standard.\n"
                }
            },
            "type": "object",
            "required": [
                "name",
                "number"
            ],
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "includeDependencies",
                        "name",
                        "number"
                    ]
                }
            }
        },
        "artifactory:index/ReleaseBundleV2SourceReleaseBundle:ReleaseBundleV2SourceReleaseBundle": {
            "properties": {
                "name": {
                    "type": "string",
                    "description": "The name of the release bundle.\n"
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key of the release bundle.\n"
                },
                "repositoryKey": {
                    "type": "string",
                    "description": "The key of the release bundle repository.\n"
                },
                "version": {
                    "type": "string",
                    "description": "The version of the release bundle.\n"
                }
            },
            "type": "object",
            "required": [
                "name",
                "version"
            ]
        },
        "artifactory:index/ReleaseBundleV2WebhookCriteria:ReleaseBundleV2WebhookCriteria": {
            "properties": {
                "anyReleaseBundle": {
                    "type": "boolean",
                    "description": "Trigger on any release bundle.\n"
                },
                "excludePatterns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Simple wildcard patterns for Release Bundle names.\nAnt-style path expressions are supported (*, **, ?).\nFor example: `product_*`\n"
                },
                "includePatterns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Simple wildcard patterns for Release Bundle names.\nAnt-style path expressions are supported (*, **, ?).\nFor example: `product_*`\n"
                },
                "selectedReleaseBundles": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Trigger on this list of release bundle names.\n"
                }
            },
            "type": "object",
            "required": [
                "anyReleaseBundle"
            ]
        },
        "artifactory:index/ReleaseBundleV2WebhookHandler:ReleaseBundleV2WebhookHandler": {
            "properties": {
                "customHttpHeaders": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Custom HTTP headers you wish to use to invoke the Webhook, comprise of key/value pair.\n"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory UI (Administration \u003e Proxies \u003e Configuration).\n"
                },
                "secret": {
                    "type": "string",
                    "description": "Secret authentication token that will be sent to the configured URL. The value will be sent as `x-jfrog-event-auth` header.\n",
                    "secret": true
                },
                "url": {
                    "type": "string",
                    "description": "Specifies the URL that the Webhook invokes. This will be the URL that Artifactory will send an HTTP POST request to.\n"
                },
                "useSecretForSigning": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the secret will be used to sign the event payload, allowing the target to validate that the payload content has not been changed and will not be passed as part of the event. If left unset or set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e, the secret is passed through the `X-JFrog-Event-Auth` HTTP header.\n"
                }
            },
            "type": "object",
            "required": [
                "url"
            ]
        },
        "artifactory:index/ReleaseBundleWebhookCriteria:ReleaseBundleWebhookCriteria": {
            "properties": {
                "anyReleaseBundle": {
                    "type": "boolean",
                    "description": "Trigger on any release bundle.\n"
                },
                "excludePatterns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Simple comma separated wildcard patterns for repository artifact paths (with no leading slash). Ant-style path expressions are supported (*, *\\*, ?). For example: \"org/apache/**\".\n"
                },
                "includePatterns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Simple comma separated wildcard patterns for repository artifact paths (with no leading slash). Ant-style path expressions are supported (*, *\\*, ?). For example: \"org/apache/**\".\n"
                },
                "registeredReleaseBundleNames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Trigger on this list of release bundle names.\n"
                }
            },
            "type": "object",
            "required": [
                "anyReleaseBundle"
            ]
        },
        "artifactory:index/ReleaseBundleWebhookHandler:ReleaseBundleWebhookHandler": {
            "properties": {
                "customHttpHeaders": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Custom HTTP headers you wish to use to invoke the Webhook, comprise of key/value pair.\n"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory UI (Administration \u003e Proxies \u003e Configuration).\n"
                },
                "secret": {
                    "type": "string",
                    "description": "Secret authentication token that will be sent to the configured URL. The value will be sent as `x-jfrog-event-auth` header.\n",
                    "secret": true
                },
                "url": {
                    "type": "string",
                    "description": "Specifies the URL that the Webhook invokes. This will be the URL that Artifactory will send an HTTP POST request to.\n"
                },
                "useSecretForSigning": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the secret will be used to sign the event payload, allowing the target to validate that the payload content has not been changed and will not be passed as part of the event. If left unset or set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e, the secret is passed through the `X-JFrog-Event-Auth` HTTP header.\n"
                }
            },
            "type": "object",
            "required": [
                "url"
            ]
        },
        "artifactory:index/RemoteAlpineRepositoryContentSynchronisation:RemoteAlpineRepositoryContentSynchronisation": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "If set, Remote repository proxies a local or remote repository from another instance of Artifactory. Default value is 'false'.\n"
                },
                "propertiesEnabled": {
                    "type": "boolean",
                    "description": "If set, properties for artifacts that have been cached in this repository will be updated if they are modified in the artifact hosted at the remote Artifactory instance. The trigger to synchronize the properties is download of the artifact from the remote repository cache of the local Artifactory instance. Default value is 'false'.\n"
                },
                "sourceOriginAbsenceDetection": {
                    "type": "boolean",
                    "description": "If set, Artifactory displays an indication on cached items if they have been deleted from the corresponding repository in the remote Artifactory instance. Default value is 'false'\n"
                },
                "statisticsEnabled": {
                    "type": "boolean",
                    "description": "If set, Artifactory will notify the remote instance whenever an artifact in the Smart Remote Repository is downloaded locally so that it can update its download counter. Note that if this option is not set, there may be a discrepancy between the number of artifacts reported to have been downloaded in the different Artifactory instances of the proxy chain. Default value is 'false'.\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled",
                        "propertiesEnabled",
                        "sourceOriginAbsenceDetection",
                        "statisticsEnabled"
                    ]
                }
            }
        },
        "artifactory:index/RemoteAnsibleRepositoryContentSynchronisation:RemoteAnsibleRepositoryContentSynchronisation": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "If set, Remote repository proxies a local or remote repository from another instance of Artifactory. Default value is 'false'.\n"
                },
                "propertiesEnabled": {
                    "type": "boolean",
                    "description": "If set, properties for artifacts that have been cached in this repository will be updated if they are modified in the artifact hosted at the remote Artifactory instance. The trigger to synchronize the properties is download of the artifact from the remote repository cache of the local Artifactory instance. Default value is 'false'.\n"
                },
                "sourceOriginAbsenceDetection": {
                    "type": "boolean",
                    "description": "If set, Artifactory displays an indication on cached items if they have been deleted from the corresponding repository in the remote Artifactory instance. Default value is 'false'\n"
                },
                "statisticsEnabled": {
                    "type": "boolean",
                    "description": "If set, Artifactory will notify the remote instance whenever an artifact in the Smart Remote Repository is downloaded locally so that it can update its download counter. Note that if this option is not set, there may be a discrepancy between the number of artifacts reported to have been downloaded in the different Artifactory instances of the proxy chain. Default value is 'false'.\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled",
                        "propertiesEnabled",
                        "sourceOriginAbsenceDetection",
                        "statisticsEnabled"
                    ]
                }
            }
        },
        "artifactory:index/RemoteBowerRepositoryContentSynchronisation:RemoteBowerRepositoryContentSynchronisation": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "If set, Remote repository proxies a local or remote repository from another instance of Artifactory. Default value is 'false'.\n"
                },
                "propertiesEnabled": {
                    "type": "boolean",
                    "description": "If set, properties for artifacts that have been cached in this repository will be updated if they are modified in the artifact hosted at the remote Artifactory instance. The trigger to synchronize the properties is download of the artifact from the remote repository cache of the local Artifactory instance. Default value is 'false'.\n"
                },
                "sourceOriginAbsenceDetection": {
                    "type": "boolean",
                    "description": "If set, Artifactory displays an indication on cached items if they have been deleted from the corresponding repository in the remote Artifactory instance. Default value is 'false'\n"
                },
                "statisticsEnabled": {
                    "type": "boolean",
                    "description": "If set, Artifactory will notify the remote instance whenever an artifact in the Smart Remote Repository is downloaded locally so that it can update its download counter. Note that if this option is not set, there may be a discrepancy between the number of artifacts reported to have been downloaded in the different Artifactory instances of the proxy chain. Default value is 'false'.\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled",
                        "propertiesEnabled",
                        "sourceOriginAbsenceDetection",
                        "statisticsEnabled"
                    ]
                }
            }
        },
        "artifactory:index/RemoteCargoRepositoryContentSynchronisation:RemoteCargoRepositoryContentSynchronisation": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "If set, Remote repository proxies a local or remote repository from another instance of Artifactory. Default value is 'false'.\n"
                },
                "propertiesEnabled": {
                    "type": "boolean",
                    "description": "If set, properties for artifacts that have been cached in this repository will be updated if they are modified in the artifact hosted at the remote Artifactory instance. The trigger to synchronize the properties is download of the artifact from the remote repository cache of the local Artifactory instance. Default value is 'false'.\n"
                },
                "sourceOriginAbsenceDetection": {
                    "type": "boolean",
                    "description": "If set, Artifactory displays an indication on cached items if they have been deleted from the corresponding repository in the remote Artifactory instance. Default value is 'false'\n"
                },
                "statisticsEnabled": {
                    "type": "boolean",
                    "description": "If set, Artifactory will notify the remote instance whenever an artifact in the Smart Remote Repository is downloaded locally so that it can update its download counter. Note that if this option is not set, there may be a discrepancy between the number of artifacts reported to have been downloaded in the different Artifactory instances of the proxy chain. Default value is 'false'.\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled",
                        "propertiesEnabled",
                        "sourceOriginAbsenceDetection",
                        "statisticsEnabled"
                    ]
                }
            }
        },
        "artifactory:index/RemoteChefRepositoryContentSynchronisation:RemoteChefRepositoryContentSynchronisation": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "If set, Remote repository proxies a local or remote repository from another instance of Artifactory. Default value is 'false'.\n"
                },
                "propertiesEnabled": {
                    "type": "boolean",
                    "description": "If set, properties for artifacts that have been cached in this repository will be updated if they are modified in the artifact hosted at the remote Artifactory instance. The trigger to synchronize the properties is download of the artifact from the remote repository cache of the local Artifactory instance. Default value is 'false'.\n"
                },
                "sourceOriginAbsenceDetection": {
                    "type": "boolean",
                    "description": "If set, Artifactory displays an indication on cached items if they have been deleted from the corresponding repository in the remote Artifactory instance. Default value is 'false'\n"
                },
                "statisticsEnabled": {
                    "type": "boolean",
                    "description": "If set, Artifactory will notify the remote instance whenever an artifact in the Smart Remote Repository is downloaded locally so that it can update its download counter. Note that if this option is not set, there may be a discrepancy between the number of artifacts reported to have been downloaded in the different Artifactory instances of the proxy chain. Default value is 'false'.\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled",
                        "propertiesEnabled",
                        "sourceOriginAbsenceDetection",
                        "statisticsEnabled"
                    ]
                }
            }
        },
        "artifactory:index/RemoteCocoapodsRepositoryContentSynchronisation:RemoteCocoapodsRepositoryContentSynchronisation": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "If set, Remote repository proxies a local or remote repository from another instance of Artifactory. Default value is 'false'.\n"
                },
                "propertiesEnabled": {
                    "type": "boolean",
                    "description": "If set, properties for artifacts that have been cached in this repository will be updated if they are modified in the artifact hosted at the remote Artifactory instance. The trigger to synchronize the properties is download of the artifact from the remote repository cache of the local Artifactory instance. Default value is 'false'.\n"
                },
                "sourceOriginAbsenceDetection": {
                    "type": "boolean",
                    "description": "If set, Artifactory displays an indication on cached items if they have been deleted from the corresponding repository in the remote Artifactory instance. Default value is 'false'\n"
                },
                "statisticsEnabled": {
                    "type": "boolean",
                    "description": "If set, Artifactory will notify the remote instance whenever an artifact in the Smart Remote Repository is downloaded locally so that it can update its download counter. Note that if this option is not set, there may be a discrepancy between the number of artifacts reported to have been downloaded in the different Artifactory instances of the proxy chain. Default value is 'false'.\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled",
                        "propertiesEnabled",
                        "sourceOriginAbsenceDetection",
                        "statisticsEnabled"
                    ]
                }
            }
        },
        "artifactory:index/RemoteComposerRepositoryContentSynchronisation:RemoteComposerRepositoryContentSynchronisation": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "If set, Remote repository proxies a local or remote repository from another instance of Artifactory. Default value is 'false'.\n"
                },
                "propertiesEnabled": {
                    "type": "boolean",
                    "description": "If set, properties for artifacts that have been cached in this repository will be updated if they are modified in the artifact hosted at the remote Artifactory instance. The trigger to synchronize the properties is download of the artifact from the remote repository cache of the local Artifactory instance. Default value is 'false'.\n"
                },
                "sourceOriginAbsenceDetection": {
                    "type": "boolean",
                    "description": "If set, Artifactory displays an indication on cached items if they have been deleted from the corresponding repository in the remote Artifactory instance. Default value is 'false'\n"
                },
                "statisticsEnabled": {
                    "type": "boolean",
                    "description": "If set, Artifactory will notify the remote instance whenever an artifact in the Smart Remote Repository is downloaded locally so that it can update its download counter. Note that if this option is not set, there may be a discrepancy between the number of artifacts reported to have been downloaded in the different Artifactory instances of the proxy chain. Default value is 'false'.\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled",
                        "propertiesEnabled",
                        "sourceOriginAbsenceDetection",
                        "statisticsEnabled"
                    ]
                }
            }
        },
        "artifactory:index/RemoteConanRepositoryContentSynchronisation:RemoteConanRepositoryContentSynchronisation": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "If set, Remote repository proxies a local or remote repository from another instance of Artifactory. Default value is 'false'.\n"
                },
                "propertiesEnabled": {
                    "type": "boolean",
                    "description": "If set, properties for artifacts that have been cached in this repository will be updated if they are modified in the artifact hosted at the remote Artifactory instance. The trigger to synchronize the properties is download of the artifact from the remote repository cache of the local Artifactory instance. Default value is 'false'.\n"
                },
                "sourceOriginAbsenceDetection": {
                    "type": "boolean",
                    "description": "If set, Artifactory displays an indication on cached items if they have been deleted from the corresponding repository in the remote Artifactory instance. Default value is 'false'\n"
                },
                "statisticsEnabled": {
                    "type": "boolean",
                    "description": "If set, Artifactory will notify the remote instance whenever an artifact in the Smart Remote Repository is downloaded locally so that it can update its download counter. Note that if this option is not set, there may be a discrepancy between the number of artifacts reported to have been downloaded in the different Artifactory instances of the proxy chain. Default value is 'false'.\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled",
                        "propertiesEnabled",
                        "sourceOriginAbsenceDetection",
                        "statisticsEnabled"
                    ]
                }
            }
        },
        "artifactory:index/RemoteCondaRepositoryContentSynchronisation:RemoteCondaRepositoryContentSynchronisation": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "If set, Remote repository proxies a local or remote repository from another instance of Artifactory. Default value is 'false'.\n"
                },
                "propertiesEnabled": {
                    "type": "boolean",
                    "description": "If set, properties for artifacts that have been cached in this repository will be updated if they are modified in the artifact hosted at the remote Artifactory instance. The trigger to synchronize the properties is download of the artifact from the remote repository cache of the local Artifactory instance. Default value is 'false'.\n"
                },
                "sourceOriginAbsenceDetection": {
                    "type": "boolean",
                    "description": "If set, Artifactory displays an indication on cached items if they have been deleted from the corresponding repository in the remote Artifactory instance. Default value is 'false'\n"
                },
                "statisticsEnabled": {
                    "type": "boolean",
                    "description": "If set, Artifactory will notify the remote instance whenever an artifact in the Smart Remote Repository is downloaded locally so that it can update its download counter. Note that if this option is not set, there may be a discrepancy between the number of artifacts reported to have been downloaded in the different Artifactory instances of the proxy chain. Default value is 'false'.\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled",
                        "propertiesEnabled",
                        "sourceOriginAbsenceDetection",
                        "statisticsEnabled"
                    ]
                }
            }
        },
        "artifactory:index/RemoteCranRepositoryContentSynchronisation:RemoteCranRepositoryContentSynchronisation": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "If set, Remote repository proxies a local or remote repository from another instance of Artifactory. Default value is 'false'.\n"
                },
                "propertiesEnabled": {
                    "type": "boolean",
                    "description": "If set, properties for artifacts that have been cached in this repository will be updated if they are modified in the artifact hosted at the remote Artifactory instance. The trigger to synchronize the properties is download of the artifact from the remote repository cache of the local Artifactory instance. Default value is 'false'.\n"
                },
                "sourceOriginAbsenceDetection": {
                    "type": "boolean",
                    "description": "If set, Artifactory displays an indication on cached items if they have been deleted from the corresponding repository in the remote Artifactory instance. Default value is 'false'\n"
                },
                "statisticsEnabled": {
                    "type": "boolean",
                    "description": "If set, Artifactory will notify the remote instance whenever an artifact in the Smart Remote Repository is downloaded locally so that it can update its download counter. Note that if this option is not set, there may be a discrepancy between the number of artifacts reported to have been downloaded in the different Artifactory instances of the proxy chain. Default value is 'false'.\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled",
                        "propertiesEnabled",
                        "sourceOriginAbsenceDetection",
                        "statisticsEnabled"
                    ]
                }
            }
        },
        "artifactory:index/RemoteDebianRepositoryContentSynchronisation:RemoteDebianRepositoryContentSynchronisation": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "If set, Remote repository proxies a local or remote repository from another instance of Artifactory. Default value is 'false'.\n"
                },
                "propertiesEnabled": {
                    "type": "boolean",
                    "description": "If set, properties for artifacts that have been cached in this repository will be updated if they are modified in the artifact hosted at the remote Artifactory instance. The trigger to synchronize the properties is download of the artifact from the remote repository cache of the local Artifactory instance. Default value is 'false'.\n"
                },
                "sourceOriginAbsenceDetection": {
                    "type": "boolean",
                    "description": "If set, Artifactory displays an indication on cached items if they have been deleted from the corresponding repository in the remote Artifactory instance. Default value is 'false'\n"
                },
                "statisticsEnabled": {
                    "type": "boolean",
                    "description": "If set, Artifactory will notify the remote instance whenever an artifact in the Smart Remote Repository is downloaded locally so that it can update its download counter. Note that if this option is not set, there may be a discrepancy between the number of artifacts reported to have been downloaded in the different Artifactory instances of the proxy chain. Default value is 'false'.\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled",
                        "propertiesEnabled",
                        "sourceOriginAbsenceDetection",
                        "statisticsEnabled"
                    ]
                }
            }
        },
        "artifactory:index/RemoteDockerRepositoryContentSynchronisation:RemoteDockerRepositoryContentSynchronisation": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "If set, Remote repository proxies a local or remote repository from another instance of Artifactory. Default value is 'false'.\n"
                },
                "propertiesEnabled": {
                    "type": "boolean",
                    "description": "If set, properties for artifacts that have been cached in this repository will be updated if they are modified in the artifact hosted at the remote Artifactory instance. The trigger to synchronize the properties is download of the artifact from the remote repository cache of the local Artifactory instance. Default value is 'false'.\n"
                },
                "sourceOriginAbsenceDetection": {
                    "type": "boolean",
                    "description": "If set, Artifactory displays an indication on cached items if they have been deleted from the corresponding repository in the remote Artifactory instance. Default value is 'false'\n"
                },
                "statisticsEnabled": {
                    "type": "boolean",
                    "description": "If set, Artifactory will notify the remote instance whenever an artifact in the Smart Remote Repository is downloaded locally so that it can update its download counter. Note that if this option is not set, there may be a discrepancy between the number of artifacts reported to have been downloaded in the different Artifactory instances of the proxy chain. Default value is 'false'.\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled",
                        "propertiesEnabled",
                        "sourceOriginAbsenceDetection",
                        "statisticsEnabled"
                    ]
                }
            }
        },
        "artifactory:index/RemoteGemsRepositoryContentSynchronisation:RemoteGemsRepositoryContentSynchronisation": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "If set, Remote repository proxies a local or remote repository from another instance of Artifactory. Default value is 'false'.\n"
                },
                "propertiesEnabled": {
                    "type": "boolean",
                    "description": "If set, properties for artifacts that have been cached in this repository will be updated if they are modified in the artifact hosted at the remote Artifactory instance. The trigger to synchronize the properties is download of the artifact from the remote repository cache of the local Artifactory instance. Default value is 'false'.\n"
                },
                "sourceOriginAbsenceDetection": {
                    "type": "boolean",
                    "description": "If set, Artifactory displays an indication on cached items if they have been deleted from the corresponding repository in the remote Artifactory instance. Default value is 'false'\n"
                },
                "statisticsEnabled": {
                    "type": "boolean",
                    "description": "If set, Artifactory will notify the remote instance whenever an artifact in the Smart Remote Repository is downloaded locally so that it can update its download counter. Note that if this option is not set, there may be a discrepancy between the number of artifacts reported to have been downloaded in the different Artifactory instances of the proxy chain. Default value is 'false'.\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled",
                        "propertiesEnabled",
                        "sourceOriginAbsenceDetection",
                        "statisticsEnabled"
                    ]
                }
            }
        },
        "artifactory:index/RemoteGenericRepositoryContentSynchronisation:RemoteGenericRepositoryContentSynchronisation": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "If set, Remote repository proxies a local or remote repository from another instance of Artifactory. Default value is 'false'.\n"
                },
                "propertiesEnabled": {
                    "type": "boolean",
                    "description": "If set, properties for artifacts that have been cached in this repository will be updated if they are modified in the artifact hosted at the remote Artifactory instance. The trigger to synchronize the properties is download of the artifact from the remote repository cache of the local Artifactory instance. Default value is 'false'.\n"
                },
                "sourceOriginAbsenceDetection": {
                    "type": "boolean",
                    "description": "If set, Artifactory displays an indication on cached items if they have been deleted from the corresponding repository in the remote Artifactory instance. Default value is 'false'\n"
                },
                "statisticsEnabled": {
                    "type": "boolean",
                    "description": "If set, Artifactory will notify the remote instance whenever an artifact in the Smart Remote Repository is downloaded locally so that it can update its download counter. Note that if this option is not set, there may be a discrepancy between the number of artifacts reported to have been downloaded in the different Artifactory instances of the proxy chain. Default value is 'false'.\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled",
                        "propertiesEnabled",
                        "sourceOriginAbsenceDetection",
                        "statisticsEnabled"
                    ]
                }
            }
        },
        "artifactory:index/RemoteGenericRepositoryCustomHttpHeader:RemoteGenericRepositoryCustomHttpHeader": {
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Header name.\n"
                },
                "sensitive": {
                    "type": "boolean",
                    "description": "When \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, Artifactory encrypts the value server-side.\n"
                },
                "value": {
                    "type": "string",
                    "description": "Header value. Masked in pulumi preview output. Stored in state as configured; never read back from Artifactory.\n",
                    "secret": true
                }
            },
            "type": "object",
            "required": [
                "name",
                "value"
            ],
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "name",
                        "sensitive",
                        "value"
                    ]
                }
            }
        },
        "artifactory:index/RemoteGitlfsRepositoryContentSynchronisation:RemoteGitlfsRepositoryContentSynchronisation": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "If set, Remote repository proxies a local or remote repository from another instance of Artifactory. Default value is 'false'.\n"
                },
                "propertiesEnabled": {
                    "type": "boolean",
                    "description": "If set, properties for artifacts that have been cached in this repository will be updated if they are modified in the artifact hosted at the remote Artifactory instance. The trigger to synchronize the properties is download of the artifact from the remote repository cache of the local Artifactory instance. Default value is 'false'.\n"
                },
                "sourceOriginAbsenceDetection": {
                    "type": "boolean",
                    "description": "If set, Artifactory displays an indication on cached items if they have been deleted from the corresponding repository in the remote Artifactory instance. Default value is 'false'\n"
                },
                "statisticsEnabled": {
                    "type": "boolean",
                    "description": "If set, Artifactory will notify the remote instance whenever an artifact in the Smart Remote Repository is downloaded locally so that it can update its download counter. Note that if this option is not set, there may be a discrepancy between the number of artifacts reported to have been downloaded in the different Artifactory instances of the proxy chain. Default value is 'false'.\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled",
                        "propertiesEnabled",
                        "sourceOriginAbsenceDetection",
                        "statisticsEnabled"
                    ]
                }
            }
        },
        "artifactory:index/RemoteGoRepositoryContentSynchronisation:RemoteGoRepositoryContentSynchronisation": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "If set, Remote repository proxies a local or remote repository from another instance of Artifactory. Default value is 'false'.\n"
                },
                "propertiesEnabled": {
                    "type": "boolean",
                    "description": "If set, properties for artifacts that have been cached in this repository will be updated if they are modified in the artifact hosted at the remote Artifactory instance. The trigger to synchronize the properties is download of the artifact from the remote repository cache of the local Artifactory instance. Default value is 'false'.\n"
                },
                "sourceOriginAbsenceDetection": {
                    "type": "boolean",
                    "description": "If set, Artifactory displays an indication on cached items if they have been deleted from the corresponding repository in the remote Artifactory instance. Default value is 'false'\n"
                },
                "statisticsEnabled": {
                    "type": "boolean",
                    "description": "If set, Artifactory will notify the remote instance whenever an artifact in the Smart Remote Repository is downloaded locally so that it can update its download counter. Note that if this option is not set, there may be a discrepancy between the number of artifacts reported to have been downloaded in the different Artifactory instances of the proxy chain. Default value is 'false'.\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled",
                        "propertiesEnabled",
                        "sourceOriginAbsenceDetection",
                        "statisticsEnabled"
                    ]
                }
            }
        },
        "artifactory:index/RemoteGradleRepositoryContentSynchronisation:RemoteGradleRepositoryContentSynchronisation": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "If set, Remote repository proxies a local or remote repository from another instance of Artifactory. Default value is 'false'.\n"
                },
                "propertiesEnabled": {
                    "type": "boolean",
                    "description": "If set, properties for artifacts that have been cached in this repository will be updated if they are modified in the artifact hosted at the remote Artifactory instance. The trigger to synchronize the properties is download of the artifact from the remote repository cache of the local Artifactory instance. Default value is 'false'.\n"
                },
                "sourceOriginAbsenceDetection": {
                    "type": "boolean",
                    "description": "If set, Artifactory displays an indication on cached items if they have been deleted from the corresponding repository in the remote Artifactory instance. Default value is 'false'\n"
                },
                "statisticsEnabled": {
                    "type": "boolean",
                    "description": "If set, Artifactory will notify the remote instance whenever an artifact in the Smart Remote Repository is downloaded locally so that it can update its download counter. Note that if this option is not set, there may be a discrepancy between the number of artifacts reported to have been downloaded in the different Artifactory instances of the proxy chain. Default value is 'false'.\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled",
                        "propertiesEnabled",
                        "sourceOriginAbsenceDetection",
                        "statisticsEnabled"
                    ]
                }
            }
        },
        "artifactory:index/RemoteHelmRepositoryContentSynchronisation:RemoteHelmRepositoryContentSynchronisation": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "If set, Remote repository proxies a local or remote repository from another instance of Artifactory. Default value is 'false'.\n"
                },
                "propertiesEnabled": {
                    "type": "boolean",
                    "description": "If set, properties for artifacts that have been cached in this repository will be updated if they are modified in the artifact hosted at the remote Artifactory instance. The trigger to synchronize the properties is download of the artifact from the remote repository cache of the local Artifactory instance. Default value is 'false'.\n"
                },
                "sourceOriginAbsenceDetection": {
                    "type": "boolean",
                    "description": "If set, Artifactory displays an indication on cached items if they have been deleted from the corresponding repository in the remote Artifactory instance. Default value is 'false'\n"
                },
                "statisticsEnabled": {
                    "type": "boolean",
                    "description": "If set, Artifactory will notify the remote instance whenever an artifact in the Smart Remote Repository is downloaded locally so that it can update its download counter. Note that if this option is not set, there may be a discrepancy between the number of artifacts reported to have been downloaded in the different Artifactory instances of the proxy chain. Default value is 'false'.\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled",
                        "propertiesEnabled",
                        "sourceOriginAbsenceDetection",
                        "statisticsEnabled"
                    ]
                }
            }
        },
        "artifactory:index/RemoteHelmociRepositoryContentSynchronisation:RemoteHelmociRepositoryContentSynchronisation": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "If set, Remote repository proxies a local or remote repository from another instance of Artifactory. Default value is 'false'.\n"
                },
                "propertiesEnabled": {
                    "type": "boolean",
                    "description": "If set, properties for artifacts that have been cached in this repository will be updated if they are modified in the artifact hosted at the remote Artifactory instance. The trigger to synchronize the properties is download of the artifact from the remote repository cache of the local Artifactory instance. Default value is 'false'.\n"
                },
                "sourceOriginAbsenceDetection": {
                    "type": "boolean",
                    "description": "If set, Artifactory displays an indication on cached items if they have been deleted from the corresponding repository in the remote Artifactory instance. Default value is 'false'\n"
                },
                "statisticsEnabled": {
                    "type": "boolean",
                    "description": "If set, Artifactory will notify the remote instance whenever an artifact in the Smart Remote Repository is downloaded locally so that it can update its download counter. Note that if this option is not set, there may be a discrepancy between the number of artifacts reported to have been downloaded in the different Artifactory instances of the proxy chain. Default value is 'false'.\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled",
                        "propertiesEnabled",
                        "sourceOriginAbsenceDetection",
                        "statisticsEnabled"
                    ]
                }
            }
        },
        "artifactory:index/RemoteHexRepositoryContentSynchronisation:RemoteHexRepositoryContentSynchronisation": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "If set, Remote repository proxies a local or remote repository from another instance of Artifactory. Default value is 'false'.\n"
                },
                "propertiesEnabled": {
                    "type": "boolean",
                    "description": "If set, properties for artifacts that have been cached in this repository will be updated if they are modified in the artifact hosted at the remote Artifactory instance. The trigger to synchronize the properties is download of the artifact from the remote repository cache of the local Artifactory instance. Default value is 'false'.\n"
                },
                "sourceOriginAbsenceDetection": {
                    "type": "boolean",
                    "description": "If set, Artifactory displays an indication on cached items if they have been deleted from the corresponding repository in the remote Artifactory instance. Default value is 'false'\n"
                },
                "statisticsEnabled": {
                    "type": "boolean",
                    "description": "If set, Artifactory will notify the remote instance whenever an artifact in the Smart Remote Repository is downloaded locally so that it can update its download counter. Note that if this option is not set, there may be a discrepancy between the number of artifacts reported to have been downloaded in the different Artifactory instances of the proxy chain. Default value is 'false'.\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled",
                        "propertiesEnabled",
                        "sourceOriginAbsenceDetection",
                        "statisticsEnabled"
                    ]
                }
            }
        },
        "artifactory:index/RemoteHuggingfacemlRepositoryContentSynchronisation:RemoteHuggingfacemlRepositoryContentSynchronisation": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "If set, Remote repository proxies a local or remote repository from another instance of Artifactory. Default value is 'false'.\n"
                },
                "propertiesEnabled": {
                    "type": "boolean",
                    "description": "If set, properties for artifacts that have been cached in this repository will be updated if they are modified in the artifact hosted at the remote Artifactory instance. The trigger to synchronize the properties is download of the artifact from the remote repository cache of the local Artifactory instance. Default value is 'false'.\n"
                },
                "sourceOriginAbsenceDetection": {
                    "type": "boolean",
                    "description": "If set, Artifactory displays an indication on cached items if they have been deleted from the corresponding repository in the remote Artifactory instance. Default value is 'false'\n"
                },
                "statisticsEnabled": {
                    "type": "boolean",
                    "description": "If set, Artifactory will notify the remote instance whenever an artifact in the Smart Remote Repository is downloaded locally so that it can update its download counter. Note that if this option is not set, there may be a discrepancy between the number of artifacts reported to have been downloaded in the different Artifactory instances of the proxy chain. Default value is 'false'.\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled",
                        "propertiesEnabled",
                        "sourceOriginAbsenceDetection",
                        "statisticsEnabled"
                    ]
                }
            }
        },
        "artifactory:index/RemoteIvyRepositoryContentSynchronisation:RemoteIvyRepositoryContentSynchronisation": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "If set, Remote repository proxies a local or remote repository from another instance of Artifactory. Default value is 'false'.\n"
                },
                "propertiesEnabled": {
                    "type": "boolean",
                    "description": "If set, properties for artifacts that have been cached in this repository will be updated if they are modified in the artifact hosted at the remote Artifactory instance. The trigger to synchronize the properties is download of the artifact from the remote repository cache of the local Artifactory instance. Default value is 'false'.\n"
                },
                "sourceOriginAbsenceDetection": {
                    "type": "boolean",
                    "description": "If set, Artifactory displays an indication on cached items if they have been deleted from the corresponding repository in the remote Artifactory instance. Default value is 'false'\n"
                },
                "statisticsEnabled": {
                    "type": "boolean",
                    "description": "If set, Artifactory will notify the remote instance whenever an artifact in the Smart Remote Repository is downloaded locally so that it can update its download counter. Note that if this option is not set, there may be a discrepancy between the number of artifacts reported to have been downloaded in the different Artifactory instances of the proxy chain. Default value is 'false'.\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled",
                        "propertiesEnabled",
                        "sourceOriginAbsenceDetection",
                        "statisticsEnabled"
                    ]
                }
            }
        },
        "artifactory:index/RemoteMavenRepositoryContentSynchronisation:RemoteMavenRepositoryContentSynchronisation": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "If set, Remote repository proxies a local or remote repository from another instance of Artifactory. Default value is 'false'.\n"
                },
                "propertiesEnabled": {
                    "type": "boolean",
                    "description": "If set, properties for artifacts that have been cached in this repository will be updated if they are modified in the artifact hosted at the remote Artifactory instance. The trigger to synchronize the properties is download of the artifact from the remote repository cache of the local Artifactory instance. Default value is 'false'.\n"
                },
                "sourceOriginAbsenceDetection": {
                    "type": "boolean",
                    "description": "If set, Artifactory displays an indication on cached items if they have been deleted from the corresponding repository in the remote Artifactory instance. Default value is 'false'\n"
                },
                "statisticsEnabled": {
                    "type": "boolean",
                    "description": "If set, Artifactory will notify the remote instance whenever an artifact in the Smart Remote Repository is downloaded locally so that it can update its download counter. Note that if this option is not set, there may be a discrepancy between the number of artifacts reported to have been downloaded in the different Artifactory instances of the proxy chain. Default value is 'false'.\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled",
                        "propertiesEnabled",
                        "sourceOriginAbsenceDetection",
                        "statisticsEnabled"
                    ]
                }
            }
        },
        "artifactory:index/RemoteNixRepositoryContentSynchronisation:RemoteNixRepositoryContentSynchronisation": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "If set, Remote repository proxies a local or remote repository from another instance of Artifactory. Default value is 'false'.\n"
                },
                "propertiesEnabled": {
                    "type": "boolean",
                    "description": "If set, properties for artifacts that have been cached in this repository will be updated if they are modified in the artifact hosted at the remote Artifactory instance. The trigger to synchronize the properties is download of the artifact from the remote repository cache of the local Artifactory instance. Default value is 'false'.\n"
                },
                "sourceOriginAbsenceDetection": {
                    "type": "boolean",
                    "description": "If set, Artifactory displays an indication on cached items if they have been deleted from the corresponding repository in the remote Artifactory instance. Default value is 'false'\n"
                },
                "statisticsEnabled": {
                    "type": "boolean",
                    "description": "If set, Artifactory will notify the remote instance whenever an artifact in the Smart Remote Repository is downloaded locally so that it can update its download counter. Note that if this option is not set, there may be a discrepancy between the number of artifacts reported to have been downloaded in the different Artifactory instances of the proxy chain. Default value is 'false'.\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled",
                        "propertiesEnabled",
                        "sourceOriginAbsenceDetection",
                        "statisticsEnabled"
                    ]
                }
            }
        },
        "artifactory:index/RemoteNpmRepositoryContentSynchronisation:RemoteNpmRepositoryContentSynchronisation": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "If set, Remote repository proxies a local or remote repository from another instance of Artifactory. Default value is 'false'.\n"
                },
                "propertiesEnabled": {
                    "type": "boolean",
                    "description": "If set, properties for artifacts that have been cached in this repository will be updated if they are modified in the artifact hosted at the remote Artifactory instance. The trigger to synchronize the properties is download of the artifact from the remote repository cache of the local Artifactory instance. Default value is 'false'.\n"
                },
                "sourceOriginAbsenceDetection": {
                    "type": "boolean",
                    "description": "If set, Artifactory displays an indication on cached items if they have been deleted from the corresponding repository in the remote Artifactory instance. Default value is 'false'\n"
                },
                "statisticsEnabled": {
                    "type": "boolean",
                    "description": "If set, Artifactory will notify the remote instance whenever an artifact in the Smart Remote Repository is downloaded locally so that it can update its download counter. Note that if this option is not set, there may be a discrepancy between the number of artifacts reported to have been downloaded in the different Artifactory instances of the proxy chain. Default value is 'false'.\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled",
                        "propertiesEnabled",
                        "sourceOriginAbsenceDetection",
                        "statisticsEnabled"
                    ]
                }
            }
        },
        "artifactory:index/RemoteNugetRepositoryContentSynchronisation:RemoteNugetRepositoryContentSynchronisation": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "If set, Remote repository proxies a local or remote repository from another instance of Artifactory. Default value is 'false'.\n"
                },
                "propertiesEnabled": {
                    "type": "boolean",
                    "description": "If set, properties for artifacts that have been cached in this repository will be updated if they are modified in the artifact hosted at the remote Artifactory instance. The trigger to synchronize the properties is download of the artifact from the remote repository cache of the local Artifactory instance. Default value is 'false'.\n"
                },
                "sourceOriginAbsenceDetection": {
                    "type": "boolean",
                    "description": "If set, Artifactory displays an indication on cached items if they have been deleted from the corresponding repository in the remote Artifactory instance. Default value is 'false'\n"
                },
                "statisticsEnabled": {
                    "type": "boolean",
                    "description": "If set, Artifactory will notify the remote instance whenever an artifact in the Smart Remote Repository is downloaded locally so that it can update its download counter. Note that if this option is not set, there may be a discrepancy between the number of artifacts reported to have been downloaded in the different Artifactory instances of the proxy chain. Default value is 'false'.\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled",
                        "propertiesEnabled",
                        "sourceOriginAbsenceDetection",
                        "statisticsEnabled"
                    ]
                }
            }
        },
        "artifactory:index/RemoteOciRepositoryContentSynchronisation:RemoteOciRepositoryContentSynchronisation": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "If set, Remote repository proxies a local or remote repository from another instance of Artifactory. Default value is 'false'.\n"
                },
                "propertiesEnabled": {
                    "type": "boolean",
                    "description": "If set, properties for artifacts that have been cached in this repository will be updated if they are modified in the artifact hosted at the remote Artifactory instance. The trigger to synchronize the properties is download of the artifact from the remote repository cache of the local Artifactory instance. Default value is 'false'.\n"
                },
                "sourceOriginAbsenceDetection": {
                    "type": "boolean",
                    "description": "If set, Artifactory displays an indication on cached items if they have been deleted from the corresponding repository in the remote Artifactory instance. Default value is 'false'\n"
                },
                "statisticsEnabled": {
                    "type": "boolean",
                    "description": "If set, Artifactory will notify the remote instance whenever an artifact in the Smart Remote Repository is downloaded locally so that it can update its download counter. Note that if this option is not set, there may be a discrepancy between the number of artifacts reported to have been downloaded in the different Artifactory instances of the proxy chain. Default value is 'false'.\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled",
                        "propertiesEnabled",
                        "sourceOriginAbsenceDetection",
                        "statisticsEnabled"
                    ]
                }
            }
        },
        "artifactory:index/RemoteOpkgRepositoryContentSynchronisation:RemoteOpkgRepositoryContentSynchronisation": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "If set, Remote repository proxies a local or remote repository from another instance of Artifactory. Default value is 'false'.\n"
                },
                "propertiesEnabled": {
                    "type": "boolean",
                    "description": "If set, properties for artifacts that have been cached in this repository will be updated if they are modified in the artifact hosted at the remote Artifactory instance. The trigger to synchronize the properties is download of the artifact from the remote repository cache of the local Artifactory instance. Default value is 'false'.\n"
                },
                "sourceOriginAbsenceDetection": {
                    "type": "boolean",
                    "description": "If set, Artifactory displays an indication on cached items if they have been deleted from the corresponding repository in the remote Artifactory instance. Default value is 'false'\n"
                },
                "statisticsEnabled": {
                    "type": "boolean",
                    "description": "If set, Artifactory will notify the remote instance whenever an artifact in the Smart Remote Repository is downloaded locally so that it can update its download counter. Note that if this option is not set, there may be a discrepancy between the number of artifacts reported to have been downloaded in the different Artifactory instances of the proxy chain. Default value is 'false'.\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled",
                        "propertiesEnabled",
                        "sourceOriginAbsenceDetection",
                        "statisticsEnabled"
                    ]
                }
            }
        },
        "artifactory:index/RemoteP2RepositoryContentSynchronisation:RemoteP2RepositoryContentSynchronisation": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "If set, Remote repository proxies a local or remote repository from another instance of Artifactory. Default value is 'false'.\n"
                },
                "propertiesEnabled": {
                    "type": "boolean",
                    "description": "If set, properties for artifacts that have been cached in this repository will be updated if they are modified in the artifact hosted at the remote Artifactory instance. The trigger to synchronize the properties is download of the artifact from the remote repository cache of the local Artifactory instance. Default value is 'false'.\n"
                },
                "sourceOriginAbsenceDetection": {
                    "type": "boolean",
                    "description": "If set, Artifactory displays an indication on cached items if they have been deleted from the corresponding repository in the remote Artifactory instance. Default value is 'false'\n"
                },
                "statisticsEnabled": {
                    "type": "boolean",
                    "description": "If set, Artifactory will notify the remote instance whenever an artifact in the Smart Remote Repository is downloaded locally so that it can update its download counter. Note that if this option is not set, there may be a discrepancy between the number of artifacts reported to have been downloaded in the different Artifactory instances of the proxy chain. Default value is 'false'.\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled",
                        "propertiesEnabled",
                        "sourceOriginAbsenceDetection",
                        "statisticsEnabled"
                    ]
                }
            }
        },
        "artifactory:index/RemotePubRepositoryContentSynchronisation:RemotePubRepositoryContentSynchronisation": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "If set, Remote repository proxies a local or remote repository from another instance of Artifactory. Default value is 'false'.\n"
                },
                "propertiesEnabled": {
                    "type": "boolean",
                    "description": "If set, properties for artifacts that have been cached in this repository will be updated if they are modified in the artifact hosted at the remote Artifactory instance. The trigger to synchronize the properties is download of the artifact from the remote repository cache of the local Artifactory instance. Default value is 'false'.\n"
                },
                "sourceOriginAbsenceDetection": {
                    "type": "boolean",
                    "description": "If set, Artifactory displays an indication on cached items if they have been deleted from the corresponding repository in the remote Artifactory instance. Default value is 'false'\n"
                },
                "statisticsEnabled": {
                    "type": "boolean",
                    "description": "If set, Artifactory will notify the remote instance whenever an artifact in the Smart Remote Repository is downloaded locally so that it can update its download counter. Note that if this option is not set, there may be a discrepancy between the number of artifacts reported to have been downloaded in the different Artifactory instances of the proxy chain. Default value is 'false'.\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled",
                        "propertiesEnabled",
                        "sourceOriginAbsenceDetection",
                        "statisticsEnabled"
                    ]
                }
            }
        },
        "artifactory:index/RemotePuppetRepositoryContentSynchronisation:RemotePuppetRepositoryContentSynchronisation": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "If set, Remote repository proxies a local or remote repository from another instance of Artifactory. Default value is 'false'.\n"
                },
                "propertiesEnabled": {
                    "type": "boolean",
                    "description": "If set, properties for artifacts that have been cached in this repository will be updated if they are modified in the artifact hosted at the remote Artifactory instance. The trigger to synchronize the properties is download of the artifact from the remote repository cache of the local Artifactory instance. Default value is 'false'.\n"
                },
                "sourceOriginAbsenceDetection": {
                    "type": "boolean",
                    "description": "If set, Artifactory displays an indication on cached items if they have been deleted from the corresponding repository in the remote Artifactory instance. Default value is 'false'\n"
                },
                "statisticsEnabled": {
                    "type": "boolean",
                    "description": "If set, Artifactory will notify the remote instance whenever an artifact in the Smart Remote Repository is downloaded locally so that it can update its download counter. Note that if this option is not set, there may be a discrepancy between the number of artifacts reported to have been downloaded in the different Artifactory instances of the proxy chain. Default value is 'false'.\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled",
                        "propertiesEnabled",
                        "sourceOriginAbsenceDetection",
                        "statisticsEnabled"
                    ]
                }
            }
        },
        "artifactory:index/RemotePypiRepositoryContentSynchronisation:RemotePypiRepositoryContentSynchronisation": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "If set, Remote repository proxies a local or remote repository from another instance of Artifactory. Default value is 'false'.\n"
                },
                "propertiesEnabled": {
                    "type": "boolean",
                    "description": "If set, properties for artifacts that have been cached in this repository will be updated if they are modified in the artifact hosted at the remote Artifactory instance. The trigger to synchronize the properties is download of the artifact from the remote repository cache of the local Artifactory instance. Default value is 'false'.\n"
                },
                "sourceOriginAbsenceDetection": {
                    "type": "boolean",
                    "description": "If set, Artifactory displays an indication on cached items if they have been deleted from the corresponding repository in the remote Artifactory instance. Default value is 'false'\n"
                },
                "statisticsEnabled": {
                    "type": "boolean",
                    "description": "If set, Artifactory will notify the remote instance whenever an artifact in the Smart Remote Repository is downloaded locally so that it can update its download counter. Note that if this option is not set, there may be a discrepancy between the number of artifacts reported to have been downloaded in the different Artifactory instances of the proxy chain. Default value is 'false'.\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled",
                        "propertiesEnabled",
                        "sourceOriginAbsenceDetection",
                        "statisticsEnabled"
                    ]
                }
            }
        },
        "artifactory:index/RemoteRpmRepositoryContentSynchronisation:RemoteRpmRepositoryContentSynchronisation": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "If set, Remote repository proxies a local or remote repository from another instance of Artifactory. Default value is 'false'.\n"
                },
                "propertiesEnabled": {
                    "type": "boolean",
                    "description": "If set, properties for artifacts that have been cached in this repository will be updated if they are modified in the artifact hosted at the remote Artifactory instance. The trigger to synchronize the properties is download of the artifact from the remote repository cache of the local Artifactory instance. Default value is 'false'.\n"
                },
                "sourceOriginAbsenceDetection": {
                    "type": "boolean",
                    "description": "If set, Artifactory displays an indication on cached items if they have been deleted from the corresponding repository in the remote Artifactory instance. Default value is 'false'\n"
                },
                "statisticsEnabled": {
                    "type": "boolean",
                    "description": "If set, Artifactory will notify the remote instance whenever an artifact in the Smart Remote Repository is downloaded locally so that it can update its download counter. Note that if this option is not set, there may be a discrepancy between the number of artifacts reported to have been downloaded in the different Artifactory instances of the proxy chain. Default value is 'false'.\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled",
                        "propertiesEnabled",
                        "sourceOriginAbsenceDetection",
                        "statisticsEnabled"
                    ]
                }
            }
        },
        "artifactory:index/RemoteSbtRepositoryContentSynchronisation:RemoteSbtRepositoryContentSynchronisation": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "If set, Remote repository proxies a local or remote repository from another instance of Artifactory. Default value is 'false'.\n"
                },
                "propertiesEnabled": {
                    "type": "boolean",
                    "description": "If set, properties for artifacts that have been cached in this repository will be updated if they are modified in the artifact hosted at the remote Artifactory instance. The trigger to synchronize the properties is download of the artifact from the remote repository cache of the local Artifactory instance. Default value is 'false'.\n"
                },
                "sourceOriginAbsenceDetection": {
                    "type": "boolean",
                    "description": "If set, Artifactory displays an indication on cached items if they have been deleted from the corresponding repository in the remote Artifactory instance. Default value is 'false'\n"
                },
                "statisticsEnabled": {
                    "type": "boolean",
                    "description": "If set, Artifactory will notify the remote instance whenever an artifact in the Smart Remote Repository is downloaded locally so that it can update its download counter. Note that if this option is not set, there may be a discrepancy between the number of artifacts reported to have been downloaded in the different Artifactory instances of the proxy chain. Default value is 'false'.\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled",
                        "propertiesEnabled",
                        "sourceOriginAbsenceDetection",
                        "statisticsEnabled"
                    ]
                }
            }
        },
        "artifactory:index/RemoteSwiftRepositoryContentSynchronisation:RemoteSwiftRepositoryContentSynchronisation": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "If set, Remote repository proxies a local or remote repository from another instance of Artifactory. Default value is 'false'.\n"
                },
                "propertiesEnabled": {
                    "type": "boolean",
                    "description": "If set, properties for artifacts that have been cached in this repository will be updated if they are modified in the artifact hosted at the remote Artifactory instance. The trigger to synchronize the properties is download of the artifact from the remote repository cache of the local Artifactory instance. Default value is 'false'.\n"
                },
                "sourceOriginAbsenceDetection": {
                    "type": "boolean",
                    "description": "If set, Artifactory displays an indication on cached items if they have been deleted from the corresponding repository in the remote Artifactory instance. Default value is 'false'\n"
                },
                "statisticsEnabled": {
                    "type": "boolean",
                    "description": "If set, Artifactory will notify the remote instance whenever an artifact in the Smart Remote Repository is downloaded locally so that it can update its download counter. Note that if this option is not set, there may be a discrepancy between the number of artifacts reported to have been downloaded in the different Artifactory instances of the proxy chain. Default value is 'false'.\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled",
                        "propertiesEnabled",
                        "sourceOriginAbsenceDetection",
                        "statisticsEnabled"
                    ]
                }
            }
        },
        "artifactory:index/RemoteTerraformRepositoryContentSynchronisation:RemoteTerraformRepositoryContentSynchronisation": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "If set, Remote repository proxies a local or remote repository from another instance of Artifactory. Default value is 'false'.\n"
                },
                "propertiesEnabled": {
                    "type": "boolean",
                    "description": "If set, properties for artifacts that have been cached in this repository will be updated if they are modified in the artifact hosted at the remote Artifactory instance. The trigger to synchronize the properties is download of the artifact from the remote repository cache of the local Artifactory instance. Default value is 'false'.\n"
                },
                "sourceOriginAbsenceDetection": {
                    "type": "boolean",
                    "description": "If set, Artifactory displays an indication on cached items if they have been deleted from the corresponding repository in the remote Artifactory instance. Default value is 'false'\n"
                },
                "statisticsEnabled": {
                    "type": "boolean",
                    "description": "If set, Artifactory will notify the remote instance whenever an artifact in the Smart Remote Repository is downloaded locally so that it can update its download counter. Note that if this option is not set, there may be a discrepancy between the number of artifacts reported to have been downloaded in the different Artifactory instances of the proxy chain. Default value is 'false'.\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled",
                        "propertiesEnabled",
                        "sourceOriginAbsenceDetection",
                        "statisticsEnabled"
                    ]
                }
            }
        },
        "artifactory:index/RemoteVcsRepositoryContentSynchronisation:RemoteVcsRepositoryContentSynchronisation": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "If set, Remote repository proxies a local or remote repository from another instance of Artifactory. Default value is 'false'.\n"
                },
                "propertiesEnabled": {
                    "type": "boolean",
                    "description": "If set, properties for artifacts that have been cached in this repository will be updated if they are modified in the artifact hosted at the remote Artifactory instance. The trigger to synchronize the properties is download of the artifact from the remote repository cache of the local Artifactory instance. Default value is 'false'.\n"
                },
                "sourceOriginAbsenceDetection": {
                    "type": "boolean",
                    "description": "If set, Artifactory displays an indication on cached items if they have been deleted from the corresponding repository in the remote Artifactory instance. Default value is 'false'\n"
                },
                "statisticsEnabled": {
                    "type": "boolean",
                    "description": "If set, Artifactory will notify the remote instance whenever an artifact in the Smart Remote Repository is downloaded locally so that it can update its download counter. Note that if this option is not set, there may be a discrepancy between the number of artifacts reported to have been downloaded in the different Artifactory instances of the proxy chain. Default value is 'false'.\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "enabled",
                        "propertiesEnabled",
                        "sourceOriginAbsenceDetection",
                        "statisticsEnabled"
                    ]
                }
            }
        },
        "artifactory:index/UnmanagedUserPasswordPolicy:UnmanagedUserPasswordPolicy": {
            "properties": {
                "digit": {
                    "type": "integer",
                    "description": "Minimum number of digits that the password must contain\n"
                },
                "length": {
                    "type": "integer",
                    "description": "Minimum length of the password\n"
                },
                "lowercase": {
                    "type": "integer",
                    "description": "Minimum number of lowercase letters that the password must contain\n"
                },
                "specialChar": {
                    "type": "integer",
                    "description": "Minimum number of special char that the password must contain. Special chars list: ``!\"#$%\u0026'()*+,-./:;\u003c=\u003e?@[\\]^_`{|}~``\n"
                },
                "uppercase": {
                    "type": "integer",
                    "description": "Minimum number of uppercase letters that the password must contain\n"
                }
            },
            "type": "object"
        },
        "artifactory:index/UserCustomWebhookHandler:UserCustomWebhookHandler": {
            "properties": {
                "httpHeaders": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "HTTP headers you wish to use to invoke the Webhook, comprise key/value pair.\n"
                },
                "method": {
                    "type": "string",
                    "description": "Specifies the HTTP method for the URL that the Webhook invokes. Allowed values are: `GET`, `POST`, `PUT`, `PATCH`, `DELETE`.\n"
                },
                "payload": {
                    "type": "string",
                    "description": "This attribute is used to build the request body. Used in custom webhooks\n"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory UI (Administration \u003e Proxies \u003e Configuration).\n"
                },
                "secrets": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Defines a set of sensitive values (such as, tokens and passwords) that can be injected in the headers and/or payload.Secrets’ values are encrypted. In the header/payload, the value can be invoked using the `{{.secrets.token}}` format, where token is the name provided for the secret value. Comprise key/value pair. **Note:** if multiple handlers are used, same secret name and different secret value for the same url won't work. Example:\n\n",
                    "secret": true
                },
                "url": {
                    "type": "string",
                    "description": "Specifies the URL that the Webhook invokes. This will be the URL that Artifactory will send a request to.\n"
                }
            },
            "type": "object",
            "required": [
                "url"
            ]
        },
        "artifactory:index/UserPasswordPolicy:UserPasswordPolicy": {
            "properties": {
                "digit": {
                    "type": "integer",
                    "description": "Minimum number of digits that the password must contain\n"
                },
                "length": {
                    "type": "integer",
                    "description": "Minimum length of the password\n"
                },
                "lowercase": {
                    "type": "integer",
                    "description": "Minimum number of lowercase letters that the password must contain\n"
                },
                "specialChar": {
                    "type": "integer",
                    "description": "Minimum number of special char that the password must contain. Special chars list: `!\"#$%\u0026'()*+,-./:;\u003c=\u003e?@[\\]^_`{|}~`\n"
                },
                "uppercase": {
                    "type": "integer",
                    "description": "Minimum number of uppercase letters that the password must contain\n"
                }
            },
            "type": "object"
        },
        "artifactory:index/UserWebhookHandler:UserWebhookHandler": {
            "properties": {
                "customHttpHeaders": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Custom HTTP headers you wish to use to invoke the Webhook, comprise of key/value pair.\n"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory UI (Administration \u003e Proxies \u003e Configuration).\n"
                },
                "secret": {
                    "type": "string",
                    "description": "Secret authentication token that will be sent to the configured URL. The value will be sent as `x-jfrog-event-auth` header.\n",
                    "secret": true
                },
                "url": {
                    "type": "string",
                    "description": "Specifies the URL that the Webhook invokes. This will be the URL that Artifactory will send an HTTP POST request to.\n"
                },
                "useSecretForSigning": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the secret will be used to sign the event payload, allowing the target to validate that the payload content has not been changed and will not be passed as part of the event. If left unset or set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e, the secret is passed through the `X-JFrog-Event-Auth` HTTP header.\n"
                }
            },
            "type": "object",
            "required": [
                "url"
            ]
        },
        "artifactory:index/VaultConfigurationConfig:VaultConfigurationConfig": {
            "properties": {
                "auth": {
                    "$ref": "#/types/artifactory:index/VaultConfigurationConfigAuth:VaultConfigurationConfigAuth"
                },
                "mounts": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/VaultConfigurationConfigMount:VaultConfigurationConfigMount"
                    }
                },
                "url": {
                    "type": "string",
                    "description": "The base URL of the Vault server.\n"
                }
            },
            "type": "object",
            "required": [
                "auth",
                "mounts",
                "url"
            ]
        },
        "artifactory:index/VaultConfigurationConfigAuth:VaultConfigurationConfigAuth": {
            "properties": {
                "certificate": {
                    "type": "string",
                    "description": "Client certificate (in PEM format) for `Certificate` type.\n"
                },
                "certificateKey": {
                    "type": "string",
                    "description": "Private key (in PEM format) for `Certificate` type.\n"
                },
                "roleId": {
                    "type": "string",
                    "description": "Role ID for `AppRole` type\n",
                    "secret": true
                },
                "secretId": {
                    "type": "string",
                    "description": "Secret ID for `AppRole` type\n",
                    "secret": true
                },
                "type": {
                    "type": "string",
                    "description": "The authentication method used. The supported methods are `Certificate`, `AppRole`, and `Agent`. For more information, see [Hashicorp Vault Docs](https://developer.hashicorp.com/vault/docs/auth).\n"
                }
            },
            "type": "object",
            "required": [
                "type"
            ]
        },
        "artifactory:index/VaultConfigurationConfigMount:VaultConfigurationConfigMount": {
            "properties": {
                "path": {
                    "type": "string",
                    "description": "Vault secret engine path\n"
                },
                "type": {
                    "type": "string",
                    "description": "Vault supports several secret engines, each one has different capabilities. The supported secret engine types are: `KV1` and `KV2`.\n"
                }
            },
            "type": "object",
            "required": [
                "path",
                "type"
            ]
        },
        "artifactory:index/getFederatedAlpineRepositoryMember:getFederatedAlpineRepositoryMember": {
            "properties": {
                "accessToken": {
                    "type": "string",
                    "description": "Admin access token for this member Artifactory instance. Used in conjunction with \u003cspan pulumi-lang-nodejs=\"`cleanupOnDelete`\" pulumi-lang-dotnet=\"`CleanupOnDelete`\" pulumi-lang-go=\"`cleanupOnDelete`\" pulumi-lang-python=\"`cleanup_on_delete`\" pulumi-lang-yaml=\"`cleanupOnDelete`\" pulumi-lang-java=\"`cleanupOnDelete`\" pulumi-lang-hcl=\"`cleanup_on_delete`\"\u003e`cleanupOnDelete`\u003c/span\u003e attribute when Access Federation for access tokens is not enabled.\n",
                    "secret": true
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Represents the active state of the federated member. It is supported to change the enabled\nstatus of my own member. The config will be updated on the other federated members automatically.\n"
                },
                "url": {
                    "type": "string",
                    "description": "Full URL to ending with the repository name.\n"
                }
            },
            "type": "object",
            "required": [
                "enabled",
                "url"
            ]
        },
        "artifactory:index/getFederatedAnsibleRepositoryMember:getFederatedAnsibleRepositoryMember": {
            "properties": {
                "accessToken": {
                    "type": "string",
                    "description": "Admin access token for this member Artifactory instance. Used in conjunction with \u003cspan pulumi-lang-nodejs=\"`cleanupOnDelete`\" pulumi-lang-dotnet=\"`CleanupOnDelete`\" pulumi-lang-go=\"`cleanupOnDelete`\" pulumi-lang-python=\"`cleanup_on_delete`\" pulumi-lang-yaml=\"`cleanupOnDelete`\" pulumi-lang-java=\"`cleanupOnDelete`\" pulumi-lang-hcl=\"`cleanup_on_delete`\"\u003e`cleanupOnDelete`\u003c/span\u003e attribute when Access Federation for access tokens is not enabled.\n",
                    "secret": true
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Represents the active state of the federated member. It is supported to change the enabled\nstatus of my own member. The config will be updated on the other federated members automatically.\n"
                },
                "url": {
                    "type": "string",
                    "description": "Full URL to ending with the repository name.\n"
                }
            },
            "type": "object",
            "required": [
                "enabled",
                "url"
            ]
        },
        "artifactory:index/getFederatedBowerRepositoryMember:getFederatedBowerRepositoryMember": {
            "properties": {
                "accessToken": {
                    "type": "string",
                    "description": "Admin access token for this member Artifactory instance. Used in conjunction with \u003cspan pulumi-lang-nodejs=\"`cleanupOnDelete`\" pulumi-lang-dotnet=\"`CleanupOnDelete`\" pulumi-lang-go=\"`cleanupOnDelete`\" pulumi-lang-python=\"`cleanup_on_delete`\" pulumi-lang-yaml=\"`cleanupOnDelete`\" pulumi-lang-java=\"`cleanupOnDelete`\" pulumi-lang-hcl=\"`cleanup_on_delete`\"\u003e`cleanupOnDelete`\u003c/span\u003e attribute when Access Federation for access tokens is not enabled.\n",
                    "secret": true
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Represents the active state of the federated member. It is supported to change the enabled\nstatus of my own member. The config will be updated on the other federated members automatically.\n"
                },
                "url": {
                    "type": "string",
                    "description": "Full URL to ending with the repository name.\n"
                }
            },
            "type": "object",
            "required": [
                "enabled",
                "url"
            ]
        },
        "artifactory:index/getFederatedCargoRepositoryMember:getFederatedCargoRepositoryMember": {
            "properties": {
                "accessToken": {
                    "type": "string",
                    "description": "Admin access token for this member Artifactory instance. Used in conjunction with \u003cspan pulumi-lang-nodejs=\"`cleanupOnDelete`\" pulumi-lang-dotnet=\"`CleanupOnDelete`\" pulumi-lang-go=\"`cleanupOnDelete`\" pulumi-lang-python=\"`cleanup_on_delete`\" pulumi-lang-yaml=\"`cleanupOnDelete`\" pulumi-lang-java=\"`cleanupOnDelete`\" pulumi-lang-hcl=\"`cleanup_on_delete`\"\u003e`cleanupOnDelete`\u003c/span\u003e attribute when Access Federation for access tokens is not enabled.\n",
                    "secret": true
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Represents the active state of the federated member. It is supported to change the enabled\nstatus of my own member. The config will be updated on the other federated members automatically.\n"
                },
                "url": {
                    "type": "string",
                    "description": "Full URL to ending with the repository name.\n"
                }
            },
            "type": "object",
            "required": [
                "enabled",
                "url"
            ]
        },
        "artifactory:index/getFederatedChefRepositoryMember:getFederatedChefRepositoryMember": {
            "properties": {
                "accessToken": {
                    "type": "string",
                    "description": "Admin access token for this member Artifactory instance. Used in conjunction with \u003cspan pulumi-lang-nodejs=\"`cleanupOnDelete`\" pulumi-lang-dotnet=\"`CleanupOnDelete`\" pulumi-lang-go=\"`cleanupOnDelete`\" pulumi-lang-python=\"`cleanup_on_delete`\" pulumi-lang-yaml=\"`cleanupOnDelete`\" pulumi-lang-java=\"`cleanupOnDelete`\" pulumi-lang-hcl=\"`cleanup_on_delete`\"\u003e`cleanupOnDelete`\u003c/span\u003e attribute when Access Federation for access tokens is not enabled.\n",
                    "secret": true
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Represents the active state of the federated member. It is supported to change the enabled\nstatus of my own member. The config will be updated on the other federated members automatically.\n"
                },
                "url": {
                    "type": "string",
                    "description": "Full URL to ending with the repository name.\n"
                }
            },
            "type": "object",
            "required": [
                "enabled",
                "url"
            ]
        },
        "artifactory:index/getFederatedCocoapodsRepositoryMember:getFederatedCocoapodsRepositoryMember": {
            "properties": {
                "accessToken": {
                    "type": "string",
                    "description": "Admin access token for this member Artifactory instance. Used in conjunction with \u003cspan pulumi-lang-nodejs=\"`cleanupOnDelete`\" pulumi-lang-dotnet=\"`CleanupOnDelete`\" pulumi-lang-go=\"`cleanupOnDelete`\" pulumi-lang-python=\"`cleanup_on_delete`\" pulumi-lang-yaml=\"`cleanupOnDelete`\" pulumi-lang-java=\"`cleanupOnDelete`\" pulumi-lang-hcl=\"`cleanup_on_delete`\"\u003e`cleanupOnDelete`\u003c/span\u003e attribute when Access Federation for access tokens is not enabled.\n",
                    "secret": true
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Represents the active state of the federated member. It is supported to change the enabled\nstatus of my own member. The config will be updated on the other federated members automatically.\n"
                },
                "url": {
                    "type": "string",
                    "description": "Full URL to ending with the repository name.\n"
                }
            },
            "type": "object",
            "required": [
                "enabled",
                "url"
            ]
        },
        "artifactory:index/getFederatedComposerRepositoryMember:getFederatedComposerRepositoryMember": {
            "properties": {
                "accessToken": {
                    "type": "string",
                    "description": "Admin access token for this member Artifactory instance. Used in conjunction with \u003cspan pulumi-lang-nodejs=\"`cleanupOnDelete`\" pulumi-lang-dotnet=\"`CleanupOnDelete`\" pulumi-lang-go=\"`cleanupOnDelete`\" pulumi-lang-python=\"`cleanup_on_delete`\" pulumi-lang-yaml=\"`cleanupOnDelete`\" pulumi-lang-java=\"`cleanupOnDelete`\" pulumi-lang-hcl=\"`cleanup_on_delete`\"\u003e`cleanupOnDelete`\u003c/span\u003e attribute when Access Federation for access tokens is not enabled.\n",
                    "secret": true
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Represents the active state of the federated member. It is supported to change the enabled\nstatus of my own member. The config will be updated on the other federated members automatically.\n"
                },
                "url": {
                    "type": "string",
                    "description": "Full URL to ending with the repository name.\n"
                }
            },
            "type": "object",
            "required": [
                "enabled",
                "url"
            ]
        },
        "artifactory:index/getFederatedConanRepositoryMember:getFederatedConanRepositoryMember": {
            "properties": {
                "accessToken": {
                    "type": "string",
                    "description": "Admin access token for this member Artifactory instance. Used in conjunction with \u003cspan pulumi-lang-nodejs=\"`cleanupOnDelete`\" pulumi-lang-dotnet=\"`CleanupOnDelete`\" pulumi-lang-go=\"`cleanupOnDelete`\" pulumi-lang-python=\"`cleanup_on_delete`\" pulumi-lang-yaml=\"`cleanupOnDelete`\" pulumi-lang-java=\"`cleanupOnDelete`\" pulumi-lang-hcl=\"`cleanup_on_delete`\"\u003e`cleanupOnDelete`\u003c/span\u003e attribute when Access Federation for access tokens is not enabled.\n",
                    "secret": true
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Represents the active state of the federated member. It is supported to change the enabled\nstatus of my own member. The config will be updated on the other federated members automatically.\n"
                },
                "url": {
                    "type": "string",
                    "description": "Full URL to ending with the repository name.\n"
                }
            },
            "type": "object",
            "required": [
                "enabled",
                "url"
            ]
        },
        "artifactory:index/getFederatedCondaRepositoryMember:getFederatedCondaRepositoryMember": {
            "properties": {
                "accessToken": {
                    "type": "string",
                    "description": "Admin access token for this member Artifactory instance. Used in conjunction with \u003cspan pulumi-lang-nodejs=\"`cleanupOnDelete`\" pulumi-lang-dotnet=\"`CleanupOnDelete`\" pulumi-lang-go=\"`cleanupOnDelete`\" pulumi-lang-python=\"`cleanup_on_delete`\" pulumi-lang-yaml=\"`cleanupOnDelete`\" pulumi-lang-java=\"`cleanupOnDelete`\" pulumi-lang-hcl=\"`cleanup_on_delete`\"\u003e`cleanupOnDelete`\u003c/span\u003e attribute when Access Federation for access tokens is not enabled.\n",
                    "secret": true
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Represents the active state of the federated member. It is supported to change the enabled\nstatus of my own member. The config will be updated on the other federated members automatically.\n"
                },
                "url": {
                    "type": "string",
                    "description": "Full URL to ending with the repository name.\n"
                }
            },
            "type": "object",
            "required": [
                "enabled",
                "url"
            ]
        },
        "artifactory:index/getFederatedCranRepositoryMember:getFederatedCranRepositoryMember": {
            "properties": {
                "accessToken": {
                    "type": "string",
                    "description": "Admin access token for this member Artifactory instance. Used in conjunction with \u003cspan pulumi-lang-nodejs=\"`cleanupOnDelete`\" pulumi-lang-dotnet=\"`CleanupOnDelete`\" pulumi-lang-go=\"`cleanupOnDelete`\" pulumi-lang-python=\"`cleanup_on_delete`\" pulumi-lang-yaml=\"`cleanupOnDelete`\" pulumi-lang-java=\"`cleanupOnDelete`\" pulumi-lang-hcl=\"`cleanup_on_delete`\"\u003e`cleanupOnDelete`\u003c/span\u003e attribute when Access Federation for access tokens is not enabled.\n",
                    "secret": true
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Represents the active state of the federated member. It is supported to change the enabled\nstatus of my own member. The config will be updated on the other federated members automatically.\n"
                },
                "url": {
                    "type": "string",
                    "description": "Full URL to ending with the repository name.\n"
                }
            },
            "type": "object",
            "required": [
                "enabled",
                "url"
            ]
        },
        "artifactory:index/getFederatedDebianRepositoryMember:getFederatedDebianRepositoryMember": {
            "properties": {
                "accessToken": {
                    "type": "string",
                    "description": "Admin access token for this member Artifactory instance. Used in conjunction with \u003cspan pulumi-lang-nodejs=\"`cleanupOnDelete`\" pulumi-lang-dotnet=\"`CleanupOnDelete`\" pulumi-lang-go=\"`cleanupOnDelete`\" pulumi-lang-python=\"`cleanup_on_delete`\" pulumi-lang-yaml=\"`cleanupOnDelete`\" pulumi-lang-java=\"`cleanupOnDelete`\" pulumi-lang-hcl=\"`cleanup_on_delete`\"\u003e`cleanupOnDelete`\u003c/span\u003e attribute when Access Federation for access tokens is not enabled.\n",
                    "secret": true
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Represents the active state of the federated member. It is supported to change the enabled\nstatus of my own member. The config will be updated on the other federated members automatically.\n"
                },
                "url": {
                    "type": "string",
                    "description": "Full URL to ending with the repository name.\n"
                }
            },
            "type": "object",
            "required": [
                "enabled",
                "url"
            ]
        },
        "artifactory:index/getFederatedDockerRepositoryMember:getFederatedDockerRepositoryMember": {
            "properties": {
                "accessToken": {
                    "type": "string",
                    "description": "Admin access token for this member Artifactory instance. Used in conjunction with \u003cspan pulumi-lang-nodejs=\"`cleanupOnDelete`\" pulumi-lang-dotnet=\"`CleanupOnDelete`\" pulumi-lang-go=\"`cleanupOnDelete`\" pulumi-lang-python=\"`cleanup_on_delete`\" pulumi-lang-yaml=\"`cleanupOnDelete`\" pulumi-lang-java=\"`cleanupOnDelete`\" pulumi-lang-hcl=\"`cleanup_on_delete`\"\u003e`cleanupOnDelete`\u003c/span\u003e attribute when Access Federation for access tokens is not enabled.\n",
                    "secret": true
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Represents the active state of the federated member. It is supported to change the enabled status of my own member. The config will be updated on the other federated members automatically.\n"
                },
                "url": {
                    "type": "string",
                    "description": "Full URL to ending with the repositoryName\n"
                }
            },
            "type": "object",
            "required": [
                "enabled",
                "url"
            ]
        },
        "artifactory:index/getFederatedDockerV1RepositoryMember:getFederatedDockerV1RepositoryMember": {
            "properties": {
                "accessToken": {
                    "type": "string",
                    "description": "Admin access token for this member Artifactory instance. Used in conjunction with \u003cspan pulumi-lang-nodejs=\"`cleanupOnDelete`\" pulumi-lang-dotnet=\"`CleanupOnDelete`\" pulumi-lang-go=\"`cleanupOnDelete`\" pulumi-lang-python=\"`cleanup_on_delete`\" pulumi-lang-yaml=\"`cleanupOnDelete`\" pulumi-lang-java=\"`cleanupOnDelete`\" pulumi-lang-hcl=\"`cleanup_on_delete`\"\u003e`cleanupOnDelete`\u003c/span\u003e attribute when Access Federation for access tokens is not enabled.\n",
                    "secret": true
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Represents the active state of the federated member. It is supported to change the enabled\nstatus of my own member. The config will be updated on the other federated members automatically.\n"
                },
                "url": {
                    "type": "string",
                    "description": "Full URL to ending with the repository name.\n"
                }
            },
            "type": "object",
            "required": [
                "enabled",
                "url"
            ]
        },
        "artifactory:index/getFederatedDockerV2RepositoryMember:getFederatedDockerV2RepositoryMember": {
            "properties": {
                "accessToken": {
                    "type": "string",
                    "description": "Admin access token for this member Artifactory instance. Used in conjunction with \u003cspan pulumi-lang-nodejs=\"`cleanupOnDelete`\" pulumi-lang-dotnet=\"`CleanupOnDelete`\" pulumi-lang-go=\"`cleanupOnDelete`\" pulumi-lang-python=\"`cleanup_on_delete`\" pulumi-lang-yaml=\"`cleanupOnDelete`\" pulumi-lang-java=\"`cleanupOnDelete`\" pulumi-lang-hcl=\"`cleanup_on_delete`\"\u003e`cleanupOnDelete`\u003c/span\u003e attribute when Access Federation for access tokens is not enabled.\n",
                    "secret": true
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Represents the active state of the federated member. It is supported to change the enabled\nstatus of my own member. The config will be updated on the other federated members automatically.\n"
                },
                "url": {
                    "type": "string",
                    "description": "Full URL to ending with the repository name.\n"
                }
            },
            "type": "object",
            "required": [
                "enabled",
                "url"
            ]
        },
        "artifactory:index/getFederatedGemsRepositoryMember:getFederatedGemsRepositoryMember": {
            "properties": {
                "accessToken": {
                    "type": "string",
                    "description": "Admin access token for this member Artifactory instance. Used in conjunction with \u003cspan pulumi-lang-nodejs=\"`cleanupOnDelete`\" pulumi-lang-dotnet=\"`CleanupOnDelete`\" pulumi-lang-go=\"`cleanupOnDelete`\" pulumi-lang-python=\"`cleanup_on_delete`\" pulumi-lang-yaml=\"`cleanupOnDelete`\" pulumi-lang-java=\"`cleanupOnDelete`\" pulumi-lang-hcl=\"`cleanup_on_delete`\"\u003e`cleanupOnDelete`\u003c/span\u003e attribute when Access Federation for access tokens is not enabled.\n",
                    "secret": true
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Represents the active state of the federated member. It is supported to change the enabled\nstatus of my own member. The config will be updated on the other federated members automatically.\n"
                },
                "url": {
                    "type": "string",
                    "description": "Full URL to ending with the repository name.\n"
                }
            },
            "type": "object",
            "required": [
                "enabled",
                "url"
            ]
        },
        "artifactory:index/getFederatedGenericRepositoryMember:getFederatedGenericRepositoryMember": {
            "properties": {
                "accessToken": {
                    "type": "string",
                    "description": "Admin access token for this member Artifactory instance. Used in conjunction with \u003cspan pulumi-lang-nodejs=\"`cleanupOnDelete`\" pulumi-lang-dotnet=\"`CleanupOnDelete`\" pulumi-lang-go=\"`cleanupOnDelete`\" pulumi-lang-python=\"`cleanup_on_delete`\" pulumi-lang-yaml=\"`cleanupOnDelete`\" pulumi-lang-java=\"`cleanupOnDelete`\" pulumi-lang-hcl=\"`cleanup_on_delete`\"\u003e`cleanupOnDelete`\u003c/span\u003e attribute when Access Federation for access tokens is not enabled.\n",
                    "secret": true
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Represents the active state of the federated member. It is supported to change the enabled\nstatus of my own member. The config will be updated on the other federated members automatically.\n"
                },
                "url": {
                    "type": "string",
                    "description": "Full URL to ending with the repository name.\n"
                }
            },
            "type": "object",
            "required": [
                "enabled",
                "url"
            ]
        },
        "artifactory:index/getFederatedGitlfsRepositoryMember:getFederatedGitlfsRepositoryMember": {
            "properties": {
                "accessToken": {
                    "type": "string",
                    "description": "Admin access token for this member Artifactory instance. Used in conjunction with \u003cspan pulumi-lang-nodejs=\"`cleanupOnDelete`\" pulumi-lang-dotnet=\"`CleanupOnDelete`\" pulumi-lang-go=\"`cleanupOnDelete`\" pulumi-lang-python=\"`cleanup_on_delete`\" pulumi-lang-yaml=\"`cleanupOnDelete`\" pulumi-lang-java=\"`cleanupOnDelete`\" pulumi-lang-hcl=\"`cleanup_on_delete`\"\u003e`cleanupOnDelete`\u003c/span\u003e attribute when Access Federation for access tokens is not enabled.\n",
                    "secret": true
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Represents the active state of the federated member. It is supported to change the enabled\nstatus of my own member. The config will be updated on the other federated members automatically.\n"
                },
                "url": {
                    "type": "string",
                    "description": "Full URL to ending with the repository name.\n"
                }
            },
            "type": "object",
            "required": [
                "enabled",
                "url"
            ]
        },
        "artifactory:index/getFederatedGoRepositoryMember:getFederatedGoRepositoryMember": {
            "properties": {
                "accessToken": {
                    "type": "string",
                    "description": "Admin access token for this member Artifactory instance. Used in conjunction with \u003cspan pulumi-lang-nodejs=\"`cleanupOnDelete`\" pulumi-lang-dotnet=\"`CleanupOnDelete`\" pulumi-lang-go=\"`cleanupOnDelete`\" pulumi-lang-python=\"`cleanup_on_delete`\" pulumi-lang-yaml=\"`cleanupOnDelete`\" pulumi-lang-java=\"`cleanupOnDelete`\" pulumi-lang-hcl=\"`cleanup_on_delete`\"\u003e`cleanupOnDelete`\u003c/span\u003e attribute when Access Federation for access tokens is not enabled.\n",
                    "secret": true
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Represents the active state of the federated member. It is supported to change the enabled\nstatus of my own member. The config will be updated on the other federated members automatically.\n"
                },
                "url": {
                    "type": "string",
                    "description": "Full URL to ending with the repository name.\n"
                }
            },
            "type": "object",
            "required": [
                "enabled",
                "url"
            ]
        },
        "artifactory:index/getFederatedGradleRepositoryMember:getFederatedGradleRepositoryMember": {
            "properties": {
                "accessToken": {
                    "type": "string",
                    "description": "Admin access token for this member Artifactory instance. Used in conjunction with \u003cspan pulumi-lang-nodejs=\"`cleanupOnDelete`\" pulumi-lang-dotnet=\"`CleanupOnDelete`\" pulumi-lang-go=\"`cleanupOnDelete`\" pulumi-lang-python=\"`cleanup_on_delete`\" pulumi-lang-yaml=\"`cleanupOnDelete`\" pulumi-lang-java=\"`cleanupOnDelete`\" pulumi-lang-hcl=\"`cleanup_on_delete`\"\u003e`cleanupOnDelete`\u003c/span\u003e attribute when Access Federation for access tokens is not enabled.\n",
                    "secret": true
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Represents the active state of the federated member. It is supported to change the enabled\nstatus of my own member. The config will be updated on the other federated members automatically.\n"
                },
                "url": {
                    "type": "string",
                    "description": "Full URL to ending with the repository name.\n"
                }
            },
            "type": "object",
            "required": [
                "enabled",
                "url"
            ]
        },
        "artifactory:index/getFederatedHelmRepositoryMember:getFederatedHelmRepositoryMember": {
            "properties": {
                "accessToken": {
                    "type": "string",
                    "description": "Admin access token for this member Artifactory instance. Used in conjunction with \u003cspan pulumi-lang-nodejs=\"`cleanupOnDelete`\" pulumi-lang-dotnet=\"`CleanupOnDelete`\" pulumi-lang-go=\"`cleanupOnDelete`\" pulumi-lang-python=\"`cleanup_on_delete`\" pulumi-lang-yaml=\"`cleanupOnDelete`\" pulumi-lang-java=\"`cleanupOnDelete`\" pulumi-lang-hcl=\"`cleanup_on_delete`\"\u003e`cleanupOnDelete`\u003c/span\u003e attribute when Access Federation for access tokens is not enabled.\n",
                    "secret": true
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Represents the active state of the federated member. It is supported to change the enabled\nstatus of my own member. The config will be updated on the other federated members automatically.\n"
                },
                "url": {
                    "type": "string",
                    "description": "Full URL to ending with the repository name.\n"
                }
            },
            "type": "object",
            "required": [
                "enabled",
                "url"
            ]
        },
        "artifactory:index/getFederatedHelmociRepositoryMember:getFederatedHelmociRepositoryMember": {
            "properties": {
                "accessToken": {
                    "type": "string",
                    "description": "Admin access token for this member Artifactory instance. Used in conjunction with \u003cspan pulumi-lang-nodejs=\"`cleanupOnDelete`\" pulumi-lang-dotnet=\"`CleanupOnDelete`\" pulumi-lang-go=\"`cleanupOnDelete`\" pulumi-lang-python=\"`cleanup_on_delete`\" pulumi-lang-yaml=\"`cleanupOnDelete`\" pulumi-lang-java=\"`cleanupOnDelete`\" pulumi-lang-hcl=\"`cleanup_on_delete`\"\u003e`cleanupOnDelete`\u003c/span\u003e attribute when Access Federation for access tokens is not enabled.\n",
                    "secret": true
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Represents the active state of the federated member. It is supported to change the enabled\nstatus of my own member. The config will be updated on the other federated members automatically.\n"
                },
                "url": {
                    "type": "string",
                    "description": "Full URL to ending with the repository name.\n"
                }
            },
            "type": "object",
            "required": [
                "enabled",
                "url"
            ]
        },
        "artifactory:index/getFederatedHuggingfacemlRepositoryMember:getFederatedHuggingfacemlRepositoryMember": {
            "properties": {
                "accessToken": {
                    "type": "string",
                    "description": "Admin access token for this member Artifactory instance. Used in conjunction with \u003cspan pulumi-lang-nodejs=\"`cleanupOnDelete`\" pulumi-lang-dotnet=\"`CleanupOnDelete`\" pulumi-lang-go=\"`cleanupOnDelete`\" pulumi-lang-python=\"`cleanup_on_delete`\" pulumi-lang-yaml=\"`cleanupOnDelete`\" pulumi-lang-java=\"`cleanupOnDelete`\" pulumi-lang-hcl=\"`cleanup_on_delete`\"\u003e`cleanupOnDelete`\u003c/span\u003e attribute when Access Federation for access tokens is not enabled.\n",
                    "secret": true
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Represents the active state of the federated member. It is supported to change the enabled status of my own member. The config will be updated on the other federated members automatically.\n"
                },
                "url": {
                    "type": "string",
                    "description": "Full URL to ending with the repositoryName\n"
                }
            },
            "type": "object",
            "required": [
                "enabled",
                "url"
            ]
        },
        "artifactory:index/getFederatedIvyRepositoryMember:getFederatedIvyRepositoryMember": {
            "properties": {
                "accessToken": {
                    "type": "string",
                    "description": "Admin access token for this member Artifactory instance. Used in conjunction with \u003cspan pulumi-lang-nodejs=\"`cleanupOnDelete`\" pulumi-lang-dotnet=\"`CleanupOnDelete`\" pulumi-lang-go=\"`cleanupOnDelete`\" pulumi-lang-python=\"`cleanup_on_delete`\" pulumi-lang-yaml=\"`cleanupOnDelete`\" pulumi-lang-java=\"`cleanupOnDelete`\" pulumi-lang-hcl=\"`cleanup_on_delete`\"\u003e`cleanupOnDelete`\u003c/span\u003e attribute when Access Federation for access tokens is not enabled.\n",
                    "secret": true
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Represents the active state of the federated member. It is supported to change the enabled\nstatus of my own member. The config will be updated on the other federated members automatically.\n"
                },
                "url": {
                    "type": "string",
                    "description": "Full URL to ending with the repository name.\n"
                }
            },
            "type": "object",
            "required": [
                "enabled",
                "url"
            ]
        },
        "artifactory:index/getFederatedMavenRepositoryMember:getFederatedMavenRepositoryMember": {
            "properties": {
                "accessToken": {
                    "type": "string",
                    "description": "Admin access token for this member Artifactory instance. Used in conjunction with \u003cspan pulumi-lang-nodejs=\"`cleanupOnDelete`\" pulumi-lang-dotnet=\"`CleanupOnDelete`\" pulumi-lang-go=\"`cleanupOnDelete`\" pulumi-lang-python=\"`cleanup_on_delete`\" pulumi-lang-yaml=\"`cleanupOnDelete`\" pulumi-lang-java=\"`cleanupOnDelete`\" pulumi-lang-hcl=\"`cleanup_on_delete`\"\u003e`cleanupOnDelete`\u003c/span\u003e attribute when Access Federation for access tokens is not enabled.\n",
                    "secret": true
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Represents the active state of the federated member. It is supported to change the enabled\nstatus of my own member. The config will be updated on the other federated members automatically.\n"
                },
                "url": {
                    "type": "string",
                    "description": "Full URL to ending with the repository name.\n"
                }
            },
            "type": "object",
            "required": [
                "enabled",
                "url"
            ]
        },
        "artifactory:index/getFederatedNpmRepositoryMember:getFederatedNpmRepositoryMember": {
            "properties": {
                "accessToken": {
                    "type": "string",
                    "description": "Admin access token for this member Artifactory instance. Used in conjunction with \u003cspan pulumi-lang-nodejs=\"`cleanupOnDelete`\" pulumi-lang-dotnet=\"`CleanupOnDelete`\" pulumi-lang-go=\"`cleanupOnDelete`\" pulumi-lang-python=\"`cleanup_on_delete`\" pulumi-lang-yaml=\"`cleanupOnDelete`\" pulumi-lang-java=\"`cleanupOnDelete`\" pulumi-lang-hcl=\"`cleanup_on_delete`\"\u003e`cleanupOnDelete`\u003c/span\u003e attribute when Access Federation for access tokens is not enabled.\n",
                    "secret": true
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Represents the active state of the federated member. It is supported to change the enabled\nstatus of my own member. The config will be updated on the other federated members automatically.\n"
                },
                "url": {
                    "type": "string",
                    "description": "Full URL to ending with the repository name.\n"
                }
            },
            "type": "object",
            "required": [
                "enabled",
                "url"
            ]
        },
        "artifactory:index/getFederatedNugetRepositoryMember:getFederatedNugetRepositoryMember": {
            "properties": {
                "accessToken": {
                    "type": "string",
                    "description": "Admin access token for this member Artifactory instance. Used in conjunction with \u003cspan pulumi-lang-nodejs=\"`cleanupOnDelete`\" pulumi-lang-dotnet=\"`CleanupOnDelete`\" pulumi-lang-go=\"`cleanupOnDelete`\" pulumi-lang-python=\"`cleanup_on_delete`\" pulumi-lang-yaml=\"`cleanupOnDelete`\" pulumi-lang-java=\"`cleanupOnDelete`\" pulumi-lang-hcl=\"`cleanup_on_delete`\"\u003e`cleanupOnDelete`\u003c/span\u003e attribute when Access Federation for access tokens is not enabled.\n",
                    "secret": true
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Represents the active state of the federated member. It is supported to change the enabled\nstatus of my own member. The config will be updated on the other federated members automatically.\n"
                },
                "url": {
                    "type": "string",
                    "description": "Full URL to ending with the repository name.\n"
                }
            },
            "type": "object",
            "required": [
                "enabled",
                "url"
            ]
        },
        "artifactory:index/getFederatedOciRepositoryMember:getFederatedOciRepositoryMember": {
            "properties": {
                "accessToken": {
                    "type": "string",
                    "description": "Admin access token for this member Artifactory instance. Used in conjunction with \u003cspan pulumi-lang-nodejs=\"`cleanupOnDelete`\" pulumi-lang-dotnet=\"`CleanupOnDelete`\" pulumi-lang-go=\"`cleanupOnDelete`\" pulumi-lang-python=\"`cleanup_on_delete`\" pulumi-lang-yaml=\"`cleanupOnDelete`\" pulumi-lang-java=\"`cleanupOnDelete`\" pulumi-lang-hcl=\"`cleanup_on_delete`\"\u003e`cleanupOnDelete`\u003c/span\u003e attribute when Access Federation for access tokens is not enabled.\n",
                    "secret": true
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Represents the active state of the federated member. It is supported to change the enabled\nstatus of my own member. The config will be updated on the other federated members automatically.\n"
                },
                "url": {
                    "type": "string",
                    "description": "Full URL to ending with the repository name.\n"
                }
            },
            "type": "object",
            "required": [
                "enabled",
                "url"
            ]
        },
        "artifactory:index/getFederatedOpkgRepositoryMember:getFederatedOpkgRepositoryMember": {
            "properties": {
                "accessToken": {
                    "type": "string",
                    "description": "Admin access token for this member Artifactory instance. Used in conjunction with \u003cspan pulumi-lang-nodejs=\"`cleanupOnDelete`\" pulumi-lang-dotnet=\"`CleanupOnDelete`\" pulumi-lang-go=\"`cleanupOnDelete`\" pulumi-lang-python=\"`cleanup_on_delete`\" pulumi-lang-yaml=\"`cleanupOnDelete`\" pulumi-lang-java=\"`cleanupOnDelete`\" pulumi-lang-hcl=\"`cleanup_on_delete`\"\u003e`cleanupOnDelete`\u003c/span\u003e attribute when Access Federation for access tokens is not enabled.\n",
                    "secret": true
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Represents the active state of the federated member. It is supported to change the enabled\nstatus of my own member. The config will be updated on the other federated members automatically.\n"
                },
                "url": {
                    "type": "string",
                    "description": "Full URL to ending with the repository name.\n"
                }
            },
            "type": "object",
            "required": [
                "enabled",
                "url"
            ]
        },
        "artifactory:index/getFederatedPuppetRepositoryMember:getFederatedPuppetRepositoryMember": {
            "properties": {
                "accessToken": {
                    "type": "string",
                    "description": "Admin access token for this member Artifactory instance. Used in conjunction with \u003cspan pulumi-lang-nodejs=\"`cleanupOnDelete`\" pulumi-lang-dotnet=\"`CleanupOnDelete`\" pulumi-lang-go=\"`cleanupOnDelete`\" pulumi-lang-python=\"`cleanup_on_delete`\" pulumi-lang-yaml=\"`cleanupOnDelete`\" pulumi-lang-java=\"`cleanupOnDelete`\" pulumi-lang-hcl=\"`cleanup_on_delete`\"\u003e`cleanupOnDelete`\u003c/span\u003e attribute when Access Federation for access tokens is not enabled.\n",
                    "secret": true
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Represents the active state of the federated member. It is supported to change the enabled\nstatus of my own member. The config will be updated on the other federated members automatically.\n"
                },
                "url": {
                    "type": "string",
                    "description": "Full URL to ending with the repository name.\n"
                }
            },
            "type": "object",
            "required": [
                "enabled",
                "url"
            ]
        },
        "artifactory:index/getFederatedPypiRepositoryMember:getFederatedPypiRepositoryMember": {
            "properties": {
                "accessToken": {
                    "type": "string",
                    "description": "Admin access token for this member Artifactory instance. Used in conjunction with \u003cspan pulumi-lang-nodejs=\"`cleanupOnDelete`\" pulumi-lang-dotnet=\"`CleanupOnDelete`\" pulumi-lang-go=\"`cleanupOnDelete`\" pulumi-lang-python=\"`cleanup_on_delete`\" pulumi-lang-yaml=\"`cleanupOnDelete`\" pulumi-lang-java=\"`cleanupOnDelete`\" pulumi-lang-hcl=\"`cleanup_on_delete`\"\u003e`cleanupOnDelete`\u003c/span\u003e attribute when Access Federation for access tokens is not enabled.\n",
                    "secret": true
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Represents the active state of the federated member. It is supported to change the enabled\nstatus of my own member. The config will be updated on the other federated members automatically.\n"
                },
                "url": {
                    "type": "string",
                    "description": "Full URL to ending with the repository name.\n"
                }
            },
            "type": "object",
            "required": [
                "enabled",
                "url"
            ]
        },
        "artifactory:index/getFederatedReleasebundlesRepositoryMember:getFederatedReleasebundlesRepositoryMember": {
            "properties": {
                "accessToken": {
                    "type": "string",
                    "description": "Admin access token for this member Artifactory instance. Used in conjunction with \u003cspan pulumi-lang-nodejs=\"`cleanupOnDelete`\" pulumi-lang-dotnet=\"`CleanupOnDelete`\" pulumi-lang-go=\"`cleanupOnDelete`\" pulumi-lang-python=\"`cleanup_on_delete`\" pulumi-lang-yaml=\"`cleanupOnDelete`\" pulumi-lang-java=\"`cleanupOnDelete`\" pulumi-lang-hcl=\"`cleanup_on_delete`\"\u003e`cleanupOnDelete`\u003c/span\u003e attribute when Access Federation for access tokens is not enabled.\n",
                    "secret": true
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Represents the active state of the federated member. It is supported to change the enabled status of my own member. The config will be updated on the other federated members automatically.\n"
                },
                "url": {
                    "type": "string",
                    "description": "Full URL to ending with the repositoryName\n"
                }
            },
            "type": "object",
            "required": [
                "enabled",
                "url"
            ]
        },
        "artifactory:index/getFederatedRpmRepositoryMember:getFederatedRpmRepositoryMember": {
            "properties": {
                "accessToken": {
                    "type": "string",
                    "description": "Admin access token for this member Artifactory instance. Used in conjunction with \u003cspan pulumi-lang-nodejs=\"`cleanupOnDelete`\" pulumi-lang-dotnet=\"`CleanupOnDelete`\" pulumi-lang-go=\"`cleanupOnDelete`\" pulumi-lang-python=\"`cleanup_on_delete`\" pulumi-lang-yaml=\"`cleanupOnDelete`\" pulumi-lang-java=\"`cleanupOnDelete`\" pulumi-lang-hcl=\"`cleanup_on_delete`\"\u003e`cleanupOnDelete`\u003c/span\u003e attribute when Access Federation for access tokens is not enabled.\n",
                    "secret": true
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Represents the active state of the federated member. It is supported to change the enabled\nstatus of my own member. The config will be updated on the other federated members automatically.\n"
                },
                "url": {
                    "type": "string",
                    "description": "Full URL to ending with the repository name.\n"
                }
            },
            "type": "object",
            "required": [
                "enabled",
                "url"
            ]
        },
        "artifactory:index/getFederatedSbtRepositoryMember:getFederatedSbtRepositoryMember": {
            "properties": {
                "accessToken": {
                    "type": "string",
                    "description": "Admin access token for this member Artifactory instance. Used in conjunction with \u003cspan pulumi-lang-nodejs=\"`cleanupOnDelete`\" pulumi-lang-dotnet=\"`CleanupOnDelete`\" pulumi-lang-go=\"`cleanupOnDelete`\" pulumi-lang-python=\"`cleanup_on_delete`\" pulumi-lang-yaml=\"`cleanupOnDelete`\" pulumi-lang-java=\"`cleanupOnDelete`\" pulumi-lang-hcl=\"`cleanup_on_delete`\"\u003e`cleanupOnDelete`\u003c/span\u003e attribute when Access Federation for access tokens is not enabled.\n",
                    "secret": true
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Represents the active state of the federated member. It is supported to change the enabled\nstatus of my own member. The config will be updated on the other federated members automatically.\n"
                },
                "url": {
                    "type": "string",
                    "description": "Full URL to ending with the repository name.\n"
                }
            },
            "type": "object",
            "required": [
                "enabled",
                "url"
            ]
        },
        "artifactory:index/getFederatedSwiftRepositoryMember:getFederatedSwiftRepositoryMember": {
            "properties": {
                "accessToken": {
                    "type": "string",
                    "description": "Admin access token for this member Artifactory instance. Used in conjunction with \u003cspan pulumi-lang-nodejs=\"`cleanupOnDelete`\" pulumi-lang-dotnet=\"`CleanupOnDelete`\" pulumi-lang-go=\"`cleanupOnDelete`\" pulumi-lang-python=\"`cleanup_on_delete`\" pulumi-lang-yaml=\"`cleanupOnDelete`\" pulumi-lang-java=\"`cleanupOnDelete`\" pulumi-lang-hcl=\"`cleanup_on_delete`\"\u003e`cleanupOnDelete`\u003c/span\u003e attribute when Access Federation for access tokens is not enabled.\n",
                    "secret": true
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Represents the active state of the federated member. It is supported to change the enabled\nstatus of my own member. The config will be updated on the other federated members automatically.\n"
                },
                "url": {
                    "type": "string",
                    "description": "Full URL to ending with the repository name.\n"
                }
            },
            "type": "object",
            "required": [
                "enabled",
                "url"
            ]
        },
        "artifactory:index/getFederatedTerraformModuleRepositoryMember:getFederatedTerraformModuleRepositoryMember": {
            "properties": {
                "accessToken": {
                    "type": "string",
                    "description": "Admin access token for this member Artifactory instance. Used in conjunction with \u003cspan pulumi-lang-nodejs=\"`cleanupOnDelete`\" pulumi-lang-dotnet=\"`CleanupOnDelete`\" pulumi-lang-go=\"`cleanupOnDelete`\" pulumi-lang-python=\"`cleanup_on_delete`\" pulumi-lang-yaml=\"`cleanupOnDelete`\" pulumi-lang-java=\"`cleanupOnDelete`\" pulumi-lang-hcl=\"`cleanup_on_delete`\"\u003e`cleanupOnDelete`\u003c/span\u003e attribute when Access Federation for access tokens is not enabled.\n",
                    "secret": true
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Represents the active state of the federated member. It is supported to change the enabled\nstatus of my own member. The config will be updated on the other federated members automatically.\n"
                },
                "url": {
                    "type": "string",
                    "description": "Full URL to ending with the repository name.\n"
                }
            },
            "type": "object",
            "required": [
                "enabled",
                "url"
            ]
        },
        "artifactory:index/getFederatedTerraformProviderRepositoryMember:getFederatedTerraformProviderRepositoryMember": {
            "properties": {
                "accessToken": {
                    "type": "string",
                    "description": "Admin access token for this member Artifactory instance. Used in conjunction with \u003cspan pulumi-lang-nodejs=\"`cleanupOnDelete`\" pulumi-lang-dotnet=\"`CleanupOnDelete`\" pulumi-lang-go=\"`cleanupOnDelete`\" pulumi-lang-python=\"`cleanup_on_delete`\" pulumi-lang-yaml=\"`cleanupOnDelete`\" pulumi-lang-java=\"`cleanupOnDelete`\" pulumi-lang-hcl=\"`cleanup_on_delete`\"\u003e`cleanupOnDelete`\u003c/span\u003e attribute when Access Federation for access tokens is not enabled.\n",
                    "secret": true
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Represents the active state of the federated member. It is supported to change the enabled\nstatus of my own member. The config will be updated on the other federated members automatically.\n"
                },
                "url": {
                    "type": "string",
                    "description": "Full URL to ending with the repository name.\n"
                }
            },
            "type": "object",
            "required": [
                "enabled",
                "url"
            ]
        },
        "artifactory:index/getFederatedVagrantRepositoryMember:getFederatedVagrantRepositoryMember": {
            "properties": {
                "accessToken": {
                    "type": "string",
                    "description": "Admin access token for this member Artifactory instance. Used in conjunction with \u003cspan pulumi-lang-nodejs=\"`cleanupOnDelete`\" pulumi-lang-dotnet=\"`CleanupOnDelete`\" pulumi-lang-go=\"`cleanupOnDelete`\" pulumi-lang-python=\"`cleanup_on_delete`\" pulumi-lang-yaml=\"`cleanupOnDelete`\" pulumi-lang-java=\"`cleanupOnDelete`\" pulumi-lang-hcl=\"`cleanup_on_delete`\"\u003e`cleanupOnDelete`\u003c/span\u003e attribute when Access Federation for access tokens is not enabled.\n",
                    "secret": true
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Represents the active state of the federated member. It is supported to change the enabled\nstatus of my own member. The config will be updated on the other federated members automatically.\n"
                },
                "url": {
                    "type": "string",
                    "description": "Full URL to ending with the repository name.\n"
                }
            },
            "type": "object",
            "required": [
                "enabled",
                "url"
            ]
        },
        "artifactory:index/getFileListFile:getFileListFile": {
            "properties": {
                "folder": {
                    "type": "boolean",
                    "description": "Is this a folder\n"
                },
                "lastModified": {
                    "type": "string",
                    "description": "Last modified time\n"
                },
                "metadataTimestamps": {
                    "$ref": "#/types/artifactory:index/getFileListFileMetadataTimestamps:getFileListFileMetadataTimestamps",
                    "description": "File metadata\n"
                },
                "sha1": {
                    "type": "string",
                    "description": "SHA-1 checksum\n"
                },
                "sha2": {
                    "type": "string",
                    "description": "SHA-256 checksum\n"
                },
                "size": {
                    "type": "integer",
                    "description": "File size in bytes\n"
                },
                "uri": {
                    "type": "string",
                    "description": "URL to file\n"
                }
            },
            "type": "object",
            "required": [
                "folder",
                "lastModified",
                "metadataTimestamps",
                "sha1",
                "sha2",
                "size",
                "uri"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "artifactory:index/getFileListFileMetadataTimestamps:getFileListFileMetadataTimestamps": {
            "properties": {
                "properties": {
                    "type": "string",
                    "description": "Properties timestamp\n"
                }
            },
            "type": "object",
            "required": [
                "properties"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "artifactory:index/getPermissionTargetBuild:getPermissionTargetBuild": {
            "properties": {
                "actions": {
                    "$ref": "#/types/artifactory:index/getPermissionTargetBuildActions:getPermissionTargetBuildActions"
                },
                "excludesPatterns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Pattern of artifacts to exclude.\n"
                },
                "includesPatterns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Pattern of artifacts to include.\n"
                },
                "repositories": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of repositories this permission target is applicable for. You can specify the\nname `ANY` in the repositories section in order to apply to all repositories, `ANY REMOTE` for all remote\nrepositories and `ANY LOCAL` for all local repositories. The default value will be `[]` if nothing is specified.\n"
                }
            },
            "type": "object",
            "required": [
                "repositories"
            ]
        },
        "artifactory:index/getPermissionTargetBuildActions:getPermissionTargetBuildActions": {
            "properties": {
                "groups": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/getPermissionTargetBuildActionsGroup:getPermissionTargetBuildActionsGroup"
                    },
                    "description": "Groups this permission applies for.\n"
                },
                "users": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/getPermissionTargetBuildActionsUser:getPermissionTargetBuildActionsUser"
                    },
                    "description": "Users this permission target applies for.\n"
                }
            },
            "type": "object"
        },
        "artifactory:index/getPermissionTargetBuildActionsGroup:getPermissionTargetBuildActionsGroup": {
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Name of the permission target.\n"
                },
                "permissions": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            },
            "type": "object",
            "required": [
                "name",
                "permissions"
            ]
        },
        "artifactory:index/getPermissionTargetBuildActionsUser:getPermissionTargetBuildActionsUser": {
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Name of the permission target.\n"
                },
                "permissions": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            },
            "type": "object",
            "required": [
                "name",
                "permissions"
            ]
        },
        "artifactory:index/getPermissionTargetReleaseBundle:getPermissionTargetReleaseBundle": {
            "properties": {
                "actions": {
                    "$ref": "#/types/artifactory:index/getPermissionTargetReleaseBundleActions:getPermissionTargetReleaseBundleActions"
                },
                "excludesPatterns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Pattern of artifacts to exclude.\n"
                },
                "includesPatterns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Pattern of artifacts to include.\n"
                },
                "repositories": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of repositories this permission target is applicable for. You can specify the\nname `ANY` in the repositories section in order to apply to all repositories, `ANY REMOTE` for all remote\nrepositories and `ANY LOCAL` for all local repositories. The default value will be `[]` if nothing is specified.\n"
                }
            },
            "type": "object",
            "required": [
                "repositories"
            ]
        },
        "artifactory:index/getPermissionTargetReleaseBundleActions:getPermissionTargetReleaseBundleActions": {
            "properties": {
                "groups": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/getPermissionTargetReleaseBundleActionsGroup:getPermissionTargetReleaseBundleActionsGroup"
                    },
                    "description": "Groups this permission applies for.\n"
                },
                "users": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/getPermissionTargetReleaseBundleActionsUser:getPermissionTargetReleaseBundleActionsUser"
                    },
                    "description": "Users this permission target applies for.\n"
                }
            },
            "type": "object"
        },
        "artifactory:index/getPermissionTargetReleaseBundleActionsGroup:getPermissionTargetReleaseBundleActionsGroup": {
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Name of the permission target.\n"
                },
                "permissions": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            },
            "type": "object",
            "required": [
                "name",
                "permissions"
            ]
        },
        "artifactory:index/getPermissionTargetReleaseBundleActionsUser:getPermissionTargetReleaseBundleActionsUser": {
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Name of the permission target.\n"
                },
                "permissions": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            },
            "type": "object",
            "required": [
                "name",
                "permissions"
            ]
        },
        "artifactory:index/getPermissionTargetRepo:getPermissionTargetRepo": {
            "properties": {
                "actions": {
                    "$ref": "#/types/artifactory:index/getPermissionTargetRepoActions:getPermissionTargetRepoActions"
                },
                "excludesPatterns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Pattern of artifacts to exclude.\n"
                },
                "includesPatterns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Pattern of artifacts to include.\n"
                },
                "repositories": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of repositories this permission target is applicable for. You can specify the\nname `ANY` in the repositories section in order to apply to all repositories, `ANY REMOTE` for all remote\nrepositories and `ANY LOCAL` for all local repositories. The default value will be `[]` if nothing is specified.\n"
                }
            },
            "type": "object",
            "required": [
                "repositories"
            ]
        },
        "artifactory:index/getPermissionTargetRepoActions:getPermissionTargetRepoActions": {
            "properties": {
                "groups": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/getPermissionTargetRepoActionsGroup:getPermissionTargetRepoActionsGroup"
                    },
                    "description": "Groups this permission applies for.\n"
                },
                "users": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/getPermissionTargetRepoActionsUser:getPermissionTargetRepoActionsUser"
                    },
                    "description": "Users this permission target applies for.\n"
                }
            },
            "type": "object"
        },
        "artifactory:index/getPermissionTargetRepoActionsGroup:getPermissionTargetRepoActionsGroup": {
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Name of the permission target.\n"
                },
                "permissions": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            },
            "type": "object",
            "required": [
                "name",
                "permissions"
            ]
        },
        "artifactory:index/getPermissionTargetRepoActionsUser:getPermissionTargetRepoActionsUser": {
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Name of the permission target.\n"
                },
                "permissions": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            },
            "type": "object",
            "required": [
                "name",
                "permissions"
            ]
        },
        "artifactory:index/getRemoteAlpineRepositoryContentSynchronisation:getRemoteAlpineRepositoryContentSynchronisation": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "If set, Remote repository proxies a local or remote repository from another instance of Artifactory. Default value is 'false'.\n"
                },
                "propertiesEnabled": {
                    "type": "boolean",
                    "description": "If set, properties for artifacts that have been cached in this repository will be updated if they are modified in the artifact hosted at the remote Artifactory instance. The trigger to synchronize the properties is download of the artifact from the remote repository cache of the local Artifactory instance. Default value is 'false'.\n"
                },
                "sourceOriginAbsenceDetection": {
                    "type": "boolean",
                    "description": "If set, Artifactory displays an indication on cached items if they have been deleted from the corresponding repository in the remote Artifactory instance. Default value is 'false'\n"
                },
                "statisticsEnabled": {
                    "type": "boolean",
                    "description": "If set, Artifactory will notify the remote instance whenever an artifact in the Smart Remote Repository is downloaded locally so that it can update its download counter. Note that if this option is not set, there may be a discrepancy between the number of artifacts reported to have been downloaded in the different Artifactory instances of the proxy chain. Default value is 'false'.\n"
                }
            },
            "type": "object"
        },
        "artifactory:index/getRemoteAnsibleRepositoryContentSynchronisation:getRemoteAnsibleRepositoryContentSynchronisation": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "If set, Remote repository proxies a local or remote repository from another instance of Artifactory. Default value is 'false'.\n"
                },
                "propertiesEnabled": {
                    "type": "boolean",
                    "description": "If set, properties for artifacts that have been cached in this repository will be updated if they are modified in the artifact hosted at the remote Artifactory instance. The trigger to synchronize the properties is download of the artifact from the remote repository cache of the local Artifactory instance. Default value is 'false'.\n"
                },
                "sourceOriginAbsenceDetection": {
                    "type": "boolean",
                    "description": "If set, Artifactory displays an indication on cached items if they have been deleted from the corresponding repository in the remote Artifactory instance. Default value is 'false'\n"
                },
                "statisticsEnabled": {
                    "type": "boolean",
                    "description": "If set, Artifactory will notify the remote instance whenever an artifact in the Smart Remote Repository is downloaded locally so that it can update its download counter. Note that if this option is not set, there may be a discrepancy between the number of artifacts reported to have been downloaded in the different Artifactory instances of the proxy chain. Default value is 'false'.\n"
                }
            },
            "type": "object"
        },
        "artifactory:index/getRemoteBowerRepositoryContentSynchronisation:getRemoteBowerRepositoryContentSynchronisation": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "If set, Remote repository proxies a local or remote repository from another instance of Artifactory. Default value is 'false'.\n"
                },
                "propertiesEnabled": {
                    "type": "boolean",
                    "description": "If set, properties for artifacts that have been cached in this repository will be updated if they are modified in the artifact hosted at the remote Artifactory instance. The trigger to synchronize the properties is download of the artifact from the remote repository cache of the local Artifactory instance. Default value is 'false'.\n"
                },
                "sourceOriginAbsenceDetection": {
                    "type": "boolean",
                    "description": "If set, Artifactory displays an indication on cached items if they have been deleted from the corresponding repository in the remote Artifactory instance. Default value is 'false'\n"
                },
                "statisticsEnabled": {
                    "type": "boolean",
                    "description": "If set, Artifactory will notify the remote instance whenever an artifact in the Smart Remote Repository is downloaded locally so that it can update its download counter. Note that if this option is not set, there may be a discrepancy between the number of artifacts reported to have been downloaded in the different Artifactory instances of the proxy chain. Default value is 'false'.\n"
                }
            },
            "type": "object"
        },
        "artifactory:index/getRemoteCargoRepositoryContentSynchronisation:getRemoteCargoRepositoryContentSynchronisation": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "If set, Remote repository proxies a local or remote repository from another instance of Artifactory. Default value is 'false'.\n"
                },
                "propertiesEnabled": {
                    "type": "boolean",
                    "description": "If set, properties for artifacts that have been cached in this repository will be updated if they are modified in the artifact hosted at the remote Artifactory instance. The trigger to synchronize the properties is download of the artifact from the remote repository cache of the local Artifactory instance. Default value is 'false'.\n"
                },
                "sourceOriginAbsenceDetection": {
                    "type": "boolean",
                    "description": "If set, Artifactory displays an indication on cached items if they have been deleted from the corresponding repository in the remote Artifactory instance. Default value is 'false'\n"
                },
                "statisticsEnabled": {
                    "type": "boolean",
                    "description": "If set, Artifactory will notify the remote instance whenever an artifact in the Smart Remote Repository is downloaded locally so that it can update its download counter. Note that if this option is not set, there may be a discrepancy between the number of artifacts reported to have been downloaded in the different Artifactory instances of the proxy chain. Default value is 'false'.\n"
                }
            },
            "type": "object"
        },
        "artifactory:index/getRemoteChefRepositoryContentSynchronisation:getRemoteChefRepositoryContentSynchronisation": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "If set, Remote repository proxies a local or remote repository from another instance of Artifactory. Default value is 'false'.\n"
                },
                "propertiesEnabled": {
                    "type": "boolean",
                    "description": "If set, properties for artifacts that have been cached in this repository will be updated if they are modified in the artifact hosted at the remote Artifactory instance. The trigger to synchronize the properties is download of the artifact from the remote repository cache of the local Artifactory instance. Default value is 'false'.\n"
                },
                "sourceOriginAbsenceDetection": {
                    "type": "boolean",
                    "description": "If set, Artifactory displays an indication on cached items if they have been deleted from the corresponding repository in the remote Artifactory instance. Default value is 'false'\n"
                },
                "statisticsEnabled": {
                    "type": "boolean",
                    "description": "If set, Artifactory will notify the remote instance whenever an artifact in the Smart Remote Repository is downloaded locally so that it can update its download counter. Note that if this option is not set, there may be a discrepancy between the number of artifacts reported to have been downloaded in the different Artifactory instances of the proxy chain. Default value is 'false'.\n"
                }
            },
            "type": "object"
        },
        "artifactory:index/getRemoteCocoapodsRepositoryContentSynchronisation:getRemoteCocoapodsRepositoryContentSynchronisation": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "If set, Remote repository proxies a local or remote repository from another instance of Artifactory. Default value is 'false'.\n"
                },
                "propertiesEnabled": {
                    "type": "boolean",
                    "description": "If set, properties for artifacts that have been cached in this repository will be updated if they are modified in the artifact hosted at the remote Artifactory instance. The trigger to synchronize the properties is download of the artifact from the remote repository cache of the local Artifactory instance. Default value is 'false'.\n"
                },
                "sourceOriginAbsenceDetection": {
                    "type": "boolean",
                    "description": "If set, Artifactory displays an indication on cached items if they have been deleted from the corresponding repository in the remote Artifactory instance. Default value is 'false'\n"
                },
                "statisticsEnabled": {
                    "type": "boolean",
                    "description": "If set, Artifactory will notify the remote instance whenever an artifact in the Smart Remote Repository is downloaded locally so that it can update its download counter. Note that if this option is not set, there may be a discrepancy between the number of artifacts reported to have been downloaded in the different Artifactory instances of the proxy chain. Default value is 'false'.\n"
                }
            },
            "type": "object"
        },
        "artifactory:index/getRemoteComposerRepositoryContentSynchronisation:getRemoteComposerRepositoryContentSynchronisation": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "If set, Remote repository proxies a local or remote repository from another instance of Artifactory. Default value is 'false'.\n"
                },
                "propertiesEnabled": {
                    "type": "boolean",
                    "description": "If set, properties for artifacts that have been cached in this repository will be updated if they are modified in the artifact hosted at the remote Artifactory instance. The trigger to synchronize the properties is download of the artifact from the remote repository cache of the local Artifactory instance. Default value is 'false'.\n"
                },
                "sourceOriginAbsenceDetection": {
                    "type": "boolean",
                    "description": "If set, Artifactory displays an indication on cached items if they have been deleted from the corresponding repository in the remote Artifactory instance. Default value is 'false'\n"
                },
                "statisticsEnabled": {
                    "type": "boolean",
                    "description": "If set, Artifactory will notify the remote instance whenever an artifact in the Smart Remote Repository is downloaded locally so that it can update its download counter. Note that if this option is not set, there may be a discrepancy between the number of artifacts reported to have been downloaded in the different Artifactory instances of the proxy chain. Default value is 'false'.\n"
                }
            },
            "type": "object"
        },
        "artifactory:index/getRemoteConanRepositoryContentSynchronisation:getRemoteConanRepositoryContentSynchronisation": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "If set, Remote repository proxies a local or remote repository from another instance of Artifactory. Default value is 'false'.\n"
                },
                "propertiesEnabled": {
                    "type": "boolean",
                    "description": "If set, properties for artifacts that have been cached in this repository will be updated if they are modified in the artifact hosted at the remote Artifactory instance. The trigger to synchronize the properties is download of the artifact from the remote repository cache of the local Artifactory instance. Default value is 'false'.\n"
                },
                "sourceOriginAbsenceDetection": {
                    "type": "boolean",
                    "description": "If set, Artifactory displays an indication on cached items if they have been deleted from the corresponding repository in the remote Artifactory instance. Default value is 'false'\n"
                },
                "statisticsEnabled": {
                    "type": "boolean",
                    "description": "If set, Artifactory will notify the remote instance whenever an artifact in the Smart Remote Repository is downloaded locally so that it can update its download counter. Note that if this option is not set, there may be a discrepancy between the number of artifacts reported to have been downloaded in the different Artifactory instances of the proxy chain. Default value is 'false'.\n"
                }
            },
            "type": "object"
        },
        "artifactory:index/getRemoteCondaRepositoryContentSynchronisation:getRemoteCondaRepositoryContentSynchronisation": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "If set, Remote repository proxies a local or remote repository from another instance of Artifactory. Default value is 'false'.\n"
                },
                "propertiesEnabled": {
                    "type": "boolean",
                    "description": "If set, properties for artifacts that have been cached in this repository will be updated if they are modified in the artifact hosted at the remote Artifactory instance. The trigger to synchronize the properties is download of the artifact from the remote repository cache of the local Artifactory instance. Default value is 'false'.\n"
                },
                "sourceOriginAbsenceDetection": {
                    "type": "boolean",
                    "description": "If set, Artifactory displays an indication on cached items if they have been deleted from the corresponding repository in the remote Artifactory instance. Default value is 'false'\n"
                },
                "statisticsEnabled": {
                    "type": "boolean",
                    "description": "If set, Artifactory will notify the remote instance whenever an artifact in the Smart Remote Repository is downloaded locally so that it can update its download counter. Note that if this option is not set, there may be a discrepancy between the number of artifacts reported to have been downloaded in the different Artifactory instances of the proxy chain. Default value is 'false'.\n"
                }
            },
            "type": "object"
        },
        "artifactory:index/getRemoteCranRepositoryContentSynchronisation:getRemoteCranRepositoryContentSynchronisation": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "If set, Remote repository proxies a local or remote repository from another instance of Artifactory. Default value is 'false'.\n"
                },
                "propertiesEnabled": {
                    "type": "boolean",
                    "description": "If set, properties for artifacts that have been cached in this repository will be updated if they are modified in the artifact hosted at the remote Artifactory instance. The trigger to synchronize the properties is download of the artifact from the remote repository cache of the local Artifactory instance. Default value is 'false'.\n"
                },
                "sourceOriginAbsenceDetection": {
                    "type": "boolean",
                    "description": "If set, Artifactory displays an indication on cached items if they have been deleted from the corresponding repository in the remote Artifactory instance. Default value is 'false'\n"
                },
                "statisticsEnabled": {
                    "type": "boolean",
                    "description": "If set, Artifactory will notify the remote instance whenever an artifact in the Smart Remote Repository is downloaded locally so that it can update its download counter. Note that if this option is not set, there may be a discrepancy between the number of artifacts reported to have been downloaded in the different Artifactory instances of the proxy chain. Default value is 'false'.\n"
                }
            },
            "type": "object"
        },
        "artifactory:index/getRemoteDebianRepositoryContentSynchronisation:getRemoteDebianRepositoryContentSynchronisation": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "If set, Remote repository proxies a local or remote repository from another instance of Artifactory. Default value is 'false'.\n"
                },
                "propertiesEnabled": {
                    "type": "boolean",
                    "description": "If set, properties for artifacts that have been cached in this repository will be updated if they are modified in the artifact hosted at the remote Artifactory instance. The trigger to synchronize the properties is download of the artifact from the remote repository cache of the local Artifactory instance. Default value is 'false'.\n"
                },
                "sourceOriginAbsenceDetection": {
                    "type": "boolean",
                    "description": "If set, Artifactory displays an indication on cached items if they have been deleted from the corresponding repository in the remote Artifactory instance. Default value is 'false'\n"
                },
                "statisticsEnabled": {
                    "type": "boolean",
                    "description": "If set, Artifactory will notify the remote instance whenever an artifact in the Smart Remote Repository is downloaded locally so that it can update its download counter. Note that if this option is not set, there may be a discrepancy between the number of artifacts reported to have been downloaded in the different Artifactory instances of the proxy chain. Default value is 'false'.\n"
                }
            },
            "type": "object"
        },
        "artifactory:index/getRemoteDockerRepositoryContentSynchronisation:getRemoteDockerRepositoryContentSynchronisation": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "If set, Remote repository proxies a local or remote repository from another instance of Artifactory. Default value is 'false'.\n"
                },
                "propertiesEnabled": {
                    "type": "boolean",
                    "description": "If set, properties for artifacts that have been cached in this repository will be updated if they are modified in the artifact hosted at the remote Artifactory instance. The trigger to synchronize the properties is download of the artifact from the remote repository cache of the local Artifactory instance. Default value is 'false'.\n"
                },
                "sourceOriginAbsenceDetection": {
                    "type": "boolean",
                    "description": "If set, Artifactory displays an indication on cached items if they have been deleted from the corresponding repository in the remote Artifactory instance. Default value is 'false'\n"
                },
                "statisticsEnabled": {
                    "type": "boolean",
                    "description": "If set, Artifactory will notify the remote instance whenever an artifact in the Smart Remote Repository is downloaded locally so that it can update its download counter. Note that if this option is not set, there may be a discrepancy between the number of artifacts reported to have been downloaded in the different Artifactory instances of the proxy chain. Default value is 'false'.\n"
                }
            },
            "type": "object"
        },
        "artifactory:index/getRemoteGenericRepositoryContentSynchronisation:getRemoteGenericRepositoryContentSynchronisation": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "If set, Remote repository proxies a local or remote repository from another instance of Artifactory. Default value is 'false'.\n"
                },
                "propertiesEnabled": {
                    "type": "boolean",
                    "description": "If set, properties for artifacts that have been cached in this repository will be updated if they are modified in the artifact hosted at the remote Artifactory instance. The trigger to synchronize the properties is download of the artifact from the remote repository cache of the local Artifactory instance. Default value is 'false'.\n"
                },
                "sourceOriginAbsenceDetection": {
                    "type": "boolean",
                    "description": "If set, Artifactory displays an indication on cached items if they have been deleted from the corresponding repository in the remote Artifactory instance. Default value is 'false'\n"
                },
                "statisticsEnabled": {
                    "type": "boolean",
                    "description": "If set, Artifactory will notify the remote instance whenever an artifact in the Smart Remote Repository is downloaded locally so that it can update its download counter. Note that if this option is not set, there may be a discrepancy between the number of artifacts reported to have been downloaded in the different Artifactory instances of the proxy chain. Default value is 'false'.\n"
                }
            },
            "type": "object"
        },
        "artifactory:index/getRemoteGitlfsRepositoryContentSynchronisation:getRemoteGitlfsRepositoryContentSynchronisation": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "If set, Remote repository proxies a local or remote repository from another instance of Artifactory. Default value is 'false'.\n"
                },
                "propertiesEnabled": {
                    "type": "boolean",
                    "description": "If set, properties for artifacts that have been cached in this repository will be updated if they are modified in the artifact hosted at the remote Artifactory instance. The trigger to synchronize the properties is download of the artifact from the remote repository cache of the local Artifactory instance. Default value is 'false'.\n"
                },
                "sourceOriginAbsenceDetection": {
                    "type": "boolean",
                    "description": "If set, Artifactory displays an indication on cached items if they have been deleted from the corresponding repository in the remote Artifactory instance. Default value is 'false'\n"
                },
                "statisticsEnabled": {
                    "type": "boolean",
                    "description": "If set, Artifactory will notify the remote instance whenever an artifact in the Smart Remote Repository is downloaded locally so that it can update its download counter. Note that if this option is not set, there may be a discrepancy between the number of artifacts reported to have been downloaded in the different Artifactory instances of the proxy chain. Default value is 'false'.\n"
                }
            },
            "type": "object"
        },
        "artifactory:index/getRemoteGoRepositoryContentSynchronisation:getRemoteGoRepositoryContentSynchronisation": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "If set, Remote repository proxies a local or remote repository from another instance of Artifactory. Default value is 'false'.\n"
                },
                "propertiesEnabled": {
                    "type": "boolean",
                    "description": "If set, properties for artifacts that have been cached in this repository will be updated if they are modified in the artifact hosted at the remote Artifactory instance. The trigger to synchronize the properties is download of the artifact from the remote repository cache of the local Artifactory instance. Default value is 'false'.\n"
                },
                "sourceOriginAbsenceDetection": {
                    "type": "boolean",
                    "description": "If set, Artifactory displays an indication on cached items if they have been deleted from the corresponding repository in the remote Artifactory instance. Default value is 'false'\n"
                },
                "statisticsEnabled": {
                    "type": "boolean",
                    "description": "If set, Artifactory will notify the remote instance whenever an artifact in the Smart Remote Repository is downloaded locally so that it can update its download counter. Note that if this option is not set, there may be a discrepancy between the number of artifacts reported to have been downloaded in the different Artifactory instances of the proxy chain. Default value is 'false'.\n"
                }
            },
            "type": "object"
        },
        "artifactory:index/getRemoteGradleRepositoryContentSynchronisation:getRemoteGradleRepositoryContentSynchronisation": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "If set, Remote repository proxies a local or remote repository from another instance of Artifactory. Default value is 'false'.\n"
                },
                "propertiesEnabled": {
                    "type": "boolean",
                    "description": "If set, properties for artifacts that have been cached in this repository will be updated if they are modified in the artifact hosted at the remote Artifactory instance. The trigger to synchronize the properties is download of the artifact from the remote repository cache of the local Artifactory instance. Default value is 'false'.\n"
                },
                "sourceOriginAbsenceDetection": {
                    "type": "boolean",
                    "description": "If set, Artifactory displays an indication on cached items if they have been deleted from the corresponding repository in the remote Artifactory instance. Default value is 'false'\n"
                },
                "statisticsEnabled": {
                    "type": "boolean",
                    "description": "If set, Artifactory will notify the remote instance whenever an artifact in the Smart Remote Repository is downloaded locally so that it can update its download counter. Note that if this option is not set, there may be a discrepancy between the number of artifacts reported to have been downloaded in the different Artifactory instances of the proxy chain. Default value is 'false'.\n"
                }
            },
            "type": "object"
        },
        "artifactory:index/getRemoteHelmRepositoryContentSynchronisation:getRemoteHelmRepositoryContentSynchronisation": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "If set, Remote repository proxies a local or remote repository from another instance of Artifactory. Default value is 'false'.\n"
                },
                "propertiesEnabled": {
                    "type": "boolean",
                    "description": "If set, properties for artifacts that have been cached in this repository will be updated if they are modified in the artifact hosted at the remote Artifactory instance. The trigger to synchronize the properties is download of the artifact from the remote repository cache of the local Artifactory instance. Default value is 'false'.\n"
                },
                "sourceOriginAbsenceDetection": {
                    "type": "boolean",
                    "description": "If set, Artifactory displays an indication on cached items if they have been deleted from the corresponding repository in the remote Artifactory instance. Default value is 'false'\n"
                },
                "statisticsEnabled": {
                    "type": "boolean",
                    "description": "If set, Artifactory will notify the remote instance whenever an artifact in the Smart Remote Repository is downloaded locally so that it can update its download counter. Note that if this option is not set, there may be a discrepancy between the number of artifacts reported to have been downloaded in the different Artifactory instances of the proxy chain. Default value is 'false'.\n"
                }
            },
            "type": "object"
        },
        "artifactory:index/getRemoteHelmociRepositoryContentSynchronisation:getRemoteHelmociRepositoryContentSynchronisation": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "If set, Remote repository proxies a local or remote repository from another instance of Artifactory. Default value is 'false'.\n"
                },
                "propertiesEnabled": {
                    "type": "boolean",
                    "description": "If set, properties for artifacts that have been cached in this repository will be updated if they are modified in the artifact hosted at the remote Artifactory instance. The trigger to synchronize the properties is download of the artifact from the remote repository cache of the local Artifactory instance. Default value is 'false'.\n"
                },
                "sourceOriginAbsenceDetection": {
                    "type": "boolean",
                    "description": "If set, Artifactory displays an indication on cached items if they have been deleted from the corresponding repository in the remote Artifactory instance. Default value is 'false'\n"
                },
                "statisticsEnabled": {
                    "type": "boolean",
                    "description": "If set, Artifactory will notify the remote instance whenever an artifact in the Smart Remote Repository is downloaded locally so that it can update its download counter. Note that if this option is not set, there may be a discrepancy between the number of artifacts reported to have been downloaded in the different Artifactory instances of the proxy chain. Default value is 'false'.\n"
                }
            },
            "type": "object"
        },
        "artifactory:index/getRemoteIvyRepositoryContentSynchronisation:getRemoteIvyRepositoryContentSynchronisation": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "If set, Remote repository proxies a local or remote repository from another instance of Artifactory. Default value is 'false'.\n"
                },
                "propertiesEnabled": {
                    "type": "boolean",
                    "description": "If set, properties for artifacts that have been cached in this repository will be updated if they are modified in the artifact hosted at the remote Artifactory instance. The trigger to synchronize the properties is download of the artifact from the remote repository cache of the local Artifactory instance. Default value is 'false'.\n"
                },
                "sourceOriginAbsenceDetection": {
                    "type": "boolean",
                    "description": "If set, Artifactory displays an indication on cached items if they have been deleted from the corresponding repository in the remote Artifactory instance. Default value is 'false'\n"
                },
                "statisticsEnabled": {
                    "type": "boolean",
                    "description": "If set, Artifactory will notify the remote instance whenever an artifact in the Smart Remote Repository is downloaded locally so that it can update its download counter. Note that if this option is not set, there may be a discrepancy between the number of artifacts reported to have been downloaded in the different Artifactory instances of the proxy chain. Default value is 'false'.\n"
                }
            },
            "type": "object"
        },
        "artifactory:index/getRemoteMavenRepositoryContentSynchronisation:getRemoteMavenRepositoryContentSynchronisation": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "If set, Remote repository proxies a local or remote repository from another instance of Artifactory. Default value is 'false'.\n"
                },
                "propertiesEnabled": {
                    "type": "boolean",
                    "description": "If set, properties for artifacts that have been cached in this repository will be updated if they are modified in the artifact hosted at the remote Artifactory instance. The trigger to synchronize the properties is download of the artifact from the remote repository cache of the local Artifactory instance. Default value is 'false'.\n"
                },
                "sourceOriginAbsenceDetection": {
                    "type": "boolean",
                    "description": "If set, Artifactory displays an indication on cached items if they have been deleted from the corresponding repository in the remote Artifactory instance. Default value is 'false'\n"
                },
                "statisticsEnabled": {
                    "type": "boolean",
                    "description": "If set, Artifactory will notify the remote instance whenever an artifact in the Smart Remote Repository is downloaded locally so that it can update its download counter. Note that if this option is not set, there may be a discrepancy between the number of artifacts reported to have been downloaded in the different Artifactory instances of the proxy chain. Default value is 'false'.\n"
                }
            },
            "type": "object"
        },
        "artifactory:index/getRemoteNpmRepositoryContentSynchronisation:getRemoteNpmRepositoryContentSynchronisation": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "If set, Remote repository proxies a local or remote repository from another instance of Artifactory. Default value is 'false'.\n"
                },
                "propertiesEnabled": {
                    "type": "boolean",
                    "description": "If set, properties for artifacts that have been cached in this repository will be updated if they are modified in the artifact hosted at the remote Artifactory instance. The trigger to synchronize the properties is download of the artifact from the remote repository cache of the local Artifactory instance. Default value is 'false'.\n"
                },
                "sourceOriginAbsenceDetection": {
                    "type": "boolean",
                    "description": "If set, Artifactory displays an indication on cached items if they have been deleted from the corresponding repository in the remote Artifactory instance. Default value is 'false'\n"
                },
                "statisticsEnabled": {
                    "type": "boolean",
                    "description": "If set, Artifactory will notify the remote instance whenever an artifact in the Smart Remote Repository is downloaded locally so that it can update its download counter. Note that if this option is not set, there may be a discrepancy between the number of artifacts reported to have been downloaded in the different Artifactory instances of the proxy chain. Default value is 'false'.\n"
                }
            },
            "type": "object"
        },
        "artifactory:index/getRemoteNugetRepositoryContentSynchronisation:getRemoteNugetRepositoryContentSynchronisation": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "If set, Remote repository proxies a local or remote repository from another instance of Artifactory. Default value is 'false'.\n"
                },
                "propertiesEnabled": {
                    "type": "boolean",
                    "description": "If set, properties for artifacts that have been cached in this repository will be updated if they are modified in the artifact hosted at the remote Artifactory instance. The trigger to synchronize the properties is download of the artifact from the remote repository cache of the local Artifactory instance. Default value is 'false'.\n"
                },
                "sourceOriginAbsenceDetection": {
                    "type": "boolean",
                    "description": "If set, Artifactory displays an indication on cached items if they have been deleted from the corresponding repository in the remote Artifactory instance. Default value is 'false'\n"
                },
                "statisticsEnabled": {
                    "type": "boolean",
                    "description": "If set, Artifactory will notify the remote instance whenever an artifact in the Smart Remote Repository is downloaded locally so that it can update its download counter. Note that if this option is not set, there may be a discrepancy between the number of artifacts reported to have been downloaded in the different Artifactory instances of the proxy chain. Default value is 'false'.\n"
                }
            },
            "type": "object"
        },
        "artifactory:index/getRemoteOciRepositoryContentSynchronisation:getRemoteOciRepositoryContentSynchronisation": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "If set, Remote repository proxies a local or remote repository from another instance of Artifactory. Default value is 'false'.\n"
                },
                "propertiesEnabled": {
                    "type": "boolean",
                    "description": "If set, properties for artifacts that have been cached in this repository will be updated if they are modified in the artifact hosted at the remote Artifactory instance. The trigger to synchronize the properties is download of the artifact from the remote repository cache of the local Artifactory instance. Default value is 'false'.\n"
                },
                "sourceOriginAbsenceDetection": {
                    "type": "boolean",
                    "description": "If set, Artifactory displays an indication on cached items if they have been deleted from the corresponding repository in the remote Artifactory instance. Default value is 'false'\n"
                },
                "statisticsEnabled": {
                    "type": "boolean",
                    "description": "If set, Artifactory will notify the remote instance whenever an artifact in the Smart Remote Repository is downloaded locally so that it can update its download counter. Note that if this option is not set, there may be a discrepancy between the number of artifacts reported to have been downloaded in the different Artifactory instances of the proxy chain. Default value is 'false'.\n"
                }
            },
            "type": "object"
        },
        "artifactory:index/getRemoteOpkgRepositoryContentSynchronisation:getRemoteOpkgRepositoryContentSynchronisation": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "If set, Remote repository proxies a local or remote repository from another instance of Artifactory. Default value is 'false'.\n"
                },
                "propertiesEnabled": {
                    "type": "boolean",
                    "description": "If set, properties for artifacts that have been cached in this repository will be updated if they are modified in the artifact hosted at the remote Artifactory instance. The trigger to synchronize the properties is download of the artifact from the remote repository cache of the local Artifactory instance. Default value is 'false'.\n"
                },
                "sourceOriginAbsenceDetection": {
                    "type": "boolean",
                    "description": "If set, Artifactory displays an indication on cached items if they have been deleted from the corresponding repository in the remote Artifactory instance. Default value is 'false'\n"
                },
                "statisticsEnabled": {
                    "type": "boolean",
                    "description": "If set, Artifactory will notify the remote instance whenever an artifact in the Smart Remote Repository is downloaded locally so that it can update its download counter. Note that if this option is not set, there may be a discrepancy between the number of artifacts reported to have been downloaded in the different Artifactory instances of the proxy chain. Default value is 'false'.\n"
                }
            },
            "type": "object"
        },
        "artifactory:index/getRemoteP2RepositoryContentSynchronisation:getRemoteP2RepositoryContentSynchronisation": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "If set, Remote repository proxies a local or remote repository from another instance of Artifactory. Default value is 'false'.\n"
                },
                "propertiesEnabled": {
                    "type": "boolean",
                    "description": "If set, properties for artifacts that have been cached in this repository will be updated if they are modified in the artifact hosted at the remote Artifactory instance. The trigger to synchronize the properties is download of the artifact from the remote repository cache of the local Artifactory instance. Default value is 'false'.\n"
                },
                "sourceOriginAbsenceDetection": {
                    "type": "boolean",
                    "description": "If set, Artifactory displays an indication on cached items if they have been deleted from the corresponding repository in the remote Artifactory instance. Default value is 'false'\n"
                },
                "statisticsEnabled": {
                    "type": "boolean",
                    "description": "If set, Artifactory will notify the remote instance whenever an artifact in the Smart Remote Repository is downloaded locally so that it can update its download counter. Note that if this option is not set, there may be a discrepancy between the number of artifacts reported to have been downloaded in the different Artifactory instances of the proxy chain. Default value is 'false'.\n"
                }
            },
            "type": "object"
        },
        "artifactory:index/getRemotePubRepositoryContentSynchronisation:getRemotePubRepositoryContentSynchronisation": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "If set, Remote repository proxies a local or remote repository from another instance of Artifactory. Default value is 'false'.\n"
                },
                "propertiesEnabled": {
                    "type": "boolean",
                    "description": "If set, properties for artifacts that have been cached in this repository will be updated if they are modified in the artifact hosted at the remote Artifactory instance. The trigger to synchronize the properties is download of the artifact from the remote repository cache of the local Artifactory instance. Default value is 'false'.\n"
                },
                "sourceOriginAbsenceDetection": {
                    "type": "boolean",
                    "description": "If set, Artifactory displays an indication on cached items if they have been deleted from the corresponding repository in the remote Artifactory instance. Default value is 'false'\n"
                },
                "statisticsEnabled": {
                    "type": "boolean",
                    "description": "If set, Artifactory will notify the remote instance whenever an artifact in the Smart Remote Repository is downloaded locally so that it can update its download counter. Note that if this option is not set, there may be a discrepancy between the number of artifacts reported to have been downloaded in the different Artifactory instances of the proxy chain. Default value is 'false'.\n"
                }
            },
            "type": "object"
        },
        "artifactory:index/getRemotePuppetRepositoryContentSynchronisation:getRemotePuppetRepositoryContentSynchronisation": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "If set, Remote repository proxies a local or remote repository from another instance of Artifactory. Default value is 'false'.\n"
                },
                "propertiesEnabled": {
                    "type": "boolean",
                    "description": "If set, properties for artifacts that have been cached in this repository will be updated if they are modified in the artifact hosted at the remote Artifactory instance. The trigger to synchronize the properties is download of the artifact from the remote repository cache of the local Artifactory instance. Default value is 'false'.\n"
                },
                "sourceOriginAbsenceDetection": {
                    "type": "boolean",
                    "description": "If set, Artifactory displays an indication on cached items if they have been deleted from the corresponding repository in the remote Artifactory instance. Default value is 'false'\n"
                },
                "statisticsEnabled": {
                    "type": "boolean",
                    "description": "If set, Artifactory will notify the remote instance whenever an artifact in the Smart Remote Repository is downloaded locally so that it can update its download counter. Note that if this option is not set, there may be a discrepancy between the number of artifacts reported to have been downloaded in the different Artifactory instances of the proxy chain. Default value is 'false'.\n"
                }
            },
            "type": "object"
        },
        "artifactory:index/getRemotePypiRepositoryContentSynchronisation:getRemotePypiRepositoryContentSynchronisation": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "If set, Remote repository proxies a local or remote repository from another instance of Artifactory. Default value is 'false'.\n"
                },
                "propertiesEnabled": {
                    "type": "boolean",
                    "description": "If set, properties for artifacts that have been cached in this repository will be updated if they are modified in the artifact hosted at the remote Artifactory instance. The trigger to synchronize the properties is download of the artifact from the remote repository cache of the local Artifactory instance. Default value is 'false'.\n"
                },
                "sourceOriginAbsenceDetection": {
                    "type": "boolean",
                    "description": "If set, Artifactory displays an indication on cached items if they have been deleted from the corresponding repository in the remote Artifactory instance. Default value is 'false'\n"
                },
                "statisticsEnabled": {
                    "type": "boolean",
                    "description": "If set, Artifactory will notify the remote instance whenever an artifact in the Smart Remote Repository is downloaded locally so that it can update its download counter. Note that if this option is not set, there may be a discrepancy between the number of artifacts reported to have been downloaded in the different Artifactory instances of the proxy chain. Default value is 'false'.\n"
                }
            },
            "type": "object"
        },
        "artifactory:index/getRemoteRpmRepositoryContentSynchronisation:getRemoteRpmRepositoryContentSynchronisation": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "If set, Remote repository proxies a local or remote repository from another instance of Artifactory. Default value is 'false'.\n"
                },
                "propertiesEnabled": {
                    "type": "boolean",
                    "description": "If set, properties for artifacts that have been cached in this repository will be updated if they are modified in the artifact hosted at the remote Artifactory instance. The trigger to synchronize the properties is download of the artifact from the remote repository cache of the local Artifactory instance. Default value is 'false'.\n"
                },
                "sourceOriginAbsenceDetection": {
                    "type": "boolean",
                    "description": "If set, Artifactory displays an indication on cached items if they have been deleted from the corresponding repository in the remote Artifactory instance. Default value is 'false'\n"
                },
                "statisticsEnabled": {
                    "type": "boolean",
                    "description": "If set, Artifactory will notify the remote instance whenever an artifact in the Smart Remote Repository is downloaded locally so that it can update its download counter. Note that if this option is not set, there may be a discrepancy between the number of artifacts reported to have been downloaded in the different Artifactory instances of the proxy chain. Default value is 'false'.\n"
                }
            },
            "type": "object"
        },
        "artifactory:index/getRemoteSbtRepositoryContentSynchronisation:getRemoteSbtRepositoryContentSynchronisation": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "If set, Remote repository proxies a local or remote repository from another instance of Artifactory. Default value is 'false'.\n"
                },
                "propertiesEnabled": {
                    "type": "boolean",
                    "description": "If set, properties for artifacts that have been cached in this repository will be updated if they are modified in the artifact hosted at the remote Artifactory instance. The trigger to synchronize the properties is download of the artifact from the remote repository cache of the local Artifactory instance. Default value is 'false'.\n"
                },
                "sourceOriginAbsenceDetection": {
                    "type": "boolean",
                    "description": "If set, Artifactory displays an indication on cached items if they have been deleted from the corresponding repository in the remote Artifactory instance. Default value is 'false'\n"
                },
                "statisticsEnabled": {
                    "type": "boolean",
                    "description": "If set, Artifactory will notify the remote instance whenever an artifact in the Smart Remote Repository is downloaded locally so that it can update its download counter. Note that if this option is not set, there may be a discrepancy between the number of artifacts reported to have been downloaded in the different Artifactory instances of the proxy chain. Default value is 'false'.\n"
                }
            },
            "type": "object"
        },
        "artifactory:index/getRemoteSwiftRepositoryContentSynchronisation:getRemoteSwiftRepositoryContentSynchronisation": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "If set, Remote repository proxies a local or remote repository from another instance of Artifactory. Default value is 'false'.\n"
                },
                "propertiesEnabled": {
                    "type": "boolean",
                    "description": "If set, properties for artifacts that have been cached in this repository will be updated if they are modified in the artifact hosted at the remote Artifactory instance. The trigger to synchronize the properties is download of the artifact from the remote repository cache of the local Artifactory instance. Default value is 'false'.\n"
                },
                "sourceOriginAbsenceDetection": {
                    "type": "boolean",
                    "description": "If set, Artifactory displays an indication on cached items if they have been deleted from the corresponding repository in the remote Artifactory instance. Default value is 'false'\n"
                },
                "statisticsEnabled": {
                    "type": "boolean",
                    "description": "If set, Artifactory will notify the remote instance whenever an artifact in the Smart Remote Repository is downloaded locally so that it can update its download counter. Note that if this option is not set, there may be a discrepancy between the number of artifacts reported to have been downloaded in the different Artifactory instances of the proxy chain. Default value is 'false'.\n"
                }
            },
            "type": "object"
        },
        "artifactory:index/getRemoteTerraformRepositoryContentSynchronisation:getRemoteTerraformRepositoryContentSynchronisation": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "If set, Remote repository proxies a local or remote repository from another instance of Artifactory. Default value is 'false'.\n"
                },
                "propertiesEnabled": {
                    "type": "boolean",
                    "description": "If set, properties for artifacts that have been cached in this repository will be updated if they are modified in the artifact hosted at the remote Artifactory instance. The trigger to synchronize the properties is download of the artifact from the remote repository cache of the local Artifactory instance. Default value is 'false'.\n"
                },
                "sourceOriginAbsenceDetection": {
                    "type": "boolean",
                    "description": "If set, Artifactory displays an indication on cached items if they have been deleted from the corresponding repository in the remote Artifactory instance. Default value is 'false'\n"
                },
                "statisticsEnabled": {
                    "type": "boolean",
                    "description": "If set, Artifactory will notify the remote instance whenever an artifact in the Smart Remote Repository is downloaded locally so that it can update its download counter. Note that if this option is not set, there may be a discrepancy between the number of artifacts reported to have been downloaded in the different Artifactory instances of the proxy chain. Default value is 'false'.\n"
                }
            },
            "type": "object"
        },
        "artifactory:index/getRemoteVcsRepositoryContentSynchronisation:getRemoteVcsRepositoryContentSynchronisation": {
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "If set, Remote repository proxies a local or remote repository from another instance of Artifactory. Default value is 'false'.\n"
                },
                "propertiesEnabled": {
                    "type": "boolean",
                    "description": "If set, properties for artifacts that have been cached in this repository will be updated if they are modified in the artifact hosted at the remote Artifactory instance. The trigger to synchronize the properties is download of the artifact from the remote repository cache of the local Artifactory instance. Default value is 'false'.\n"
                },
                "sourceOriginAbsenceDetection": {
                    "type": "boolean",
                    "description": "If set, Artifactory displays an indication on cached items if they have been deleted from the corresponding repository in the remote Artifactory instance. Default value is 'false'\n"
                },
                "statisticsEnabled": {
                    "type": "boolean",
                    "description": "If set, Artifactory will notify the remote instance whenever an artifact in the Smart Remote Repository is downloaded locally so that it can update its download counter. Note that if this option is not set, there may be a discrepancy between the number of artifacts reported to have been downloaded in the different Artifactory instances of the proxy chain. Default value is 'false'.\n"
                }
            },
            "type": "object"
        },
        "artifactory:index/getRepositoriesRepo:getRepositoriesRepo": {
            "properties": {
                "description": {
                    "type": "string"
                },
                "key": {
                    "type": "string"
                },
                "packageType": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                },
                "url": {
                    "type": "string"
                }
            },
            "type": "object",
            "required": [
                "description",
                "key",
                "packageType",
                "type",
                "url"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        }
    },
    "provider": {
        "description": "The provider type for the artifactory 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": {
            "accessToken": {
                "type": "string",
                "description": "This is a access token that can be given to you by your admin under `User Management \u003e Access Tokens`. If not set, the 'api_key' attribute value will be used.",
                "secret": true
            },
            "apiKey": {
                "type": "string",
                "description": "API key. If \u003cspan pulumi-lang-nodejs=\"`accessToken`\" pulumi-lang-dotnet=\"`AccessToken`\" pulumi-lang-go=\"`accessToken`\" pulumi-lang-python=\"`access_token`\" pulumi-lang-yaml=\"`accessToken`\" pulumi-lang-java=\"`accessToken`\" pulumi-lang-hcl=\"`access_token`\"\u003e`accessToken`\u003c/span\u003e attribute, `JFROG_ACCESS_TOKEN` or `ARTIFACTORY_ACCESS_TOKEN` environment variable is set, the provider will ignore this attribute.",
                "deprecationMessage": "An upcoming version will support the option to block the usage/creation of API Keys (for admins to set on their platform).\nIn a future version (scheduled for end of Q3, 2023), the option to disable the usage/creation of API Keys will be available and set to disabled by default. Admins will be able to enable the usage/creation of API Keys.\nBy end of Q4 2024, API Keys will be deprecated all together and the option to use them will no longer be available. See [JFrog API deprecation process](https://jfrog.com/help/r/jfrog-platform-administration-documentation/jfrog-api-key-deprecation-process) for more details.",
                "secret": true
            },
            "clientCertificateKeyPath": {
                "type": "string",
                "description": "Filesystem path to the PEM-encoded private key that matches \u003cspan pulumi-lang-nodejs=\"`clientCertificatePath`\" pulumi-lang-dotnet=\"`ClientCertificatePath`\" pulumi-lang-go=\"`clientCertificatePath`\" pulumi-lang-python=\"`client_certificate_path`\" pulumi-lang-yaml=\"`clientCertificatePath`\" pulumi-lang-java=\"`clientCertificatePath`\" pulumi-lang-hcl=\"`client_certificate_path`\"\u003e`clientCertificatePath`\u003c/span\u003e."
            },
            "clientCertificatePath": {
                "type": "string",
                "description": "Filesystem path to a PEM-encoded client certificate or certificate chain to use for mutual TLS authentication. Must be specified together with \u003cspan pulumi-lang-nodejs=\"`clientCertificateKeyPath`\" pulumi-lang-dotnet=\"`ClientCertificateKeyPath`\" pulumi-lang-go=\"`clientCertificateKeyPath`\" pulumi-lang-python=\"`client_certificate_key_path`\" pulumi-lang-yaml=\"`clientCertificateKeyPath`\" pulumi-lang-java=\"`clientCertificateKeyPath`\" pulumi-lang-hcl=\"`client_certificate_key_path`\"\u003e`clientCertificateKeyPath`\u003c/span\u003e."
            },
            "clientCertificatePem": {
                "type": "string",
                "description": "Inline PEM-encoded client certificate or certificate chain used for mutual TLS authentication. Must be specified together with \u003cspan pulumi-lang-nodejs=\"`clientPrivateKeyPem`\" pulumi-lang-dotnet=\"`ClientPrivateKeyPem`\" pulumi-lang-go=\"`clientPrivateKeyPem`\" pulumi-lang-python=\"`client_private_key_pem`\" pulumi-lang-yaml=\"`clientPrivateKeyPem`\" pulumi-lang-java=\"`clientPrivateKeyPem`\" pulumi-lang-hcl=\"`client_private_key_pem`\"\u003e`clientPrivateKeyPem`\u003c/span\u003e.",
                "secret": true
            },
            "clientPrivateKeyPem": {
                "type": "string",
                "description": "Inline PEM-encoded private key that matches \u003cspan pulumi-lang-nodejs=\"`clientCertificatePem`\" pulumi-lang-dotnet=\"`ClientCertificatePem`\" pulumi-lang-go=\"`clientCertificatePem`\" pulumi-lang-python=\"`client_certificate_pem`\" pulumi-lang-yaml=\"`clientCertificatePem`\" pulumi-lang-java=\"`clientCertificatePem`\" pulumi-lang-hcl=\"`client_certificate_pem`\"\u003e`clientCertificatePem`\u003c/span\u003e.",
                "secret": true
            },
            "oidcProviderName": {
                "type": "string",
                "description": "OIDC provider name. See [Configure an OIDC Integration](https://jfrog.com/help/r/jfrog-platform-administration-documentation/configure-an-oidc-integration) for more details."
            },
            "tfcCredentialTagName": {
                "type": "string",
                "description": "Terraform Cloud Workload Identity Token tag name. Use for generating multiple TFC workload identity tokens. When set, the provider will attempt to use env var with this tag name as suffix. **Note:** this is case sensitive, so if set to `JFROG`, then env var `TFC_WORKLOAD_IDENTITY_TOKEN_JFROG` is used instead of `TFC_WORKLOAD_IDENTITY_TOKEN`. See [Generating Multiple Tokens](https://developer.hashicorp.com/terraform/cloud-docs/workspaces/dynamic-provider-credentials/manual-generation#generating-multiple-tokens) on HCP Terraform for more details."
            },
            "url": {
                "type": "string",
                "description": "Artifactory URL."
            }
        },
        "inputProperties": {
            "accessToken": {
                "type": "string",
                "description": "This is a access token that can be given to you by your admin under `User Management \u003e Access Tokens`. If not set, the 'api_key' attribute value will be used.",
                "secret": true
            },
            "apiKey": {
                "type": "string",
                "description": "API key. If \u003cspan pulumi-lang-nodejs=\"`accessToken`\" pulumi-lang-dotnet=\"`AccessToken`\" pulumi-lang-go=\"`accessToken`\" pulumi-lang-python=\"`access_token`\" pulumi-lang-yaml=\"`accessToken`\" pulumi-lang-java=\"`accessToken`\" pulumi-lang-hcl=\"`access_token`\"\u003e`accessToken`\u003c/span\u003e attribute, `JFROG_ACCESS_TOKEN` or `ARTIFACTORY_ACCESS_TOKEN` environment variable is set, the provider will ignore this attribute.",
                "deprecationMessage": "An upcoming version will support the option to block the usage/creation of API Keys (for admins to set on their platform).\nIn a future version (scheduled for end of Q3, 2023), the option to disable the usage/creation of API Keys will be available and set to disabled by default. Admins will be able to enable the usage/creation of API Keys.\nBy end of Q4 2024, API Keys will be deprecated all together and the option to use them will no longer be available. See [JFrog API deprecation process](https://jfrog.com/help/r/jfrog-platform-administration-documentation/jfrog-api-key-deprecation-process) for more details.",
                "secret": true
            },
            "clientCertificateKeyPath": {
                "type": "string",
                "description": "Filesystem path to the PEM-encoded private key that matches \u003cspan pulumi-lang-nodejs=\"`clientCertificatePath`\" pulumi-lang-dotnet=\"`ClientCertificatePath`\" pulumi-lang-go=\"`clientCertificatePath`\" pulumi-lang-python=\"`client_certificate_path`\" pulumi-lang-yaml=\"`clientCertificatePath`\" pulumi-lang-java=\"`clientCertificatePath`\" pulumi-lang-hcl=\"`client_certificate_path`\"\u003e`clientCertificatePath`\u003c/span\u003e."
            },
            "clientCertificatePath": {
                "type": "string",
                "description": "Filesystem path to a PEM-encoded client certificate or certificate chain to use for mutual TLS authentication. Must be specified together with \u003cspan pulumi-lang-nodejs=\"`clientCertificateKeyPath`\" pulumi-lang-dotnet=\"`ClientCertificateKeyPath`\" pulumi-lang-go=\"`clientCertificateKeyPath`\" pulumi-lang-python=\"`client_certificate_key_path`\" pulumi-lang-yaml=\"`clientCertificateKeyPath`\" pulumi-lang-java=\"`clientCertificateKeyPath`\" pulumi-lang-hcl=\"`client_certificate_key_path`\"\u003e`clientCertificateKeyPath`\u003c/span\u003e."
            },
            "clientCertificatePem": {
                "type": "string",
                "description": "Inline PEM-encoded client certificate or certificate chain used for mutual TLS authentication. Must be specified together with \u003cspan pulumi-lang-nodejs=\"`clientPrivateKeyPem`\" pulumi-lang-dotnet=\"`ClientPrivateKeyPem`\" pulumi-lang-go=\"`clientPrivateKeyPem`\" pulumi-lang-python=\"`client_private_key_pem`\" pulumi-lang-yaml=\"`clientPrivateKeyPem`\" pulumi-lang-java=\"`clientPrivateKeyPem`\" pulumi-lang-hcl=\"`client_private_key_pem`\"\u003e`clientPrivateKeyPem`\u003c/span\u003e.",
                "secret": true
            },
            "clientPrivateKeyPem": {
                "type": "string",
                "description": "Inline PEM-encoded private key that matches \u003cspan pulumi-lang-nodejs=\"`clientCertificatePem`\" pulumi-lang-dotnet=\"`ClientCertificatePem`\" pulumi-lang-go=\"`clientCertificatePem`\" pulumi-lang-python=\"`client_certificate_pem`\" pulumi-lang-yaml=\"`clientCertificatePem`\" pulumi-lang-java=\"`clientCertificatePem`\" pulumi-lang-hcl=\"`client_certificate_pem`\"\u003e`clientCertificatePem`\u003c/span\u003e.",
                "secret": true
            },
            "oidcProviderName": {
                "type": "string",
                "description": "OIDC provider name. See [Configure an OIDC Integration](https://jfrog.com/help/r/jfrog-platform-administration-documentation/configure-an-oidc-integration) for more details."
            },
            "tfcCredentialTagName": {
                "type": "string",
                "description": "Terraform Cloud Workload Identity Token tag name. Use for generating multiple TFC workload identity tokens. When set, the provider will attempt to use env var with this tag name as suffix. **Note:** this is case sensitive, so if set to `JFROG`, then env var `TFC_WORKLOAD_IDENTITY_TOKEN_JFROG` is used instead of `TFC_WORKLOAD_IDENTITY_TOKEN`. See [Generating Multiple Tokens](https://developer.hashicorp.com/terraform/cloud-docs/workspaces/dynamic-provider-credentials/manual-generation#generating-multiple-tokens) on HCP Terraform for more details."
            },
            "url": {
                "type": "string",
                "description": "Artifactory URL."
            }
        },
        "methods": {
            "terraformConfig": "pulumi:providers:artifactory/terraformConfig"
        }
    },
    "resources": {
        "artifactory:index/alpineRepository:AlpineRepository": {
            "description": "Creates a local Alpine repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\nimport * as std from \"@pulumi/std\";\n\nconst some_keypairRSA = new artifactory.Keypair(\"some-keypairRSA\", {\n    pairName: \"some-keypair\",\n    pairType: \"RSA\",\n    alias: \"foo-alias\",\n    privateKey: std.file({\n        input: \"samples/rsa.priv\",\n    }).then(invoke =\u003e invoke.result),\n    publicKey: std.file({\n        input: \"samples/rsa.pub\",\n    }).then(invoke =\u003e invoke.result),\n});\nconst terraform_local_test_alpine_repo_basic = new artifactory.AlpineRepository(\"terraform-local-test-alpine-repo-basic\", {\n    key: \"terraform-local-test-alpine-repo-basic\",\n    primaryKeypairRef: some_keypairRSA.pairName,\n}, {\n    dependsOn: [some_keypairRSA],\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\nimport pulumi_std as std\n\nsome_keypair_rsa = artifactory.Keypair(\"some-keypairRSA\",\n    pair_name=\"some-keypair\",\n    pair_type=\"RSA\",\n    alias=\"foo-alias\",\n    private_key=std.file(input=\"samples/rsa.priv\").result,\n    public_key=std.file(input=\"samples/rsa.pub\").result)\nterraform_local_test_alpine_repo_basic = artifactory.AlpineRepository(\"terraform-local-test-alpine-repo-basic\",\n    key=\"terraform-local-test-alpine-repo-basic\",\n    primary_keypair_ref=some_keypair_rsa.pair_name,\n    opts = pulumi.ResourceOptions(depends_on=[some_keypair_rsa]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var some_keypairRSA = new Artifactory.Keypair(\"some-keypairRSA\", new()\n    {\n        PairName = \"some-keypair\",\n        PairType = \"RSA\",\n        Alias = \"foo-alias\",\n        PrivateKey = Std.File.Invoke(new()\n        {\n            Input = \"samples/rsa.priv\",\n        }).Apply(invoke =\u003e invoke.Result),\n        PublicKey = Std.File.Invoke(new()\n        {\n            Input = \"samples/rsa.pub\",\n        }).Apply(invoke =\u003e invoke.Result),\n    });\n\n    var terraform_local_test_alpine_repo_basic = new Artifactory.AlpineRepository(\"terraform-local-test-alpine-repo-basic\", new()\n    {\n        Key = \"terraform-local-test-alpine-repo-basic\",\n        PrimaryKeypairRef = some_keypairRSA.PairName,\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            some_keypairRSA,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"samples/rsa.priv\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile1, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"samples/rsa.pub\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsome_keypairRSA, err := artifactory.NewKeypair(ctx, \"some-keypairRSA\", \u0026artifactory.KeypairArgs{\n\t\t\tPairName:   pulumi.String(\"some-keypair\"),\n\t\t\tPairType:   pulumi.String(\"RSA\"),\n\t\t\tAlias:      pulumi.String(\"foo-alias\"),\n\t\t\tPrivateKey: pulumi.String(invokeFile.Result),\n\t\t\tPublicKey:  pulumi.String(invokeFile1.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = artifactory.NewAlpineRepository(ctx, \"terraform-local-test-alpine-repo-basic\", \u0026artifactory.AlpineRepositoryArgs{\n\t\t\tKey:               pulumi.String(\"terraform-local-test-alpine-repo-basic\"),\n\t\t\tPrimaryKeypairRef: some_keypairRSA.PairName,\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tsome_keypairRSA,\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n    std = {\n      source = \"pulumi/std\"\n    }\n  }\n}\n\nresource \"artifactory_keypair\" \"some-keypairRSA\" {\n  pair_name   = \"some-keypair\"\n  pair_type   = \"RSA\"\n  alias       = \"foo-alias\"\n  private_key = file(\"samples/rsa.priv\")\n  public_key  = file(\"samples/rsa.pub\")\n}\nresource \"artifactory_alpinerepository\" \"terraform-local-test-alpine-repo-basic\" {\n  depends_on          = [artifactory_keypair.some-keypairRSA]\n  key                 = \"terraform-local-test-alpine-repo-basic\"\n  primary_keypair_ref = artifactory_keypair.some-keypairRSA.pair_name\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.Keypair;\nimport com.pulumi.artifactory.KeypairArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FileArgs;\nimport com.pulumi.artifactory.AlpineRepository;\nimport com.pulumi.artifactory.AlpineRepositoryArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 some_keypairRSA = new Keypair(\"some-keypairRSA\", KeypairArgs.builder()\n            .pairName(\"some-keypair\")\n            .pairType(\"RSA\")\n            .alias(\"foo-alias\")\n            .privateKey(StdFunctions.file(FileArgs.builder()\n                .input(\"samples/rsa.priv\")\n                .build()).result())\n            .publicKey(StdFunctions.file(FileArgs.builder()\n                .input(\"samples/rsa.pub\")\n                .build()).result())\n            .build());\n\n        var terraform_local_test_alpine_repo_basic = new AlpineRepository(\"terraform-local-test-alpine-repo-basic\", AlpineRepositoryArgs.builder()\n            .key(\"terraform-local-test-alpine-repo-basic\")\n            .primaryKeypairRef(some_keypairRSA.pairName())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(some_keypairRSA)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  some-keypairRSA:\n    type: artifactory:Keypair\n    properties:\n      pairName: some-keypair\n      pairType: RSA\n      alias: foo-alias\n      privateKey:\n        fn::invoke:\n          function: std:file\n          arguments:\n            input: samples/rsa.priv\n          return: result\n      publicKey:\n        fn::invoke:\n          function: std:file\n          arguments:\n            input: samples/rsa.pub\n          return: result\n  terraform-local-test-alpine-repo-basic:\n    type: artifactory:AlpineRepository\n    properties:\n      key: terraform-local-test-alpine-repo-basic\n      primaryKeypairRef: ${[\"some-keypairRSA\"].pairName}\n    options:\n      dependsOn:\n        - ${[\"some-keypairRSA\"]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLocal repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/alpineRepository:AlpineRepository terraform-local-test-alpine-repo-basic terraform-local-test-alpine-repo-basic\n```\n\n",
            "properties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "primaryKeypairRef": {
                    "type": "string",
                    "description": "The RSA key to be used to sign alpine indices.\n\nArtifactory REST API call Get Key Pair doesn't return keys \u003cspan pulumi-lang-nodejs=\"`privateKey`\" pulumi-lang-dotnet=\"`PrivateKey`\" pulumi-lang-go=\"`privateKey`\" pulumi-lang-python=\"`private_key`\" pulumi-lang-yaml=\"`privateKey`\" pulumi-lang-java=\"`privateKey`\" pulumi-lang-hcl=\"`private_key`\"\u003e`privateKey`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`passphrase`\" pulumi-lang-dotnet=\"`Passphrase`\" pulumi-lang-go=\"`passphrase`\" pulumi-lang-python=\"`passphrase`\" pulumi-lang-yaml=\"`passphrase`\" pulumi-lang-java=\"`passphrase`\" pulumi-lang-hcl=\"`passphrase`\"\u003e`passphrase`\u003c/span\u003e, but consumes these keys in the POST call.\n\n\nThe meta-argument \u003cspan pulumi-lang-nodejs=\"`lifecycle`\" pulumi-lang-dotnet=\"`Lifecycle`\" pulumi-lang-go=\"`lifecycle`\" pulumi-lang-python=\"`lifecycle`\" pulumi-lang-yaml=\"`lifecycle`\" pulumi-lang-java=\"`lifecycle`\" pulumi-lang-hcl=\"`lifecycle`\"\u003e`lifecycle`\u003c/span\u003e used here to make Provider ignore the changes for these two keys in the Terraform state.\n"
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "archiveBrowsingEnabled",
                "blackedOut",
                "cdnRedirect",
                "description",
                "downloadDirect",
                "excludesPattern",
                "includesPattern",
                "key",
                "notes",
                "primaryKeypairRef",
                "priorityResolution",
                "projectEnvironments",
                "projectKey",
                "repoLayoutRef",
                "xrayIndex"
            ],
            "inputProperties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "primaryKeypairRef": {
                    "type": "string",
                    "description": "The RSA key to be used to sign alpine indices.\n\nArtifactory REST API call Get Key Pair doesn't return keys \u003cspan pulumi-lang-nodejs=\"`privateKey`\" pulumi-lang-dotnet=\"`PrivateKey`\" pulumi-lang-go=\"`privateKey`\" pulumi-lang-python=\"`private_key`\" pulumi-lang-yaml=\"`privateKey`\" pulumi-lang-java=\"`privateKey`\" pulumi-lang-hcl=\"`private_key`\"\u003e`privateKey`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`passphrase`\" pulumi-lang-dotnet=\"`Passphrase`\" pulumi-lang-go=\"`passphrase`\" pulumi-lang-python=\"`passphrase`\" pulumi-lang-yaml=\"`passphrase`\" pulumi-lang-java=\"`passphrase`\" pulumi-lang-hcl=\"`passphrase`\"\u003e`passphrase`\u003c/span\u003e, but consumes these keys in the POST call.\n\n\nThe meta-argument \u003cspan pulumi-lang-nodejs=\"`lifecycle`\" pulumi-lang-dotnet=\"`Lifecycle`\" pulumi-lang-go=\"`lifecycle`\" pulumi-lang-python=\"`lifecycle`\" pulumi-lang-yaml=\"`lifecycle`\" pulumi-lang-java=\"`lifecycle`\" pulumi-lang-hcl=\"`lifecycle`\"\u003e`lifecycle`\u003c/span\u003e used here to make Provider ignore the changes for these two keys in the Terraform state.\n"
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering AlpineRepository resources.\n",
                "properties": {
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "the identity key of the repo.\n"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "primaryKeypairRef": {
                        "type": "string",
                        "description": "The RSA key to be used to sign alpine indices.\n\nArtifactory REST API call Get Key Pair doesn't return keys \u003cspan pulumi-lang-nodejs=\"`privateKey`\" pulumi-lang-dotnet=\"`PrivateKey`\" pulumi-lang-go=\"`privateKey`\" pulumi-lang-python=\"`private_key`\" pulumi-lang-yaml=\"`privateKey`\" pulumi-lang-java=\"`privateKey`\" pulumi-lang-hcl=\"`private_key`\"\u003e`privateKey`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`passphrase`\" pulumi-lang-dotnet=\"`Passphrase`\" pulumi-lang-go=\"`passphrase`\" pulumi-lang-python=\"`passphrase`\" pulumi-lang-yaml=\"`passphrase`\" pulumi-lang-java=\"`passphrase`\" pulumi-lang-hcl=\"`passphrase`\"\u003e`passphrase`\u003c/span\u003e, but consumes these keys in the POST call.\n\n\nThe meta-argument \u003cspan pulumi-lang-nodejs=\"`lifecycle`\" pulumi-lang-dotnet=\"`Lifecycle`\" pulumi-lang-go=\"`lifecycle`\" pulumi-lang-python=\"`lifecycle`\" pulumi-lang-yaml=\"`lifecycle`\" pulumi-lang-java=\"`lifecycle`\" pulumi-lang-hcl=\"`lifecycle`\"\u003e`lifecycle`\u003c/span\u003e used here to make Provider ignore the changes for these two keys in the Terraform state.\n"
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/anonymousUser:AnonymousUser": {
            "description": "Provides an Artifactory anonymous user resource. This can be used to import Artifactory 'anonymous' user for some use cases where this is useful.\n\nThis resource is not intended for managing the 'anonymous' user in Artifactory. Use the \u003cspan pulumi-lang-nodejs=\"`artifactory.User`\" pulumi-lang-dotnet=\"`artifactory.User`\" pulumi-lang-go=\"`User`\" pulumi-lang-python=\"`User`\" pulumi-lang-yaml=\"`artifactory.User`\" pulumi-lang-java=\"`artifactory.User`\" pulumi-lang-hcl=\"`artifactory_user`\"\u003e`artifactory.User`\u003c/span\u003e resource instead.\n\n\u003e Anonymous user cannot be created from scratch, nor updated/deleted once imported into Terraform state.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\n// Define a new Artifactory 'anonymous' user for import\nconst anonymous = new artifactory.AnonymousUser(\"anonymous\", {});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\n# Define a new Artifactory 'anonymous' user for import\nanonymous = artifactory.AnonymousUser(\"anonymous\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Define a new Artifactory 'anonymous' user for import\n    var anonymous = new Artifactory.AnonymousUser(\"anonymous\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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// Define a new Artifactory 'anonymous' user for import\n\t\t_, err := artifactory.NewAnonymousUser(ctx, \"anonymous\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\n# Define a new Artifactory 'anonymous' user for import\nresource \"artifactory_anonymoususer\" \"anonymous\" {\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.AnonymousUser;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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        // Define a new Artifactory 'anonymous' user for import\n        var anonymous = new AnonymousUser(\"anonymous\");\n\n    }\n}\n```\n```yaml\nresources:\n  # Define a new Artifactory 'anonymous' user for import\n  anonymous:\n    type: artifactory:AnonymousUser\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import artifactory:index/anonymousUser:AnonymousUser anonymous-user anonymous\n```\n\n",
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Username for anonymous user. This is only for ensuring resource schema is valid for Terraform. This is not meant to be set or updated in the HCL.\n"
                }
            },
            "required": [
                "name"
            ],
            "inputProperties": {
                "name": {
                    "type": "string",
                    "description": "Username for anonymous user. This is only for ensuring resource schema is valid for Terraform. This is not meant to be set or updated in the HCL.\n"
                }
            },
            "stateInputs": {
                "description": "Input properties used for looking up and filtering AnonymousUser resources.\n",
                "properties": {
                    "name": {
                        "type": "string",
                        "description": "Username for anonymous user. This is only for ensuring resource schema is valid for Terraform. This is not meant to be set or updated in the HCL.\n"
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/apiKey:ApiKey": {
            "description": "Provides an Artifactory API key resource. This can be used to create and manage Artifactory API keys.\n\n\u003e **Note:** API keys will be stored in the raw state as plain-text. Read more about sensitive data in state.\n\n\u003e As notified in [Artifactory 7.47.10](https://jfrog.com/help/r/jfrog-release-information/artifactory-7.47.10-cloud-self-hosted), support for API Key is slated to be removed in a future release. To ease customer migration to [reference tokens](https://jfrog.com/help/r/jfrog-platform-administration-documentation/user-profile), which replaces API key, we are disabling the ability to create new API keys at the end of Q3 2024. The ability to use API keys will be removed at the end of Q4 2024. For more information, see [JFrog API Key Deprecation Process](https://jfrog.com/help/r/jfrog-platform-administration-documentation/jfrog-api-key-deprecation-process).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\n// Create a new Artifactory API key for the configured user\nconst ci = new artifactory.ApiKey(\"ci\", {});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\n# Create a new Artifactory API key for the configured user\nci = artifactory.ApiKey(\"ci\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Create a new Artifactory API key for the configured user\n    var ci = new Artifactory.ApiKey(\"ci\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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// Create a new Artifactory API key for the configured user\n\t\t_, err := artifactory.NewApiKey(ctx, \"ci\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\n# Create a new Artifactory API key for the configured user\nresource \"artifactory_apikey\" \"ci\" {\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.ApiKey;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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        // Create a new Artifactory API key for the configured user\n        var ci = new ApiKey(\"ci\");\n\n    }\n}\n```\n```yaml\nresources:\n  # Create a new Artifactory API key for the configured user\n  ci:\n    type: artifactory:ApiKey\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nA user's API key can be imported using any identifier, e.g.\n\n```sh\n$ pulumi import artifactory:index/apiKey:ApiKey test import\n```\n\n",
            "properties": {
                "apiKey": {
                    "type": "string",
                    "description": "The API key. Deprecated.\n",
                    "deprecationMessage": "Deprecated in favor of \u003cspan pulumi-lang-nodejs=\"\"artifactory.ScopedToken\"\" pulumi-lang-dotnet=\"\"artifactory.ScopedToken\"\" pulumi-lang-go=\"\"ScopedToken\"\" pulumi-lang-python=\"\"ScopedToken\"\" pulumi-lang-yaml=\"\"artifactory.ScopedToken\"\" pulumi-lang-java=\"\"artifactory.ScopedToken\"\" pulumi-lang-hcl=\"\"artifactory_scoped_token\"\"\u003e\"artifactory.ScopedToken\"\u003c/span\u003e.",
                    "language": {
                        "csharp": {
                            "name": "Key"
                        }
                    },
                    "secret": true
                }
            },
            "required": [
                "apiKey"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering ApiKey resources.\n",
                "properties": {
                    "apiKey": {
                        "type": "string",
                        "description": "The API key. Deprecated.\n",
                        "deprecationMessage": "Deprecated in favor of \u003cspan pulumi-lang-nodejs=\"\"artifactory.ScopedToken\"\" pulumi-lang-dotnet=\"\"artifactory.ScopedToken\"\" pulumi-lang-go=\"\"ScopedToken\"\" pulumi-lang-python=\"\"ScopedToken\"\" pulumi-lang-yaml=\"\"artifactory.ScopedToken\"\" pulumi-lang-java=\"\"artifactory.ScopedToken\"\" pulumi-lang-hcl=\"\"artifactory_scoped_token\"\"\u003e\"artifactory.ScopedToken\"\u003c/span\u003e.",
                        "language": {
                            "csharp": {
                                "name": "Key"
                            }
                        },
                        "secret": true
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/archivePolicy:ArchivePolicy": {
            "description": "Provides an Artifactory Archive Policy resource. This resource enable system administrators to define and customize policies based on specific criteria for removing unused binaries from across their JFrog platform. See [Retention Policies](https://jfrog.com/help/r/jfrog-platform-administration-documentation/archive) for more details.\n\n## Example Usage\n\n### Time-based Archive Policy (Days)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst my_archive_policy = new artifactory.ArchivePolicy(\"my-archive-policy\", {\n    key: \"my-archive-policy\",\n    description: \"My archive policy\",\n    cronExpression: \"0 0 2 ? * MON-SAT *\",\n    durationInMinutes: 60,\n    enabled: true,\n    skipTrashcan: false,\n    searchCriteria: {\n        packageTypes: [\"docker\"],\n        repos: [\"**\"],\n        includeAllProjects: true,\n        includedProjects: [],\n        includedPackages: [\"**\"],\n        excludedPackages: [\"com/jfrog/latest\"],\n        createdBeforeInDays: 30,\n        lastDownloadedBeforeInDays: 60,\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nmy_archive_policy = artifactory.ArchivePolicy(\"my-archive-policy\",\n    key=\"my-archive-policy\",\n    description=\"My archive policy\",\n    cron_expression=\"0 0 2 ? * MON-SAT *\",\n    duration_in_minutes=60,\n    enabled=True,\n    skip_trashcan=False,\n    search_criteria={\n        \"package_types\": [\"docker\"],\n        \"repos\": [\"**\"],\n        \"include_all_projects\": True,\n        \"included_projects\": [],\n        \"included_packages\": [\"**\"],\n        \"excluded_packages\": [\"com/jfrog/latest\"],\n        \"created_before_in_days\": 30,\n        \"last_downloaded_before_in_days\": 60,\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var my_archive_policy = new Artifactory.ArchivePolicy(\"my-archive-policy\", new()\n    {\n        Key = \"my-archive-policy\",\n        Description = \"My archive policy\",\n        CronExpression = \"0 0 2 ? * MON-SAT *\",\n        DurationInMinutes = 60,\n        Enabled = true,\n        SkipTrashcan = false,\n        SearchCriteria = new Artifactory.Inputs.ArchivePolicySearchCriteriaArgs\n        {\n            PackageTypes = new[]\n            {\n                \"docker\",\n            },\n            Repos = new[]\n            {\n                \"**\",\n            },\n            IncludeAllProjects = true,\n            IncludedProjects = new() { },\n            IncludedPackages = new[]\n            {\n                \"**\",\n            },\n            ExcludedPackages = new[]\n            {\n                \"com/jfrog/latest\",\n            },\n            CreatedBeforeInDays = 30,\n            LastDownloadedBeforeInDays = 60,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewArchivePolicy(ctx, \"my-archive-policy\", \u0026artifactory.ArchivePolicyArgs{\n\t\t\tKey:               pulumi.String(\"my-archive-policy\"),\n\t\t\tDescription:       pulumi.String(\"My archive policy\"),\n\t\t\tCronExpression:    pulumi.String(\"0 0 2 ? * MON-SAT *\"),\n\t\t\tDurationInMinutes: pulumi.Int(60),\n\t\t\tEnabled:           pulumi.Bool(true),\n\t\t\tSkipTrashcan:      pulumi.Bool(false),\n\t\t\tSearchCriteria: \u0026artifactory.ArchivePolicySearchCriteriaArgs{\n\t\t\t\tPackageTypes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"docker\"),\n\t\t\t\t},\n\t\t\t\tRepos: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"**\"),\n\t\t\t\t},\n\t\t\t\tIncludeAllProjects: pulumi.Bool(true),\n\t\t\t\tIncludedProjects:   pulumi.StringArray{},\n\t\t\t\tIncludedPackages: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"**\"),\n\t\t\t\t},\n\t\t\t\tExcludedPackages: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"com/jfrog/latest\"),\n\t\t\t\t},\n\t\t\t\tCreatedBeforeInDays:        pulumi.Int(30),\n\t\t\t\tLastDownloadedBeforeInDays: pulumi.Int(60),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_archivepolicy\" \"my-archive-policy\" {\n  key                 = \"my-archive-policy\"\n  description         = \"My archive policy\"\n  cron_expression     = \"0 0 2 ? * MON-SAT *\"\n  duration_in_minutes = 60\n  enabled             = true\n  skip_trashcan       = false\n  search_criteria = {\n    package_types                  = [\"docker\"]\n    repos                          = [\"**\"]\n    include_all_projects           = true\n    included_projects              = []\n    included_packages              = [\"**\"]\n    excluded_packages              = [\"com/jfrog/latest\"]\n    created_before_in_days         = 30\n    last_downloaded_before_in_days = 60\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.ArchivePolicy;\nimport com.pulumi.artifactory.ArchivePolicyArgs;\nimport com.pulumi.artifactory.inputs.ArchivePolicySearchCriteriaArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 my_archive_policy = new ArchivePolicy(\"my-archive-policy\", ArchivePolicyArgs.builder()\n            .key(\"my-archive-policy\")\n            .description(\"My archive policy\")\n            .cronExpression(\"0 0 2 ? * MON-SAT *\")\n            .durationInMinutes(60)\n            .enabled(true)\n            .skipTrashcan(false)\n            .searchCriteria(ArchivePolicySearchCriteriaArgs.builder()\n                .packageTypes(\"docker\")\n                .repos(\"**\")\n                .includeAllProjects(true)\n                .includedProjects()\n                .includedPackages(\"**\")\n                .excludedPackages(\"com/jfrog/latest\")\n                .createdBeforeInDays(30)\n                .lastDownloadedBeforeInDays(60)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  my-archive-policy:\n    type: artifactory:ArchivePolicy\n    properties:\n      key: my-archive-policy\n      description: My archive policy\n      cronExpression: 0 0 2 ? * MON-SAT *\n      durationInMinutes: 60\n      enabled: true\n      skipTrashcan: false\n      searchCriteria:\n        packageTypes:\n          - docker\n        repos:\n          - '**'\n        includeAllProjects: true\n        includedProjects: []\n        includedPackages:\n          - '**'\n        excludedPackages:\n          - com/jfrog/latest\n        createdBeforeInDays: 30\n        lastDownloadedBeforeInDays: 60\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Version-based Archive Policy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst my_version_policy = new artifactory.ArchivePolicy(\"my-version-policy\", {\n    key: \"my-version-policy\",\n    description: \"Keep only latest versions\",\n    cronExpression: \"0 0 2 ? * MON-SAT *\",\n    durationInMinutes: 60,\n    enabled: true,\n    skipTrashcan: false,\n    searchCriteria: {\n        packageTypes: [\"docker\"],\n        repos: [\"**\"],\n        includeAllProjects: true,\n        includedProjects: [],\n        includedPackages: [\"**\"],\n        excludedPackages: [\"com/jfrog/latest\"],\n        keepLastNVersions: 5,\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nmy_version_policy = artifactory.ArchivePolicy(\"my-version-policy\",\n    key=\"my-version-policy\",\n    description=\"Keep only latest versions\",\n    cron_expression=\"0 0 2 ? * MON-SAT *\",\n    duration_in_minutes=60,\n    enabled=True,\n    skip_trashcan=False,\n    search_criteria={\n        \"package_types\": [\"docker\"],\n        \"repos\": [\"**\"],\n        \"include_all_projects\": True,\n        \"included_projects\": [],\n        \"included_packages\": [\"**\"],\n        \"excluded_packages\": [\"com/jfrog/latest\"],\n        \"keep_last_n_versions\": 5,\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var my_version_policy = new Artifactory.ArchivePolicy(\"my-version-policy\", new()\n    {\n        Key = \"my-version-policy\",\n        Description = \"Keep only latest versions\",\n        CronExpression = \"0 0 2 ? * MON-SAT *\",\n        DurationInMinutes = 60,\n        Enabled = true,\n        SkipTrashcan = false,\n        SearchCriteria = new Artifactory.Inputs.ArchivePolicySearchCriteriaArgs\n        {\n            PackageTypes = new[]\n            {\n                \"docker\",\n            },\n            Repos = new[]\n            {\n                \"**\",\n            },\n            IncludeAllProjects = true,\n            IncludedProjects = new() { },\n            IncludedPackages = new[]\n            {\n                \"**\",\n            },\n            ExcludedPackages = new[]\n            {\n                \"com/jfrog/latest\",\n            },\n            KeepLastNVersions = 5,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewArchivePolicy(ctx, \"my-version-policy\", \u0026artifactory.ArchivePolicyArgs{\n\t\t\tKey:               pulumi.String(\"my-version-policy\"),\n\t\t\tDescription:       pulumi.String(\"Keep only latest versions\"),\n\t\t\tCronExpression:    pulumi.String(\"0 0 2 ? * MON-SAT *\"),\n\t\t\tDurationInMinutes: pulumi.Int(60),\n\t\t\tEnabled:           pulumi.Bool(true),\n\t\t\tSkipTrashcan:      pulumi.Bool(false),\n\t\t\tSearchCriteria: \u0026artifactory.ArchivePolicySearchCriteriaArgs{\n\t\t\t\tPackageTypes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"docker\"),\n\t\t\t\t},\n\t\t\t\tRepos: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"**\"),\n\t\t\t\t},\n\t\t\t\tIncludeAllProjects: pulumi.Bool(true),\n\t\t\t\tIncludedProjects:   pulumi.StringArray{},\n\t\t\t\tIncludedPackages: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"**\"),\n\t\t\t\t},\n\t\t\t\tExcludedPackages: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"com/jfrog/latest\"),\n\t\t\t\t},\n\t\t\t\tKeepLastNVersions: pulumi.Int(5),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_archivepolicy\" \"my-version-policy\" {\n  key                 = \"my-version-policy\"\n  description         = \"Keep only latest versions\"\n  cron_expression     = \"0 0 2 ? * MON-SAT *\"\n  duration_in_minutes = 60\n  enabled             = true\n  skip_trashcan       = false\n  search_criteria = {\n    package_types        = [\"docker\"]\n    repos                = [\"**\"]\n    include_all_projects = true\n    included_projects    = []\n    included_packages    = [\"**\"]\n    excluded_packages    = [\"com/jfrog/latest\"]\n    keep_last_n_versions = 5\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.ArchivePolicy;\nimport com.pulumi.artifactory.ArchivePolicyArgs;\nimport com.pulumi.artifactory.inputs.ArchivePolicySearchCriteriaArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 my_version_policy = new ArchivePolicy(\"my-version-policy\", ArchivePolicyArgs.builder()\n            .key(\"my-version-policy\")\n            .description(\"Keep only latest versions\")\n            .cronExpression(\"0 0 2 ? * MON-SAT *\")\n            .durationInMinutes(60)\n            .enabled(true)\n            .skipTrashcan(false)\n            .searchCriteria(ArchivePolicySearchCriteriaArgs.builder()\n                .packageTypes(\"docker\")\n                .repos(\"**\")\n                .includeAllProjects(true)\n                .includedProjects()\n                .includedPackages(\"**\")\n                .excludedPackages(\"com/jfrog/latest\")\n                .keepLastNVersions(5)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  my-version-policy:\n    type: artifactory:ArchivePolicy\n    properties:\n      key: my-version-policy\n      description: Keep only latest versions\n      cronExpression: 0 0 2 ? * MON-SAT *\n      durationInMinutes: 60\n      enabled: true\n      skipTrashcan: false\n      searchCriteria:\n        packageTypes:\n          - docker\n        repos:\n          - '**'\n        includeAllProjects: true\n        includedProjects: []\n        includedPackages:\n          - '**'\n        excludedPackages:\n          - com/jfrog/latest\n        keepLastNVersions: 5\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Properties-based Archive Policy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst my_properties_policy = new artifactory.ArchivePolicy(\"my-properties-policy\", {\n    key: \"my-properties-policy\",\n    description: \"Archive based on properties\",\n    cronExpression: \"0 0 2 ? * MON-SAT *\",\n    durationInMinutes: 60,\n    enabled: true,\n    skipTrashcan: false,\n    searchCriteria: {\n        packageTypes: [\"docker\"],\n        repos: [\"**\"],\n        includeAllProjects: true,\n        includedProjects: [],\n        includedPackages: [\"**\"],\n        excludedPackages: [\"com/jfrog/latest\"],\n        includedProperties: {\n            \"build.name\": [\"my-app\"],\n        },\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nmy_properties_policy = artifactory.ArchivePolicy(\"my-properties-policy\",\n    key=\"my-properties-policy\",\n    description=\"Archive based on properties\",\n    cron_expression=\"0 0 2 ? * MON-SAT *\",\n    duration_in_minutes=60,\n    enabled=True,\n    skip_trashcan=False,\n    search_criteria={\n        \"package_types\": [\"docker\"],\n        \"repos\": [\"**\"],\n        \"include_all_projects\": True,\n        \"included_projects\": [],\n        \"included_packages\": [\"**\"],\n        \"excluded_packages\": [\"com/jfrog/latest\"],\n        \"included_properties\": {\n            \"build.name\": [\"my-app\"],\n        },\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var my_properties_policy = new Artifactory.ArchivePolicy(\"my-properties-policy\", new()\n    {\n        Key = \"my-properties-policy\",\n        Description = \"Archive based on properties\",\n        CronExpression = \"0 0 2 ? * MON-SAT *\",\n        DurationInMinutes = 60,\n        Enabled = true,\n        SkipTrashcan = false,\n        SearchCriteria = new Artifactory.Inputs.ArchivePolicySearchCriteriaArgs\n        {\n            PackageTypes = new[]\n            {\n                \"docker\",\n            },\n            Repos = new[]\n            {\n                \"**\",\n            },\n            IncludeAllProjects = true,\n            IncludedProjects = new() { },\n            IncludedPackages = new[]\n            {\n                \"**\",\n            },\n            ExcludedPackages = new[]\n            {\n                \"com/jfrog/latest\",\n            },\n            IncludedProperties = \n            {\n                { \"build.name\", new[]\n                {\n                    \"my-app\",\n                } },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewArchivePolicy(ctx, \"my-properties-policy\", \u0026artifactory.ArchivePolicyArgs{\n\t\t\tKey:               pulumi.String(\"my-properties-policy\"),\n\t\t\tDescription:       pulumi.String(\"Archive based on properties\"),\n\t\t\tCronExpression:    pulumi.String(\"0 0 2 ? * MON-SAT *\"),\n\t\t\tDurationInMinutes: pulumi.Int(60),\n\t\t\tEnabled:           pulumi.Bool(true),\n\t\t\tSkipTrashcan:      pulumi.Bool(false),\n\t\t\tSearchCriteria: \u0026artifactory.ArchivePolicySearchCriteriaArgs{\n\t\t\t\tPackageTypes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"docker\"),\n\t\t\t\t},\n\t\t\t\tRepos: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"**\"),\n\t\t\t\t},\n\t\t\t\tIncludeAllProjects: pulumi.Bool(true),\n\t\t\t\tIncludedProjects:   pulumi.StringArray{},\n\t\t\t\tIncludedPackages: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"**\"),\n\t\t\t\t},\n\t\t\t\tExcludedPackages: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"com/jfrog/latest\"),\n\t\t\t\t},\n\t\t\t\tIncludedProperties: pulumi.StringArrayMap{\n\t\t\t\t\t\"build.name\": pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"my-app\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_archivepolicy\" \"my-properties-policy\" {\n  key                 = \"my-properties-policy\"\n  description         = \"Archive based on properties\"\n  cron_expression     = \"0 0 2 ? * MON-SAT *\"\n  duration_in_minutes = 60\n  enabled             = true\n  skip_trashcan       = false\n  search_criteria = {\n    package_types        = [\"docker\"]\n    repos                = [\"**\"]\n    include_all_projects = true\n    included_projects    = []\n    included_packages    = [\"**\"]\n    excluded_packages    = [\"com/jfrog/latest\"]\n    included_properties = {\n      \"build.name\" = [\"my-app\"]\n    }\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.ArchivePolicy;\nimport com.pulumi.artifactory.ArchivePolicyArgs;\nimport com.pulumi.artifactory.inputs.ArchivePolicySearchCriteriaArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 my_properties_policy = new ArchivePolicy(\"my-properties-policy\", ArchivePolicyArgs.builder()\n            .key(\"my-properties-policy\")\n            .description(\"Archive based on properties\")\n            .cronExpression(\"0 0 2 ? * MON-SAT *\")\n            .durationInMinutes(60)\n            .enabled(true)\n            .skipTrashcan(false)\n            .searchCriteria(ArchivePolicySearchCriteriaArgs.builder()\n                .packageTypes(\"docker\")\n                .repos(\"**\")\n                .includeAllProjects(true)\n                .includedProjects()\n                .includedPackages(\"**\")\n                .excludedPackages(\"com/jfrog/latest\")\n                .includedProperties(Map.of(\"build.name\", Arrays.asList(\"my-app\")))\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  my-properties-policy:\n    type: artifactory:ArchivePolicy\n    properties:\n      key: my-properties-policy\n      description: Archive based on properties\n      cronExpression: 0 0 2 ? * MON-SAT *\n      durationInMinutes: 60\n      enabled: true\n      skipTrashcan: false\n      searchCriteria:\n        packageTypes:\n          - docker\n        repos:\n          - '**'\n        includeAllProjects: true\n        includedProjects: []\n        includedPackages:\n          - '**'\n        excludedPackages:\n          - com/jfrog/latest\n        includedProperties:\n          build.name:\n            - my-app\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using Variables for Condition Fields\n\nYou can use Terraform variables for condition fields (\u003cspan pulumi-lang-nodejs=\"`createdBeforeInDays`\" pulumi-lang-dotnet=\"`CreatedBeforeInDays`\" pulumi-lang-go=\"`createdBeforeInDays`\" pulumi-lang-python=\"`created_before_in_days`\" pulumi-lang-yaml=\"`createdBeforeInDays`\" pulumi-lang-java=\"`createdBeforeInDays`\" pulumi-lang-hcl=\"`created_before_in_days`\"\u003e`createdBeforeInDays`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lastDownloadedBeforeInDays`\" pulumi-lang-dotnet=\"`LastDownloadedBeforeInDays`\" pulumi-lang-go=\"`lastDownloadedBeforeInDays`\" pulumi-lang-python=\"`last_downloaded_before_in_days`\" pulumi-lang-yaml=\"`lastDownloadedBeforeInDays`\" pulumi-lang-java=\"`lastDownloadedBeforeInDays`\" pulumi-lang-hcl=\"`last_downloaded_before_in_days`\"\u003e`lastDownloadedBeforeInDays`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`createdBeforeInMonths`\" pulumi-lang-dotnet=\"`CreatedBeforeInMonths`\" pulumi-lang-go=\"`createdBeforeInMonths`\" pulumi-lang-python=\"`created_before_in_months`\" pulumi-lang-yaml=\"`createdBeforeInMonths`\" pulumi-lang-java=\"`createdBeforeInMonths`\" pulumi-lang-hcl=\"`created_before_in_months`\"\u003e`createdBeforeInMonths`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lastDownloadedBeforeInMonths`\" pulumi-lang-dotnet=\"`LastDownloadedBeforeInMonths`\" pulumi-lang-go=\"`lastDownloadedBeforeInMonths`\" pulumi-lang-python=\"`last_downloaded_before_in_months`\" pulumi-lang-yaml=\"`lastDownloadedBeforeInMonths`\" pulumi-lang-java=\"`lastDownloadedBeforeInMonths`\" pulumi-lang-hcl=\"`last_downloaded_before_in_months`\"\u003e`lastDownloadedBeforeInMonths`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`keepLastNVersions`\" pulumi-lang-dotnet=\"`KeepLastNVersions`\" pulumi-lang-go=\"`keepLastNVersions`\" pulumi-lang-python=\"`keep_last_n_versions`\" pulumi-lang-yaml=\"`keepLastNVersions`\" pulumi-lang-java=\"`keepLastNVersions`\" pulumi-lang-hcl=\"`keep_last_n_versions`\"\u003e`keepLastNVersions`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`includedProperties`\" pulumi-lang-dotnet=\"`IncludedProperties`\" pulumi-lang-go=\"`includedProperties`\" pulumi-lang-python=\"`included_properties`\" pulumi-lang-yaml=\"`includedProperties`\" pulumi-lang-java=\"`includedProperties`\" pulumi-lang-hcl=\"`included_properties`\"\u003e`includedProperties`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`excludedProperties`\" pulumi-lang-dotnet=\"`ExcludedProperties`\" pulumi-lang-go=\"`excludedProperties`\" pulumi-lang-python=\"`excluded_properties`\" pulumi-lang-yaml=\"`excludedProperties`\" pulumi-lang-java=\"`excludedProperties`\" pulumi-lang-hcl=\"`excluded_properties`\"\u003e`excludedProperties`\u003c/span\u003e) and \u003cspan pulumi-lang-nodejs=\"`durationInMinutes`\" pulumi-lang-dotnet=\"`DurationInMinutes`\" pulumi-lang-go=\"`durationInMinutes`\" pulumi-lang-python=\"`duration_in_minutes`\" pulumi-lang-yaml=\"`durationInMinutes`\" pulumi-lang-java=\"`durationInMinutes`\" pulumi-lang-hcl=\"`duration_in_minutes`\"\u003e`durationInMinutes`\u003c/span\u003e. The validator will skip validation when values are unknown (variables), allowing `terraform validate` to pass without requiring variable values.\n\n**Example with variables:**\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst config = new pulumi.Config();\nconst archivePolicyLastDownloadedBeforeInDays = config.getNumber(\"archivePolicyLastDownloadedBeforeInDays\") || 30;\nconst archivePolicyDurationInMinutes = config.getNumber(\"archivePolicyDurationInMinutes\") || 60;\nconst my_archive_policy = new artifactory.ArchivePolicy(\"my-archive-policy\", {\n    key: \"my-archive-policy\",\n    description: \"My archive policy with variables\",\n    cronExpression: \"0 0 2 ? * MON-SAT *\",\n    durationInMinutes: archivePolicyDurationInMinutes,\n    enabled: true,\n    skipTrashcan: false,\n    searchCriteria: {\n        packageTypes: [\n            \"docker\",\n            \"generic\",\n            \"helm\",\n            \"helmoci\",\n            \"nuget\",\n            \"terraform\",\n        ],\n        repos: [\"**\"],\n        includeAllProjects: false,\n        includedProjects: [\"default\"],\n        includedPackages: [\"**\"],\n        excludedPackages: [\"com/jfrog/latest\"],\n        lastDownloadedBeforeInDays: archivePolicyLastDownloadedBeforeInDays,\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nconfig = pulumi.Config()\narchive_policy_last_downloaded_before_in_days = config.get_float(\"archivePolicyLastDownloadedBeforeInDays\")\nif archive_policy_last_downloaded_before_in_days is None:\n    archive_policy_last_downloaded_before_in_days = 30\narchive_policy_duration_in_minutes = config.get_float(\"archivePolicyDurationInMinutes\")\nif archive_policy_duration_in_minutes is None:\n    archive_policy_duration_in_minutes = 60\nmy_archive_policy = artifactory.ArchivePolicy(\"my-archive-policy\",\n    key=\"my-archive-policy\",\n    description=\"My archive policy with variables\",\n    cron_expression=\"0 0 2 ? * MON-SAT *\",\n    duration_in_minutes=int(archive_policy_duration_in_minutes),\n    enabled=True,\n    skip_trashcan=False,\n    search_criteria={\n        \"package_types\": [\n            \"docker\",\n            \"generic\",\n            \"helm\",\n            \"helmoci\",\n            \"nuget\",\n            \"terraform\",\n        ],\n        \"repos\": [\"**\"],\n        \"include_all_projects\": False,\n        \"included_projects\": [\"default\"],\n        \"included_packages\": [\"**\"],\n        \"excluded_packages\": [\"com/jfrog/latest\"],\n        \"last_downloaded_before_in_days\": int(archive_policy_last_downloaded_before_in_days),\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var archivePolicyLastDownloadedBeforeInDays = config.GetDouble(\"archivePolicyLastDownloadedBeforeInDays\") ?? 30;\n    var archivePolicyDurationInMinutes = config.GetDouble(\"archivePolicyDurationInMinutes\") ?? 60;\n    var my_archive_policy = new Artifactory.ArchivePolicy(\"my-archive-policy\", new()\n    {\n        Key = \"my-archive-policy\",\n        Description = \"My archive policy with variables\",\n        CronExpression = \"0 0 2 ? * MON-SAT *\",\n        DurationInMinutes = archivePolicyDurationInMinutes,\n        Enabled = true,\n        SkipTrashcan = false,\n        SearchCriteria = new Artifactory.Inputs.ArchivePolicySearchCriteriaArgs\n        {\n            PackageTypes = new[]\n            {\n                \"docker\",\n                \"generic\",\n                \"helm\",\n                \"helmoci\",\n                \"nuget\",\n                \"terraform\",\n            },\n            Repos = new[]\n            {\n                \"**\",\n            },\n            IncludeAllProjects = false,\n            IncludedProjects = new[]\n            {\n                \"default\",\n            },\n            IncludedPackages = new[]\n            {\n                \"**\",\n            },\n            ExcludedPackages = new[]\n            {\n                \"com/jfrog/latest\",\n            },\n            LastDownloadedBeforeInDays = archivePolicyLastDownloadedBeforeInDays,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tarchivePolicyLastDownloadedBeforeInDays := float64(30)\n\t\tif param := cfg.GetFloat64(\"archivePolicyLastDownloadedBeforeInDays\"); param != 0 {\n\t\t\tarchivePolicyLastDownloadedBeforeInDays = param\n\t\t}\n\t\tarchivePolicyDurationInMinutes := float64(60)\n\t\tif param := cfg.GetFloat64(\"archivePolicyDurationInMinutes\"); param != 0 {\n\t\t\tarchivePolicyDurationInMinutes = param\n\t\t}\n\t\t_, err := artifactory.NewArchivePolicy(ctx, \"my-archive-policy\", \u0026artifactory.ArchivePolicyArgs{\n\t\t\tKey:               pulumi.String(\"my-archive-policy\"),\n\t\t\tDescription:       pulumi.String(\"My archive policy with variables\"),\n\t\t\tCronExpression:    pulumi.String(\"0 0 2 ? * MON-SAT *\"),\n\t\t\tDurationInMinutes: pulumi.Float64(archivePolicyDurationInMinutes),\n\t\t\tEnabled:           pulumi.Bool(true),\n\t\t\tSkipTrashcan:      pulumi.Bool(false),\n\t\t\tSearchCriteria: \u0026artifactory.ArchivePolicySearchCriteriaArgs{\n\t\t\t\tPackageTypes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"docker\"),\n\t\t\t\t\tpulumi.String(\"generic\"),\n\t\t\t\t\tpulumi.String(\"helm\"),\n\t\t\t\t\tpulumi.String(\"helmoci\"),\n\t\t\t\t\tpulumi.String(\"nuget\"),\n\t\t\t\t\tpulumi.String(\"terraform\"),\n\t\t\t\t},\n\t\t\t\tRepos: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"**\"),\n\t\t\t\t},\n\t\t\t\tIncludeAllProjects: pulumi.Bool(false),\n\t\t\t\tIncludedProjects: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"default\"),\n\t\t\t\t},\n\t\t\t\tIncludedPackages: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"**\"),\n\t\t\t\t},\n\t\t\t\tExcludedPackages: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"com/jfrog/latest\"),\n\t\t\t\t},\n\t\t\t\tLastDownloadedBeforeInDays: pulumi.Float64(archivePolicyLastDownloadedBeforeInDays),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_archivepolicy\" \"my-archive-policy\" {\n  key                 = \"my-archive-policy\"\n  description         = \"My archive policy with variables\"\n  cron_expression     = \"0 0 2 ? * MON-SAT *\"\n  duration_in_minutes = var.archivePolicyDurationInMinutes\n  enabled             = true\n  skip_trashcan       = false\n  search_criteria = {\n    package_types                  = [\"docker\", \"generic\", \"helm\", \"helmoci\", \"nuget\", \"terraform\"]\n    repos                          = [\"**\"]\n    include_all_projects           = false\n    included_projects              = [\"default\"]\n    included_packages              = [\"**\"]\n    excluded_packages              = [\"com/jfrog/latest\"]\n    last_downloaded_before_in_days = var.archivePolicyLastDownloadedBeforeInDays\n  }\n}\nvariable \"archivePolicyLastDownloadedBeforeInDays\" {\n  type    = number\n  default = 30\n}\nvariable \"archivePolicyDurationInMinutes\" {\n  type    = number\n  default = 60\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.ArchivePolicy;\nimport com.pulumi.artifactory.ArchivePolicyArgs;\nimport com.pulumi.artifactory.inputs.ArchivePolicySearchCriteriaArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 config = ctx.config();\n        final var archivePolicyLastDownloadedBeforeInDays = config.get(\"archivePolicyLastDownloadedBeforeInDays\").orElse(30);\n        final var archivePolicyDurationInMinutes = config.get(\"archivePolicyDurationInMinutes\").orElse(60);\n        var my_archive_policy = new ArchivePolicy(\"my-archive-policy\", ArchivePolicyArgs.builder()\n            .key(\"my-archive-policy\")\n            .description(\"My archive policy with variables\")\n            .cronExpression(\"0 0 2 ? * MON-SAT *\")\n            .durationInMinutes(archivePolicyDurationInMinutes)\n            .enabled(true)\n            .skipTrashcan(false)\n            .searchCriteria(ArchivePolicySearchCriteriaArgs.builder()\n                .packageTypes(                \n                    \"docker\",\n                    \"generic\",\n                    \"helm\",\n                    \"helmoci\",\n                    \"nuget\",\n                    \"terraform\")\n                .repos(\"**\")\n                .includeAllProjects(false)\n                .includedProjects(\"default\")\n                .includedPackages(\"**\")\n                .excludedPackages(\"com/jfrog/latest\")\n                .lastDownloadedBeforeInDays(archivePolicyLastDownloadedBeforeInDays)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  archivePolicyLastDownloadedBeforeInDays:\n    type: number\n    default: 30\n  archivePolicyDurationInMinutes:\n    type: number\n    default: 60\nresources:\n  my-archive-policy:\n    type: artifactory:ArchivePolicy\n    properties:\n      key: my-archive-policy\n      description: My archive policy with variables\n      cronExpression: 0 0 2 ? * MON-SAT *\n      durationInMinutes: ${archivePolicyDurationInMinutes}\n      enabled: true\n      skipTrashcan: false\n      searchCriteria:\n        packageTypes:\n          - docker\n          - generic\n          - helm\n          - helmoci\n          - nuget\n          - terraform\n        repos:\n          - '**'\n        includeAllProjects: false\n        includedProjects:\n          - default\n        includedPackages:\n          - '**'\n        excludedPackages:\n          - com/jfrog/latest\n        lastDownloadedBeforeInDays: ${archivePolicyLastDownloadedBeforeInDays}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n**Important Notes:**\n- Variables with default values allow `terraform validate` to pass without requiring variable values\n- Variables without default values will require values to be provided during `pulumi preview` or `pulumi up`\n- The validator automatically skips validation when condition field values are unknown (variables), preventing false validation errors during `terraform validate`\n\n### Time-based and properties-based combined\n\nYou may combine **time-based** fields (e.g. \u003cspan pulumi-lang-nodejs=\"`createdBeforeInDays`\" pulumi-lang-dotnet=\"`CreatedBeforeInDays`\" pulumi-lang-go=\"`createdBeforeInDays`\" pulumi-lang-python=\"`created_before_in_days`\" pulumi-lang-yaml=\"`createdBeforeInDays`\" pulumi-lang-java=\"`createdBeforeInDays`\" pulumi-lang-hcl=\"`created_before_in_days`\"\u003e`createdBeforeInDays`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lastDownloadedBeforeInDays`\" pulumi-lang-dotnet=\"`LastDownloadedBeforeInDays`\" pulumi-lang-go=\"`lastDownloadedBeforeInDays`\" pulumi-lang-python=\"`last_downloaded_before_in_days`\" pulumi-lang-yaml=\"`lastDownloadedBeforeInDays`\" pulumi-lang-java=\"`lastDownloadedBeforeInDays`\" pulumi-lang-hcl=\"`last_downloaded_before_in_days`\"\u003e`lastDownloadedBeforeInDays`\u003c/span\u003e) with **\u003cspan pulumi-lang-nodejs=\"`includedProperties`\" pulumi-lang-dotnet=\"`IncludedProperties`\" pulumi-lang-go=\"`includedProperties`\" pulumi-lang-python=\"`included_properties`\" pulumi-lang-yaml=\"`includedProperties`\" pulumi-lang-java=\"`includedProperties`\" pulumi-lang-hcl=\"`included_properties`\"\u003e`includedProperties`\u003c/span\u003e** in the same policy. **\u003cspan pulumi-lang-nodejs=\"`keepLastNVersions`\" pulumi-lang-dotnet=\"`KeepLastNVersions`\" pulumi-lang-go=\"`keepLastNVersions`\" pulumi-lang-python=\"`keep_last_n_versions`\" pulumi-lang-yaml=\"`keepLastNVersions`\" pulumi-lang-java=\"`keepLastNVersions`\" pulumi-lang-hcl=\"`keep_last_n_versions`\"\u003e`keepLastNVersions`\u003c/span\u003e** cannot be used together with time-based or properties-based conditions—use version-based logic alone, or time and/or properties without \u003cspan pulumi-lang-nodejs=\"`keepLastNVersions`\" pulumi-lang-dotnet=\"`KeepLastNVersions`\" pulumi-lang-go=\"`keepLastNVersions`\" pulumi-lang-python=\"`keep_last_n_versions`\" pulumi-lang-yaml=\"`keepLastNVersions`\" pulumi-lang-java=\"`keepLastNVersions`\" pulumi-lang-hcl=\"`keep_last_n_versions`\"\u003e`keepLastNVersions`\u003c/span\u003e.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst time_and_properties = new artifactory.ArchivePolicy(\"time-and-properties\", {\n    key: \"time-and-properties\",\n    description: \"Archive old packages that match a property\",\n    cronExpression: \"0 0 2 ? * MON-SAT *\",\n    durationInMinutes: 60,\n    enabled: true,\n    skipTrashcan: false,\n    searchCriteria: {\n        packageTypes: [\"docker\"],\n        repos: [\"**\"],\n        includeAllProjects: true,\n        includedProjects: [],\n        includedPackages: [\"**\"],\n        excludedPackages: [],\n        lastDownloadedBeforeInDays: 90,\n        includedProperties: {\n            \"retention.archive\": [\"true\"],\n        },\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\ntime_and_properties = artifactory.ArchivePolicy(\"time-and-properties\",\n    key=\"time-and-properties\",\n    description=\"Archive old packages that match a property\",\n    cron_expression=\"0 0 2 ? * MON-SAT *\",\n    duration_in_minutes=60,\n    enabled=True,\n    skip_trashcan=False,\n    search_criteria={\n        \"package_types\": [\"docker\"],\n        \"repos\": [\"**\"],\n        \"include_all_projects\": True,\n        \"included_projects\": [],\n        \"included_packages\": [\"**\"],\n        \"excluded_packages\": [],\n        \"last_downloaded_before_in_days\": 90,\n        \"included_properties\": {\n            \"retention.archive\": [\"true\"],\n        },\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var time_and_properties = new Artifactory.ArchivePolicy(\"time-and-properties\", new()\n    {\n        Key = \"time-and-properties\",\n        Description = \"Archive old packages that match a property\",\n        CronExpression = \"0 0 2 ? * MON-SAT *\",\n        DurationInMinutes = 60,\n        Enabled = true,\n        SkipTrashcan = false,\n        SearchCriteria = new Artifactory.Inputs.ArchivePolicySearchCriteriaArgs\n        {\n            PackageTypes = new[]\n            {\n                \"docker\",\n            },\n            Repos = new[]\n            {\n                \"**\",\n            },\n            IncludeAllProjects = true,\n            IncludedProjects = new() { },\n            IncludedPackages = new[]\n            {\n                \"**\",\n            },\n            ExcludedPackages = new() { },\n            LastDownloadedBeforeInDays = 90,\n            IncludedProperties = \n            {\n                { \"retention.archive\", new[]\n                {\n                    \"true\",\n                } },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewArchivePolicy(ctx, \"time-and-properties\", \u0026artifactory.ArchivePolicyArgs{\n\t\t\tKey:               pulumi.String(\"time-and-properties\"),\n\t\t\tDescription:       pulumi.String(\"Archive old packages that match a property\"),\n\t\t\tCronExpression:    pulumi.String(\"0 0 2 ? * MON-SAT *\"),\n\t\t\tDurationInMinutes: pulumi.Int(60),\n\t\t\tEnabled:           pulumi.Bool(true),\n\t\t\tSkipTrashcan:      pulumi.Bool(false),\n\t\t\tSearchCriteria: \u0026artifactory.ArchivePolicySearchCriteriaArgs{\n\t\t\t\tPackageTypes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"docker\"),\n\t\t\t\t},\n\t\t\t\tRepos: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"**\"),\n\t\t\t\t},\n\t\t\t\tIncludeAllProjects: pulumi.Bool(true),\n\t\t\t\tIncludedProjects:   pulumi.StringArray{},\n\t\t\t\tIncludedPackages: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"**\"),\n\t\t\t\t},\n\t\t\t\tExcludedPackages:           pulumi.StringArray{},\n\t\t\t\tLastDownloadedBeforeInDays: pulumi.Int(90),\n\t\t\t\tIncludedProperties: pulumi.StringArrayMap{\n\t\t\t\t\t\"retention.archive\": pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"true\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_archivepolicy\" \"time-and-properties\" {\n  key                 = \"time-and-properties\"\n  description         = \"Archive old packages that match a property\"\n  cron_expression     = \"0 0 2 ? * MON-SAT *\"\n  duration_in_minutes = 60\n  enabled             = true\n  skip_trashcan       = false\n  search_criteria = {\n    package_types                  = [\"docker\"]\n    repos                          = [\"**\"]\n    include_all_projects           = true\n    included_projects              = []\n    included_packages              = [\"**\"]\n    excluded_packages              = []\n    last_downloaded_before_in_days = 90\n    included_properties = {\n      \"retention.archive\" = [\"true\"]\n    }\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.ArchivePolicy;\nimport com.pulumi.artifactory.ArchivePolicyArgs;\nimport com.pulumi.artifactory.inputs.ArchivePolicySearchCriteriaArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 time_and_properties = new ArchivePolicy(\"time-and-properties\", ArchivePolicyArgs.builder()\n            .key(\"time-and-properties\")\n            .description(\"Archive old packages that match a property\")\n            .cronExpression(\"0 0 2 ? * MON-SAT *\")\n            .durationInMinutes(60)\n            .enabled(true)\n            .skipTrashcan(false)\n            .searchCriteria(ArchivePolicySearchCriteriaArgs.builder()\n                .packageTypes(\"docker\")\n                .repos(\"**\")\n                .includeAllProjects(true)\n                .includedProjects()\n                .includedPackages(\"**\")\n                .excludedPackages()\n                .lastDownloadedBeforeInDays(90)\n                .includedProperties(Map.of(\"retention.archive\", Arrays.asList(\"true\")))\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  time-and-properties:\n    type: artifactory:ArchivePolicy\n    properties:\n      key: time-and-properties\n      description: Archive old packages that match a property\n      cronExpression: 0 0 2 ? * MON-SAT *\n      durationInMinutes: 60\n      enabled: true\n      skipTrashcan: false\n      searchCriteria:\n        packageTypes:\n          - docker\n        repos:\n          - '**'\n        includeAllProjects: true\n        includedProjects: []\n        includedPackages:\n          - '**'\n        excludedPackages: []\n        lastDownloadedBeforeInDays: 90\n        includedProperties:\n          retention.archive:\n            - 'true'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Validation Rules\n\nThe archive policy resource enforces the following validation rules:\n\n1. **At least one condition**: A policy must specify at least one of: time-based (days or months), version-based (\u003cspan pulumi-lang-nodejs=\"`keepLastNVersions`\" pulumi-lang-dotnet=\"`KeepLastNVersions`\" pulumi-lang-go=\"`keepLastNVersions`\" pulumi-lang-python=\"`keep_last_n_versions`\" pulumi-lang-yaml=\"`keepLastNVersions`\" pulumi-lang-java=\"`keepLastNVersions`\" pulumi-lang-hcl=\"`keep_last_n_versions`\"\u003e`keepLastNVersions`\u003c/span\u003e), or properties-based (\u003cspan pulumi-lang-nodejs=\"`includedProperties`\" pulumi-lang-dotnet=\"`IncludedProperties`\" pulumi-lang-go=\"`includedProperties`\" pulumi-lang-python=\"`included_properties`\" pulumi-lang-yaml=\"`includedProperties`\" pulumi-lang-java=\"`includedProperties`\" pulumi-lang-hcl=\"`included_properties`\"\u003e`includedProperties`\u003c/span\u003e).\n\n2. **Version-based exclusivity**: \u003cspan pulumi-lang-nodejs=\"`keepLastNVersions`\" pulumi-lang-dotnet=\"`KeepLastNVersions`\" pulumi-lang-go=\"`keepLastNVersions`\" pulumi-lang-python=\"`keep_last_n_versions`\" pulumi-lang-yaml=\"`keepLastNVersions`\" pulumi-lang-java=\"`keepLastNVersions`\" pulumi-lang-hcl=\"`keep_last_n_versions`\"\u003e`keepLastNVersions`\u003c/span\u003e cannot be combined with time-based conditions or with \u003cspan pulumi-lang-nodejs=\"`includedProperties`\" pulumi-lang-dotnet=\"`IncludedProperties`\" pulumi-lang-go=\"`includedProperties`\" pulumi-lang-python=\"`included_properties`\" pulumi-lang-yaml=\"`includedProperties`\" pulumi-lang-java=\"`includedProperties`\" pulumi-lang-hcl=\"`included_properties`\"\u003e`includedProperties`\u003c/span\u003e. Time-based and properties-based conditions **may** be combined.\n\n3. **Zero Values**: When set, time-based and version-based condition values must be greater than 0.\n\n4. **Days vs Months**: Cannot use both days-based conditions (\u003cspan pulumi-lang-nodejs=\"`createdBeforeInDays`\" pulumi-lang-dotnet=\"`CreatedBeforeInDays`\" pulumi-lang-go=\"`createdBeforeInDays`\" pulumi-lang-python=\"`created_before_in_days`\" pulumi-lang-yaml=\"`createdBeforeInDays`\" pulumi-lang-java=\"`createdBeforeInDays`\" pulumi-lang-hcl=\"`created_before_in_days`\"\u003e`createdBeforeInDays`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lastDownloadedBeforeInDays`\" pulumi-lang-dotnet=\"`LastDownloadedBeforeInDays`\" pulumi-lang-go=\"`lastDownloadedBeforeInDays`\" pulumi-lang-python=\"`last_downloaded_before_in_days`\" pulumi-lang-yaml=\"`lastDownloadedBeforeInDays`\" pulumi-lang-java=\"`lastDownloadedBeforeInDays`\" pulumi-lang-hcl=\"`last_downloaded_before_in_days`\"\u003e`lastDownloadedBeforeInDays`\u003c/span\u003e) and months-based conditions (\u003cspan pulumi-lang-nodejs=\"`createdBeforeInMonths`\" pulumi-lang-dotnet=\"`CreatedBeforeInMonths`\" pulumi-lang-go=\"`createdBeforeInMonths`\" pulumi-lang-python=\"`created_before_in_months`\" pulumi-lang-yaml=\"`createdBeforeInMonths`\" pulumi-lang-java=\"`createdBeforeInMonths`\" pulumi-lang-hcl=\"`created_before_in_months`\"\u003e`createdBeforeInMonths`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lastDownloadedBeforeInMonths`\" pulumi-lang-dotnet=\"`LastDownloadedBeforeInMonths`\" pulumi-lang-go=\"`lastDownloadedBeforeInMonths`\" pulumi-lang-python=\"`last_downloaded_before_in_months`\" pulumi-lang-yaml=\"`lastDownloadedBeforeInMonths`\" pulumi-lang-java=\"`lastDownloadedBeforeInMonths`\" pulumi-lang-hcl=\"`last_downloaded_before_in_months`\"\u003e`lastDownloadedBeforeInMonths`\u003c/span\u003e) together.\n\n5. **Properties Validation**: When using \u003cspan pulumi-lang-nodejs=\"`includedProperties`\" pulumi-lang-dotnet=\"`IncludedProperties`\" pulumi-lang-go=\"`includedProperties`\" pulumi-lang-python=\"`included_properties`\" pulumi-lang-yaml=\"`includedProperties`\" pulumi-lang-java=\"`includedProperties`\" pulumi-lang-hcl=\"`included_properties`\"\u003e`includedProperties`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`excludedProperties`\" pulumi-lang-dotnet=\"`ExcludedProperties`\" pulumi-lang-go=\"`excludedProperties`\" pulumi-lang-python=\"`excluded_properties`\" pulumi-lang-yaml=\"`excludedProperties`\" pulumi-lang-java=\"`excludedProperties`\" pulumi-lang-hcl=\"`excluded_properties`\"\u003e`excludedProperties`\u003c/span\u003e, each map must have exactly one key with exactly one string value.\n\n6. **Project Configuration**: When \u003cspan pulumi-lang-nodejs=\"`includeAllProjects`\" pulumi-lang-dotnet=\"`IncludeAllProjects`\" pulumi-lang-go=\"`includeAllProjects`\" pulumi-lang-python=\"`include_all_projects`\" pulumi-lang-yaml=\"`includeAllProjects`\" pulumi-lang-java=\"`includeAllProjects`\" pulumi-lang-hcl=\"`include_all_projects`\"\u003e`includeAllProjects`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the \u003cspan pulumi-lang-nodejs=\"`includedProjects`\" pulumi-lang-dotnet=\"`IncludedProjects`\" pulumi-lang-go=\"`includedProjects`\" pulumi-lang-python=\"`included_projects`\" pulumi-lang-yaml=\"`includedProjects`\" pulumi-lang-java=\"`includedProjects`\" pulumi-lang-hcl=\"`included_projects`\"\u003e`includedProjects`\u003c/span\u003e field can be empty array. When \u003cspan pulumi-lang-nodejs=\"`includeAllProjects`\" pulumi-lang-dotnet=\"`IncludeAllProjects`\" pulumi-lang-go=\"`includeAllProjects`\" pulumi-lang-python=\"`include_all_projects`\" pulumi-lang-yaml=\"`includeAllProjects`\" pulumi-lang-java=\"`includeAllProjects`\" pulumi-lang-hcl=\"`include_all_projects`\"\u003e`includeAllProjects`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`includedProjects`\" pulumi-lang-dotnet=\"`IncludedProjects`\" pulumi-lang-go=\"`includedProjects`\" pulumi-lang-python=\"`included_projects`\" pulumi-lang-yaml=\"`includedProjects`\" pulumi-lang-java=\"`includedProjects`\" pulumi-lang-hcl=\"`included_projects`\"\u003e`includedProjects`\u003c/span\u003e must contain at least one project key.\n\n## Supported Package Types\n\nThe following package types are supported: alpine, ansible, cargo, chef, cocoapods, composer, conan, conda, debian, docker, gems, generic, go, gradle, helm, helmoci, huggingfaceml, maven, npm, nuget, oci, opkg, puppet, pypi, sbt, swift, terraform, terraformbackend, vagrant, yum.\n\n## Version Compatibility\n\n- The \u003cspan pulumi-lang-nodejs=\"`createdBeforeInDays`\" pulumi-lang-dotnet=\"`CreatedBeforeInDays`\" pulumi-lang-go=\"`createdBeforeInDays`\" pulumi-lang-python=\"`created_before_in_days`\" pulumi-lang-yaml=\"`createdBeforeInDays`\" pulumi-lang-java=\"`createdBeforeInDays`\" pulumi-lang-hcl=\"`created_before_in_days`\"\u003e`createdBeforeInDays`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`lastDownloadedBeforeInDays`\" pulumi-lang-dotnet=\"`LastDownloadedBeforeInDays`\" pulumi-lang-go=\"`lastDownloadedBeforeInDays`\" pulumi-lang-python=\"`last_downloaded_before_in_days`\" pulumi-lang-yaml=\"`lastDownloadedBeforeInDays`\" pulumi-lang-java=\"`lastDownloadedBeforeInDays`\" pulumi-lang-hcl=\"`last_downloaded_before_in_days`\"\u003e`lastDownloadedBeforeInDays`\u003c/span\u003e attributes are only supported in Artifactory 7.111.2 and later. For earlier versions, use \u003cspan pulumi-lang-nodejs=\"`createdBeforeInMonths`\" pulumi-lang-dotnet=\"`CreatedBeforeInMonths`\" pulumi-lang-go=\"`createdBeforeInMonths`\" pulumi-lang-python=\"`created_before_in_months`\" pulumi-lang-yaml=\"`createdBeforeInMonths`\" pulumi-lang-java=\"`createdBeforeInMonths`\" pulumi-lang-hcl=\"`created_before_in_months`\"\u003e`createdBeforeInMonths`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`lastDownloadedBeforeInMonths`\" pulumi-lang-dotnet=\"`LastDownloadedBeforeInMonths`\" pulumi-lang-go=\"`lastDownloadedBeforeInMonths`\" pulumi-lang-python=\"`last_downloaded_before_in_months`\" pulumi-lang-yaml=\"`lastDownloadedBeforeInMonths`\" pulumi-lang-java=\"`lastDownloadedBeforeInMonths`\" pulumi-lang-hcl=\"`last_downloaded_before_in_months`\"\u003e`lastDownloadedBeforeInMonths`\u003c/span\u003e.\n\n## Import\n\n```sh\n$ pulumi import artifactory:index/archivePolicy:ArchivePolicy my-archive-policy my-policy\n\n$ pulumi import artifactory:index/archivePolicy:ArchivePolicy my-archive-policy my-policy:myproj\n```\n\n",
            "properties": {
                "cronExpression": {
                    "type": "string",
                    "description": "The cron expression determines when the policy is run. This parameter is not mandatory, however if left empty the policy will not run automatically and can only be triggered manually.\n"
                },
                "description": {
                    "type": "string"
                },
                "durationInMinutes": {
                    "type": "integer",
                    "description": "The maximum duration (in minutes) for policy execution, after which the policy will stop running even if not completed. While setting a maximum run duration for a policy is useful for adhering to a strict archive V2 schedule, it can cause the policy to stop before completion.\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Enables or disabled the package cleanup policy. This allows the user to run the policy manually. If a policy has a valid cron expression, then it will be scheduled for execution based on it. If a policy is disabled, its future executions will be unscheduled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e\n"
                },
                "key": {
                    "type": "string",
                    "description": "An ID that is used to identify the archive policy. A minimum of three characters is required and can include letters, numbers, underscore and hyphen.\n"
                },
                "projectKey": {
                    "type": "string",
                    "description": "This attribute is used only for project-level archive V2 policies, it is not used for global-level policies.\n"
                },
                "searchCriteria": {
                    "$ref": "#/types/artifactory:index/ArchivePolicySearchCriteria:ArchivePolicySearchCriteria"
                },
                "skipTrashcan": {
                    "type": "boolean",
                    "description": "A \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e value means that when this policy is executed, packages will be permanently deleted. \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e means that when the policy is executed packages will be deleted to the Trash Can. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                }
            },
            "required": [
                "durationInMinutes",
                "enabled",
                "key",
                "searchCriteria",
                "skipTrashcan"
            ],
            "inputProperties": {
                "cronExpression": {
                    "type": "string",
                    "description": "The cron expression determines when the policy is run. This parameter is not mandatory, however if left empty the policy will not run automatically and can only be triggered manually.\n"
                },
                "description": {
                    "type": "string"
                },
                "durationInMinutes": {
                    "type": "integer",
                    "description": "The maximum duration (in minutes) for policy execution, after which the policy will stop running even if not completed. While setting a maximum run duration for a policy is useful for adhering to a strict archive V2 schedule, it can cause the policy to stop before completion.\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Enables or disabled the package cleanup policy. This allows the user to run the policy manually. If a policy has a valid cron expression, then it will be scheduled for execution based on it. If a policy is disabled, its future executions will be unscheduled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e\n"
                },
                "key": {
                    "type": "string",
                    "description": "An ID that is used to identify the archive policy. A minimum of three characters is required and can include letters, numbers, underscore and hyphen.\n"
                },
                "projectKey": {
                    "type": "string",
                    "description": "This attribute is used only for project-level archive V2 policies, it is not used for global-level policies.\n"
                },
                "searchCriteria": {
                    "$ref": "#/types/artifactory:index/ArchivePolicySearchCriteria:ArchivePolicySearchCriteria"
                },
                "skipTrashcan": {
                    "type": "boolean",
                    "description": "A \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e value means that when this policy is executed, packages will be permanently deleted. \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e means that when the policy is executed packages will be deleted to the Trash Can. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                }
            },
            "requiredInputs": [
                "key",
                "searchCriteria"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering ArchivePolicy resources.\n",
                "properties": {
                    "cronExpression": {
                        "type": "string",
                        "description": "The cron expression determines when the policy is run. This parameter is not mandatory, however if left empty the policy will not run automatically and can only be triggered manually.\n"
                    },
                    "description": {
                        "type": "string"
                    },
                    "durationInMinutes": {
                        "type": "integer",
                        "description": "The maximum duration (in minutes) for policy execution, after which the policy will stop running even if not completed. While setting a maximum run duration for a policy is useful for adhering to a strict archive V2 schedule, it can cause the policy to stop before completion.\n"
                    },
                    "enabled": {
                        "type": "boolean",
                        "description": "Enables or disabled the package cleanup policy. This allows the user to run the policy manually. If a policy has a valid cron expression, then it will be scheduled for execution based on it. If a policy is disabled, its future executions will be unscheduled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e\n"
                    },
                    "key": {
                        "type": "string",
                        "description": "An ID that is used to identify the archive policy. A minimum of three characters is required and can include letters, numbers, underscore and hyphen.\n"
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "This attribute is used only for project-level archive V2 policies, it is not used for global-level policies.\n"
                    },
                    "searchCriteria": {
                        "$ref": "#/types/artifactory:index/ArchivePolicySearchCriteria:ArchivePolicySearchCriteria"
                    },
                    "skipTrashcan": {
                        "type": "boolean",
                        "description": "A \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e value means that when this policy is executed, packages will be permanently deleted. \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e means that when the policy is executed packages will be deleted to the Trash Can. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/artifact:Artifact": {
            "description": "Provides a resource for deploying artifact to Artifactory repository. Support deploying a single artifact only. Changes to \u003cspan pulumi-lang-nodejs=\"`repository`\" pulumi-lang-dotnet=\"`Repository`\" pulumi-lang-go=\"`repository`\" pulumi-lang-python=\"`repository`\" pulumi-lang-yaml=\"`repository`\" pulumi-lang-java=\"`repository`\" pulumi-lang-hcl=\"`repository`\"\u003e`repository`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\" pulumi-lang-hcl=\"`path`\"\u003e`path`\u003c/span\u003e attributes will trigger a recreation of the resource (i.e. delete then create). See [JFrog documentation](https://jfrog.com/help/r/jfrog-artifactory-documentation/deploy-a-single-artifact) for more details.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst my_artifact = new artifactory.Artifact(\"my-artifact\", {\n    repository: \"my-generic-local\",\n    path: \"/my-path/my-file.zip\",\n    filePath: \"/path/to/my-file.zip\",\n});\nconst my_base64_artifact = new artifactory.Artifact(\"my-base64-artifact\", {\n    repository: \"my-generic-local\",\n    path: \"/my-path/my-file.zip\",\n    contentBase64: \"UEsDBAoAAAAAALl8alQAAAAAAAAAAAAAAAAJAAAATUVUQS1JTkYvUEsDBAoAAAAIALh8alTmUEsubQAAAIMAAAAUAAAATUVUQS1JTkYvTUFOSUZFU1QuTUbzTczLTEstLtENSy0qzszPs1Iw1DPg5XIsSs7ILEstQggH5KRWlBYrwCR4uZyLUhNLUlN0nSqtFBwLEpMzUhV8E8tS8xSM9cz0jHm5nEozc0rAsilAO1JzcjMhYim6XinZQGuA9uiZ83LxcgEAUEsDBAoAAAAAALh8alQAAAAAAAAAAAAAAAAMAAAAYXJ0aWZhY3RvcnkvUEsDBAoAAAAAALh8alQAAAAAAAAAAAAAAAARAAAAYXJ0aWZhY3RvcnkvdGVzdC9QSwMECgAAAAgAuHxqVMgzPcxdAQAALAIAAB0AAABhcnRpZmFjdG9yeS90ZXN0L011bHRpMS5jbGFzc3VRy07CQBQ9w6OlpQqCgPgEV+jCxsTEBcaNiXFRHwkGF66GOuKQPkyZmvBZutDEhR/gRxlvCwkxwVnck3vunXPPnfn++fwCcIRdExpWDdRQL6BhYg1NHes6Nhi0ExlIdcqQ7ez1GXJn4YNgKDkyEFexPxDRLR94xFSc0OVen0cyyWdkTj3JMUPT4ZGSj9xVYTSxlRgr+zL2lDzsUovPZcBQ79w7I/7CbY8HQ7unIhkMu+lAHg1JorqgzGD2wjhyxblMhhWnmgdJnwUdBR2bFrawzWBdCM8LW3dh5D20dexYaKHN0PjHFkN5Pux6MBKu+kP1JmMlfHqSMKZCbepMhvYN2VJkTnCfzFUX0Az6c5J5tHKts2hjtJGnz0hOBixZg6JBmU3ICPP7H2CvadmkqKWkhiJFa9pAuERoYBml2eXjVIy4N2Qq2Xfk5gImIWhKgRrnIgbKWCGkj007q79QSwECFAMKAAAAAAC5fGpUAAAAAAAAAAAAAAAACQAAAAAAAAAAABAA7UEAAAAATUVUQS1JTkYvUEsBAhQDCgAAAAgAuHxqVOZQSy5tAAAAgwAAABQAAAAAAAAAAAAAAKSBJwAAAE1FVEEtSU5GL01BTklGRVNULk1GUEsBAhQDCgAAAAAAuHxqVAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAQAO1BxgAAAGFydGlmYWN0b3J5L1BLAQIUAwoAAAAAALh8alQAAAAAAAAAAAAAAAARAAAAAAAAAAAAEADtQfAAAABhcnRpZmFjdG9yeS90ZXN0L1BLAQIUAwoAAAAIALh8alTIMz3MXQEAACwCAAAdAAAAAAAAAAAAAACkgR8BAABhcnRpZmFjdG9yeS90ZXN0L011bHRpMS5jbGFzc1BLBQYAAAAABQAFAD0BAAC3AgAAAAA=\",\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nmy_artifact = artifactory.Artifact(\"my-artifact\",\n    repository=\"my-generic-local\",\n    path=\"/my-path/my-file.zip\",\n    file_path=\"/path/to/my-file.zip\")\nmy_base64_artifact = artifactory.Artifact(\"my-base64-artifact\",\n    repository=\"my-generic-local\",\n    path=\"/my-path/my-file.zip\",\n    content_base64=\"UEsDBAoAAAAAALl8alQAAAAAAAAAAAAAAAAJAAAATUVUQS1JTkYvUEsDBAoAAAAIALh8alTmUEsubQAAAIMAAAAUAAAATUVUQS1JTkYvTUFOSUZFU1QuTUbzTczLTEstLtENSy0qzszPs1Iw1DPg5XIsSs7ILEstQggH5KRWlBYrwCR4uZyLUhNLUlN0nSqtFBwLEpMzUhV8E8tS8xSM9cz0jHm5nEozc0rAsilAO1JzcjMhYim6XinZQGuA9uiZ83LxcgEAUEsDBAoAAAAAALh8alQAAAAAAAAAAAAAAAAMAAAAYXJ0aWZhY3RvcnkvUEsDBAoAAAAAALh8alQAAAAAAAAAAAAAAAARAAAAYXJ0aWZhY3RvcnkvdGVzdC9QSwMECgAAAAgAuHxqVMgzPcxdAQAALAIAAB0AAABhcnRpZmFjdG9yeS90ZXN0L011bHRpMS5jbGFzc3VRy07CQBQ9w6OlpQqCgPgEV+jCxsTEBcaNiXFRHwkGF66GOuKQPkyZmvBZutDEhR/gRxlvCwkxwVnck3vunXPPnfn++fwCcIRdExpWDdRQL6BhYg1NHes6Nhi0ExlIdcqQ7ez1GXJn4YNgKDkyEFexPxDRLR94xFSc0OVen0cyyWdkTj3JMUPT4ZGSj9xVYTSxlRgr+zL2lDzsUovPZcBQ79w7I/7CbY8HQ7unIhkMu+lAHg1JorqgzGD2wjhyxblMhhWnmgdJnwUdBR2bFrawzWBdCM8LW3dh5D20dexYaKHN0PjHFkN5Pux6MBKu+kP1JmMlfHqSMKZCbepMhvYN2VJkTnCfzFUX0Az6c5J5tHKts2hjtJGnz0hOBixZg6JBmU3ICPP7H2CvadmkqKWkhiJFa9pAuERoYBml2eXjVIy4N2Qq2Xfk5gImIWhKgRrnIgbKWCGkj007q79QSwECFAMKAAAAAAC5fGpUAAAAAAAAAAAAAAAACQAAAAAAAAAAABAA7UEAAAAATUVUQS1JTkYvUEsBAhQDCgAAAAgAuHxqVOZQSy5tAAAAgwAAABQAAAAAAAAAAAAAAKSBJwAAAE1FVEEtSU5GL01BTklGRVNULk1GUEsBAhQDCgAAAAAAuHxqVAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAQAO1BxgAAAGFydGlmYWN0b3J5L1BLAQIUAwoAAAAAALh8alQAAAAAAAAAAAAAAAARAAAAAAAAAAAAEADtQfAAAABhcnRpZmFjdG9yeS90ZXN0L1BLAQIUAwoAAAAIALh8alTIMz3MXQEAACwCAAAdAAAAAAAAAAAAAACkgR8BAABhcnRpZmFjdG9yeS90ZXN0L011bHRpMS5jbGFzc1BLBQYAAAAABQAFAD0BAAC3AgAAAAA=\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var my_artifact = new Artifactory.Artifact(\"my-artifact\", new()\n    {\n        Repository = \"my-generic-local\",\n        Path = \"/my-path/my-file.zip\",\n        FilePath = \"/path/to/my-file.zip\",\n    });\n\n    var my_base64_artifact = new Artifactory.Artifact(\"my-base64-artifact\", new()\n    {\n        Repository = \"my-generic-local\",\n        Path = \"/my-path/my-file.zip\",\n        ContentBase64 = \"UEsDBAoAAAAAALl8alQAAAAAAAAAAAAAAAAJAAAATUVUQS1JTkYvUEsDBAoAAAAIALh8alTmUEsubQAAAIMAAAAUAAAATUVUQS1JTkYvTUFOSUZFU1QuTUbzTczLTEstLtENSy0qzszPs1Iw1DPg5XIsSs7ILEstQggH5KRWlBYrwCR4uZyLUhNLUlN0nSqtFBwLEpMzUhV8E8tS8xSM9cz0jHm5nEozc0rAsilAO1JzcjMhYim6XinZQGuA9uiZ83LxcgEAUEsDBAoAAAAAALh8alQAAAAAAAAAAAAAAAAMAAAAYXJ0aWZhY3RvcnkvUEsDBAoAAAAAALh8alQAAAAAAAAAAAAAAAARAAAAYXJ0aWZhY3RvcnkvdGVzdC9QSwMECgAAAAgAuHxqVMgzPcxdAQAALAIAAB0AAABhcnRpZmFjdG9yeS90ZXN0L011bHRpMS5jbGFzc3VRy07CQBQ9w6OlpQqCgPgEV+jCxsTEBcaNiXFRHwkGF66GOuKQPkyZmvBZutDEhR/gRxlvCwkxwVnck3vunXPPnfn++fwCcIRdExpWDdRQL6BhYg1NHes6Nhi0ExlIdcqQ7ez1GXJn4YNgKDkyEFexPxDRLR94xFSc0OVen0cyyWdkTj3JMUPT4ZGSj9xVYTSxlRgr+zL2lDzsUovPZcBQ79w7I/7CbY8HQ7unIhkMu+lAHg1JorqgzGD2wjhyxblMhhWnmgdJnwUdBR2bFrawzWBdCM8LW3dh5D20dexYaKHN0PjHFkN5Pux6MBKu+kP1JmMlfHqSMKZCbepMhvYN2VJkTnCfzFUX0Az6c5J5tHKts2hjtJGnz0hOBixZg6JBmU3ICPP7H2CvadmkqKWkhiJFa9pAuERoYBml2eXjVIy4N2Qq2Xfk5gImIWhKgRrnIgbKWCGkj007q79QSwECFAMKAAAAAAC5fGpUAAAAAAAAAAAAAAAACQAAAAAAAAAAABAA7UEAAAAATUVUQS1JTkYvUEsBAhQDCgAAAAgAuHxqVOZQSy5tAAAAgwAAABQAAAAAAAAAAAAAAKSBJwAAAE1FVEEtSU5GL01BTklGRVNULk1GUEsBAhQDCgAAAAAAuHxqVAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAQAO1BxgAAAGFydGlmYWN0b3J5L1BLAQIUAwoAAAAAALh8alQAAAAAAAAAAAAAAAARAAAAAAAAAAAAEADtQfAAAABhcnRpZmFjdG9yeS90ZXN0L1BLAQIUAwoAAAAIALh8alTIMz3MXQEAACwCAAAdAAAAAAAAAAAAAACkgR8BAABhcnRpZmFjdG9yeS90ZXN0L011bHRpMS5jbGFzc1BLBQYAAAAABQAFAD0BAAC3AgAAAAA=\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewArtifact(ctx, \"my-artifact\", \u0026artifactory.ArtifactArgs{\n\t\t\tRepository: pulumi.String(\"my-generic-local\"),\n\t\t\tPath:       pulumi.String(\"/my-path/my-file.zip\"),\n\t\t\tFilePath:   pulumi.String(\"/path/to/my-file.zip\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = artifactory.NewArtifact(ctx, \"my-base64-artifact\", \u0026artifactory.ArtifactArgs{\n\t\t\tRepository:    pulumi.String(\"my-generic-local\"),\n\t\t\tPath:          pulumi.String(\"/my-path/my-file.zip\"),\n\t\t\tContentBase64: pulumi.String(\"UEsDBAoAAAAAALl8alQAAAAAAAAAAAAAAAAJAAAATUVUQS1JTkYvUEsDBAoAAAAIALh8alTmUEsubQAAAIMAAAAUAAAATUVUQS1JTkYvTUFOSUZFU1QuTUbzTczLTEstLtENSy0qzszPs1Iw1DPg5XIsSs7ILEstQggH5KRWlBYrwCR4uZyLUhNLUlN0nSqtFBwLEpMzUhV8E8tS8xSM9cz0jHm5nEozc0rAsilAO1JzcjMhYim6XinZQGuA9uiZ83LxcgEAUEsDBAoAAAAAALh8alQAAAAAAAAAAAAAAAAMAAAAYXJ0aWZhY3RvcnkvUEsDBAoAAAAAALh8alQAAAAAAAAAAAAAAAARAAAAYXJ0aWZhY3RvcnkvdGVzdC9QSwMECgAAAAgAuHxqVMgzPcxdAQAALAIAAB0AAABhcnRpZmFjdG9yeS90ZXN0L011bHRpMS5jbGFzc3VRy07CQBQ9w6OlpQqCgPgEV+jCxsTEBcaNiXFRHwkGF66GOuKQPkyZmvBZutDEhR/gRxlvCwkxwVnck3vunXPPnfn++fwCcIRdExpWDdRQL6BhYg1NHes6Nhi0ExlIdcqQ7ez1GXJn4YNgKDkyEFexPxDRLR94xFSc0OVen0cyyWdkTj3JMUPT4ZGSj9xVYTSxlRgr+zL2lDzsUovPZcBQ79w7I/7CbY8HQ7unIhkMu+lAHg1JorqgzGD2wjhyxblMhhWnmgdJnwUdBR2bFrawzWBdCM8LW3dh5D20dexYaKHN0PjHFkN5Pux6MBKu+kP1JmMlfHqSMKZCbepMhvYN2VJkTnCfzFUX0Az6c5J5tHKts2hjtJGnz0hOBixZg6JBmU3ICPP7H2CvadmkqKWkhiJFa9pAuERoYBml2eXjVIy4N2Qq2Xfk5gImIWhKgRrnIgbKWCGkj007q79QSwECFAMKAAAAAAC5fGpUAAAAAAAAAAAAAAAACQAAAAAAAAAAABAA7UEAAAAATUVUQS1JTkYvUEsBAhQDCgAAAAgAuHxqVOZQSy5tAAAAgwAAABQAAAAAAAAAAAAAAKSBJwAAAE1FVEEtSU5GL01BTklGRVNULk1GUEsBAhQDCgAAAAAAuHxqVAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAQAO1BxgAAAGFydGlmYWN0b3J5L1BLAQIUAwoAAAAAALh8alQAAAAAAAAAAAAAAAARAAAAAAAAAAAAEADtQfAAAABhcnRpZmFjdG9yeS90ZXN0L1BLAQIUAwoAAAAIALh8alTIMz3MXQEAACwCAAAdAAAAAAAAAAAAAACkgR8BAABhcnRpZmFjdG9yeS90ZXN0L011bHRpMS5jbGFzc1BLBQYAAAAABQAFAD0BAAC3AgAAAAA=\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_artifact\" \"my-artifact\" {\n  repository = \"my-generic-local\"\n  path       = \"/my-path/my-file.zip\"\n  file_path  = \"/path/to/my-file.zip\"\n}\nresource \"artifactory_artifact\" \"my-base64-artifact\" {\n  repository     = \"my-generic-local\"\n  path           = \"/my-path/my-file.zip\"\n  content_base64 = \"UEsDBAoAAAAAALl8alQAAAAAAAAAAAAAAAAJAAAATUVUQS1JTkYvUEsDBAoAAAAIALh8alTmUEsubQAAAIMAAAAUAAAATUVUQS1JTkYvTUFOSUZFU1QuTUbzTczLTEstLtENSy0qzszPs1Iw1DPg5XIsSs7ILEstQggH5KRWlBYrwCR4uZyLUhNLUlN0nSqtFBwLEpMzUhV8E8tS8xSM9cz0jHm5nEozc0rAsilAO1JzcjMhYim6XinZQGuA9uiZ83LxcgEAUEsDBAoAAAAAALh8alQAAAAAAAAAAAAAAAAMAAAAYXJ0aWZhY3RvcnkvUEsDBAoAAAAAALh8alQAAAAAAAAAAAAAAAARAAAAYXJ0aWZhY3RvcnkvdGVzdC9QSwMECgAAAAgAuHxqVMgzPcxdAQAALAIAAB0AAABhcnRpZmFjdG9yeS90ZXN0L011bHRpMS5jbGFzc3VRy07CQBQ9w6OlpQqCgPgEV+jCxsTEBcaNiXFRHwkGF66GOuKQPkyZmvBZutDEhR/gRxlvCwkxwVnck3vunXPPnfn++fwCcIRdExpWDdRQL6BhYg1NHes6Nhi0ExlIdcqQ7ez1GXJn4YNgKDkyEFexPxDRLR94xFSc0OVen0cyyWdkTj3JMUPT4ZGSj9xVYTSxlRgr+zL2lDzsUovPZcBQ79w7I/7CbY8HQ7unIhkMu+lAHg1JorqgzGD2wjhyxblMhhWnmgdJnwUdBR2bFrawzWBdCM8LW3dh5D20dexYaKHN0PjHFkN5Pux6MBKu+kP1JmMlfHqSMKZCbepMhvYN2VJkTnCfzFUX0Az6c5J5tHKts2hjtJGnz0hOBixZg6JBmU3ICPP7H2CvadmkqKWkhiJFa9pAuERoYBml2eXjVIy4N2Qq2Xfk5gImIWhKgRrnIgbKWCGkj007q79QSwECFAMKAAAAAAC5fGpUAAAAAAAAAAAAAAAACQAAAAAAAAAAABAA7UEAAAAATUVUQS1JTkYvUEsBAhQDCgAAAAgAuHxqVOZQSy5tAAAAgwAAABQAAAAAAAAAAAAAAKSBJwAAAE1FVEEtSU5GL01BTklGRVNULk1GUEsBAhQDCgAAAAAAuHxqVAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAQAO1BxgAAAGFydGlmYWN0b3J5L1BLAQIUAwoAAAAAALh8alQAAAAAAAAAAAAAAAARAAAAAAAAAAAAEADtQfAAAABhcnRpZmFjdG9yeS90ZXN0L1BLAQIUAwoAAAAIALh8alTIMz3MXQEAACwCAAAdAAAAAAAAAAAAAACkgR8BAABhcnRpZmFjdG9yeS90ZXN0L011bHRpMS5jbGFzc1BLBQYAAAAABQAFAD0BAAC3AgAAAAA=\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.Artifact;\nimport com.pulumi.artifactory.ArtifactArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 my_artifact = new Artifact(\"my-artifact\", ArtifactArgs.builder()\n            .repository(\"my-generic-local\")\n            .path(\"/my-path/my-file.zip\")\n            .filePath(\"/path/to/my-file.zip\")\n            .build());\n\n        var my_base64_artifact = new Artifact(\"my-base64-artifact\", ArtifactArgs.builder()\n            .repository(\"my-generic-local\")\n            .path(\"/my-path/my-file.zip\")\n            .contentBase64(\"UEsDBAoAAAAAALl8alQAAAAAAAAAAAAAAAAJAAAATUVUQS1JTkYvUEsDBAoAAAAIALh8alTmUEsubQAAAIMAAAAUAAAATUVUQS1JTkYvTUFOSUZFU1QuTUbzTczLTEstLtENSy0qzszPs1Iw1DPg5XIsSs7ILEstQggH5KRWlBYrwCR4uZyLUhNLUlN0nSqtFBwLEpMzUhV8E8tS8xSM9cz0jHm5nEozc0rAsilAO1JzcjMhYim6XinZQGuA9uiZ83LxcgEAUEsDBAoAAAAAALh8alQAAAAAAAAAAAAAAAAMAAAAYXJ0aWZhY3RvcnkvUEsDBAoAAAAAALh8alQAAAAAAAAAAAAAAAARAAAAYXJ0aWZhY3RvcnkvdGVzdC9QSwMECgAAAAgAuHxqVMgzPcxdAQAALAIAAB0AAABhcnRpZmFjdG9yeS90ZXN0L011bHRpMS5jbGFzc3VRy07CQBQ9w6OlpQqCgPgEV+jCxsTEBcaNiXFRHwkGF66GOuKQPkyZmvBZutDEhR/gRxlvCwkxwVnck3vunXPPnfn++fwCcIRdExpWDdRQL6BhYg1NHes6Nhi0ExlIdcqQ7ez1GXJn4YNgKDkyEFexPxDRLR94xFSc0OVen0cyyWdkTj3JMUPT4ZGSj9xVYTSxlRgr+zL2lDzsUovPZcBQ79w7I/7CbY8HQ7unIhkMu+lAHg1JorqgzGD2wjhyxblMhhWnmgdJnwUdBR2bFrawzWBdCM8LW3dh5D20dexYaKHN0PjHFkN5Pux6MBKu+kP1JmMlfHqSMKZCbepMhvYN2VJkTnCfzFUX0Az6c5J5tHKts2hjtJGnz0hOBixZg6JBmU3ICPP7H2CvadmkqKWkhiJFa9pAuERoYBml2eXjVIy4N2Qq2Xfk5gImIWhKgRrnIgbKWCGkj007q79QSwECFAMKAAAAAAC5fGpUAAAAAAAAAAAAAAAACQAAAAAAAAAAABAA7UEAAAAATUVUQS1JTkYvUEsBAhQDCgAAAAgAuHxqVOZQSy5tAAAAgwAAABQAAAAAAAAAAAAAAKSBJwAAAE1FVEEtSU5GL01BTklGRVNULk1GUEsBAhQDCgAAAAAAuHxqVAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAQAO1BxgAAAGFydGlmYWN0b3J5L1BLAQIUAwoAAAAAALh8alQAAAAAAAAAAAAAAAARAAAAAAAAAAAAEADtQfAAAABhcnRpZmFjdG9yeS90ZXN0L1BLAQIUAwoAAAAIALh8alTIMz3MXQEAACwCAAAdAAAAAAAAAAAAAACkgR8BAABhcnRpZmFjdG9yeS90ZXN0L011bHRpMS5jbGFzc1BLBQYAAAAABQAFAD0BAAC3AgAAAAA=\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  my-artifact:\n    type: artifactory:Artifact\n    properties:\n      repository: my-generic-local\n      path: /my-path/my-file.zip\n      filePath: /path/to/my-file.zip\n  my-base64-artifact:\n    type: artifactory:Artifact\n    properties:\n      repository: my-generic-local\n      path: /my-path/my-file.zip\n      contentBase64: UEsDBAoAAAAAALl8alQAAAAAAAAAAAAAAAAJAAAATUVUQS1JTkYvUEsDBAoAAAAIALh8alTmUEsubQAAAIMAAAAUAAAATUVUQS1JTkYvTUFOSUZFU1QuTUbzTczLTEstLtENSy0qzszPs1Iw1DPg5XIsSs7ILEstQggH5KRWlBYrwCR4uZyLUhNLUlN0nSqtFBwLEpMzUhV8E8tS8xSM9cz0jHm5nEozc0rAsilAO1JzcjMhYim6XinZQGuA9uiZ83LxcgEAUEsDBAoAAAAAALh8alQAAAAAAAAAAAAAAAAMAAAAYXJ0aWZhY3RvcnkvUEsDBAoAAAAAALh8alQAAAAAAAAAAAAAAAARAAAAYXJ0aWZhY3RvcnkvdGVzdC9QSwMECgAAAAgAuHxqVMgzPcxdAQAALAIAAB0AAABhcnRpZmFjdG9yeS90ZXN0L011bHRpMS5jbGFzc3VRy07CQBQ9w6OlpQqCgPgEV+jCxsTEBcaNiXFRHwkGF66GOuKQPkyZmvBZutDEhR/gRxlvCwkxwVnck3vunXPPnfn++fwCcIRdExpWDdRQL6BhYg1NHes6Nhi0ExlIdcqQ7ez1GXJn4YNgKDkyEFexPxDRLR94xFSc0OVen0cyyWdkTj3JMUPT4ZGSj9xVYTSxlRgr+zL2lDzsUovPZcBQ79w7I/7CbY8HQ7unIhkMu+lAHg1JorqgzGD2wjhyxblMhhWnmgdJnwUdBR2bFrawzWBdCM8LW3dh5D20dexYaKHN0PjHFkN5Pux6MBKu+kP1JmMlfHqSMKZCbepMhvYN2VJkTnCfzFUX0Az6c5J5tHKts2hjtJGnz0hOBixZg6JBmU3ICPP7H2CvadmkqKWkhiJFa9pAuERoYBml2eXjVIy4N2Qq2Xfk5gImIWhKgRrnIgbKWCGkj007q79QSwECFAMKAAAAAAC5fGpUAAAAAAAAAAAAAAAACQAAAAAAAAAAABAA7UEAAAAATUVUQS1JTkYvUEsBAhQDCgAAAAgAuHxqVOZQSy5tAAAAgwAAABQAAAAAAAAAAAAAAKSBJwAAAE1FVEEtSU5GL01BTklGRVNULk1GUEsBAhQDCgAAAAAAuHxqVAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAQAO1BxgAAAGFydGlmYWN0b3J5L1BLAQIUAwoAAAAAALh8alQAAAAAAAAAAAAAAAARAAAAAAAAAAAAEADtQfAAAABhcnRpZmFjdG9yeS90ZXN0L1BLAQIUAwoAAAAIALh8alTIMz3MXQEAACwCAAAdAAAAAAAAAAAAAACkgR8BAABhcnRpZmFjdG9yeS90ZXN0L011bHRpMS5jbGFzc1BLBQYAAAAABQAFAD0BAAC3AgAAAAA=\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "properties": {
                "checksumMd5": {
                    "type": "string",
                    "description": "MD5 checksum of the artifact.\n"
                },
                "checksumSha1": {
                    "type": "string",
                    "description": "SHA1 checksum of the artifact.\n"
                },
                "checksumSha256": {
                    "type": "string",
                    "description": "SHA256 checksum of the artifact.\n"
                },
                "contentBase64": {
                    "type": "string",
                    "description": "Base64 content of the source file. Conflicts with \u003cspan pulumi-lang-nodejs=\"`filePath`\" pulumi-lang-dotnet=\"`FilePath`\" pulumi-lang-go=\"`filePath`\" pulumi-lang-python=\"`file_path`\" pulumi-lang-yaml=\"`filePath`\" pulumi-lang-java=\"`filePath`\" pulumi-lang-hcl=\"`file_path`\"\u003e`filePath`\u003c/span\u003e. Either one of these attribute must be set.\n"
                },
                "created": {
                    "type": "string",
                    "description": "Timestamp when artifact is created.\n"
                },
                "createdBy": {
                    "type": "string",
                    "description": "User who deploys the artifact.\n"
                },
                "downloadUri": {
                    "type": "string",
                    "description": "Download URI of the artifact.\n"
                },
                "filePath": {
                    "type": "string",
                    "description": "Path to the source file. Conflicts with \u003cspan pulumi-lang-nodejs=\"`contentBase64`\" pulumi-lang-dotnet=\"`ContentBase64`\" pulumi-lang-go=\"`contentBase64`\" pulumi-lang-python=\"`content_base64`\" pulumi-lang-yaml=\"`contentBase64`\" pulumi-lang-java=\"`contentBase64`\" pulumi-lang-hcl=\"`content_base64`\"\u003e`contentBase64`\u003c/span\u003e. Either one of these attribute must be set.\n"
                },
                "mimeType": {
                    "type": "string",
                    "description": "MIME type of the artifact.\n"
                },
                "path": {
                    "type": "string",
                    "description": "The relative path in the target repository. Must begin with a '/'. You can add key-value matrix parameters to deploy the artifacts with properties. For more details, please refer to [Introducing Matrix Parameters](https://jfrog.com/help/r/jfrog-artifactory-documentation/using-properties-in-deployment-and-resolution).\n"
                },
                "repository": {
                    "type": "string",
                    "description": "Name of the respository.\n"
                },
                "size": {
                    "type": "integer",
                    "description": "Size of the artifact, in bytes.\n"
                },
                "uri": {
                    "type": "string",
                    "description": "URI of the artifact.\n"
                }
            },
            "required": [
                "checksumMd5",
                "checksumSha1",
                "checksumSha256",
                "created",
                "createdBy",
                "downloadUri",
                "mimeType",
                "path",
                "repository",
                "size",
                "uri"
            ],
            "inputProperties": {
                "contentBase64": {
                    "type": "string",
                    "description": "Base64 content of the source file. Conflicts with \u003cspan pulumi-lang-nodejs=\"`filePath`\" pulumi-lang-dotnet=\"`FilePath`\" pulumi-lang-go=\"`filePath`\" pulumi-lang-python=\"`file_path`\" pulumi-lang-yaml=\"`filePath`\" pulumi-lang-java=\"`filePath`\" pulumi-lang-hcl=\"`file_path`\"\u003e`filePath`\u003c/span\u003e. Either one of these attribute must be set.\n"
                },
                "filePath": {
                    "type": "string",
                    "description": "Path to the source file. Conflicts with \u003cspan pulumi-lang-nodejs=\"`contentBase64`\" pulumi-lang-dotnet=\"`ContentBase64`\" pulumi-lang-go=\"`contentBase64`\" pulumi-lang-python=\"`content_base64`\" pulumi-lang-yaml=\"`contentBase64`\" pulumi-lang-java=\"`contentBase64`\" pulumi-lang-hcl=\"`content_base64`\"\u003e`contentBase64`\u003c/span\u003e. Either one of these attribute must be set.\n"
                },
                "path": {
                    "type": "string",
                    "description": "The relative path in the target repository. Must begin with a '/'. You can add key-value matrix parameters to deploy the artifacts with properties. For more details, please refer to [Introducing Matrix Parameters](https://jfrog.com/help/r/jfrog-artifactory-documentation/using-properties-in-deployment-and-resolution).\n"
                },
                "repository": {
                    "type": "string",
                    "description": "Name of the respository.\n"
                }
            },
            "requiredInputs": [
                "path",
                "repository"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering Artifact resources.\n",
                "properties": {
                    "checksumMd5": {
                        "type": "string",
                        "description": "MD5 checksum of the artifact.\n"
                    },
                    "checksumSha1": {
                        "type": "string",
                        "description": "SHA1 checksum of the artifact.\n"
                    },
                    "checksumSha256": {
                        "type": "string",
                        "description": "SHA256 checksum of the artifact.\n"
                    },
                    "contentBase64": {
                        "type": "string",
                        "description": "Base64 content of the source file. Conflicts with \u003cspan pulumi-lang-nodejs=\"`filePath`\" pulumi-lang-dotnet=\"`FilePath`\" pulumi-lang-go=\"`filePath`\" pulumi-lang-python=\"`file_path`\" pulumi-lang-yaml=\"`filePath`\" pulumi-lang-java=\"`filePath`\" pulumi-lang-hcl=\"`file_path`\"\u003e`filePath`\u003c/span\u003e. Either one of these attribute must be set.\n"
                    },
                    "created": {
                        "type": "string",
                        "description": "Timestamp when artifact is created.\n"
                    },
                    "createdBy": {
                        "type": "string",
                        "description": "User who deploys the artifact.\n"
                    },
                    "downloadUri": {
                        "type": "string",
                        "description": "Download URI of the artifact.\n"
                    },
                    "filePath": {
                        "type": "string",
                        "description": "Path to the source file. Conflicts with \u003cspan pulumi-lang-nodejs=\"`contentBase64`\" pulumi-lang-dotnet=\"`ContentBase64`\" pulumi-lang-go=\"`contentBase64`\" pulumi-lang-python=\"`content_base64`\" pulumi-lang-yaml=\"`contentBase64`\" pulumi-lang-java=\"`contentBase64`\" pulumi-lang-hcl=\"`content_base64`\"\u003e`contentBase64`\u003c/span\u003e. Either one of these attribute must be set.\n"
                    },
                    "mimeType": {
                        "type": "string",
                        "description": "MIME type of the artifact.\n"
                    },
                    "path": {
                        "type": "string",
                        "description": "The relative path in the target repository. Must begin with a '/'. You can add key-value matrix parameters to deploy the artifacts with properties. For more details, please refer to [Introducing Matrix Parameters](https://jfrog.com/help/r/jfrog-artifactory-documentation/using-properties-in-deployment-and-resolution).\n"
                    },
                    "repository": {
                        "type": "string",
                        "description": "Name of the respository.\n"
                    },
                    "size": {
                        "type": "integer",
                        "description": "Size of the artifact, in bytes.\n"
                    },
                    "uri": {
                        "type": "string",
                        "description": "URI of the artifact.\n"
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/artifactCustomWebhook:ArtifactCustomWebhook": {
            "description": "Provides an Artifactory custom webhook resource. This can be used to register and manage Artifactory webhook subscription which enables you to be notified or notify other users when such events take place in Artifactory.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst my_generic_local = new artifactory.LocalGenericRepository(\"my-generic-local\", {key: \"my-generic-local\"});\nconst artifact_custom_webhook = new artifactory.ArtifactCustomWebhook(\"artifact-custom-webhook\", {\n    key: \"artifact-custom-webhook\",\n    eventTypes: [\n        \"deployed\",\n        \"deleted\",\n        \"moved\",\n        \"copied\",\n    ],\n    criteria: {\n        anyLocal: true,\n        anyRemote: false,\n        repoKeys: [my_generic_local.key],\n        includePatterns: [\"foo/**\"],\n        excludePatterns: [\"bar/**\"],\n    },\n    handlers: [{\n        url: \"https://tempurl.org\",\n        method: \"POST\",\n        secrets: {\n            secretName1: \"value1\",\n            secretName2: \"value2\",\n        },\n        httpHeaders: {\n            headerName1: \"value1\",\n            headerName2: \"value2\",\n        },\n        payload: \"{ \\\"ref\\\": \\\"main\\\" , \\\"inputs\\\": { \\\"artifact_path\\\": \\\"test-repo/repo-path\\\" } }\",\n    }],\n}, {\n    dependsOn: [my_generic_local],\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nmy_generic_local = artifactory.LocalGenericRepository(\"my-generic-local\", key=\"my-generic-local\")\nartifact_custom_webhook = artifactory.ArtifactCustomWebhook(\"artifact-custom-webhook\",\n    key=\"artifact-custom-webhook\",\n    event_types=[\n        \"deployed\",\n        \"deleted\",\n        \"moved\",\n        \"copied\",\n    ],\n    criteria={\n        \"any_local\": True,\n        \"any_remote\": False,\n        \"repo_keys\": [my_generic_local.key],\n        \"include_patterns\": [\"foo/**\"],\n        \"exclude_patterns\": [\"bar/**\"],\n    },\n    handlers=[{\n        \"url\": \"https://tempurl.org\",\n        \"method\": \"POST\",\n        \"secrets\": {\n            \"secretName1\": \"value1\",\n            \"secretName2\": \"value2\",\n        },\n        \"http_headers\": {\n            \"headerName1\": \"value1\",\n            \"headerName2\": \"value2\",\n        },\n        \"payload\": \"{ \\\"ref\\\": \\\"main\\\" , \\\"inputs\\\": { \\\"artifact_path\\\": \\\"test-repo/repo-path\\\" } }\",\n    }],\n    opts = pulumi.ResourceOptions(depends_on=[my_generic_local]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var my_generic_local = new Artifactory.LocalGenericRepository(\"my-generic-local\", new()\n    {\n        Key = \"my-generic-local\",\n    });\n\n    var artifact_custom_webhook = new Artifactory.ArtifactCustomWebhook(\"artifact-custom-webhook\", new()\n    {\n        Key = \"artifact-custom-webhook\",\n        EventTypes = new[]\n        {\n            \"deployed\",\n            \"deleted\",\n            \"moved\",\n            \"copied\",\n        },\n        Criteria = new Artifactory.Inputs.ArtifactCustomWebhookCriteriaArgs\n        {\n            AnyLocal = true,\n            AnyRemote = false,\n            RepoKeys = new[]\n            {\n                my_generic_local.Key,\n            },\n            IncludePatterns = new[]\n            {\n                \"foo/**\",\n            },\n            ExcludePatterns = new[]\n            {\n                \"bar/**\",\n            },\n        },\n        Handlers = new[]\n        {\n            new Artifactory.Inputs.ArtifactCustomWebhookHandlerArgs\n            {\n                Url = \"https://tempurl.org\",\n                Method = \"POST\",\n                Secrets = \n                {\n                    { \"secretName1\", \"value1\" },\n                    { \"secretName2\", \"value2\" },\n                },\n                HttpHeaders = \n                {\n                    { \"headerName1\", \"value1\" },\n                    { \"headerName2\", \"value2\" },\n                },\n                Payload = \"{ \\\"ref\\\": \\\"main\\\" , \\\"inputs\\\": { \\\"artifact_path\\\": \\\"test-repo/repo-path\\\" } }\",\n            },\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            my_generic_local,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmy_generic_local, err := artifactory.NewLocalGenericRepository(ctx, \"my-generic-local\", \u0026artifactory.LocalGenericRepositoryArgs{\n\t\t\tKey: pulumi.String(\"my-generic-local\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = artifactory.NewArtifactCustomWebhook(ctx, \"artifact-custom-webhook\", \u0026artifactory.ArtifactCustomWebhookArgs{\n\t\t\tKey: pulumi.String(\"artifact-custom-webhook\"),\n\t\t\tEventTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"deployed\"),\n\t\t\t\tpulumi.String(\"deleted\"),\n\t\t\t\tpulumi.String(\"moved\"),\n\t\t\t\tpulumi.String(\"copied\"),\n\t\t\t},\n\t\t\tCriteria: \u0026artifactory.ArtifactCustomWebhookCriteriaArgs{\n\t\t\t\tAnyLocal:  pulumi.Bool(true),\n\t\t\t\tAnyRemote: pulumi.Bool(false),\n\t\t\t\tRepoKeys: pulumi.StringArray{\n\t\t\t\t\tmy_generic_local.Key,\n\t\t\t\t},\n\t\t\t\tIncludePatterns: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"foo/**\"),\n\t\t\t\t},\n\t\t\t\tExcludePatterns: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"bar/**\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tHandlers: artifactory.ArtifactCustomWebhookHandlerArray{\n\t\t\t\t\u0026artifactory.ArtifactCustomWebhookHandlerArgs{\n\t\t\t\t\tUrl:    pulumi.String(\"https://tempurl.org\"),\n\t\t\t\t\tMethod: pulumi.String(\"POST\"),\n\t\t\t\t\tSecrets: pulumi.StringMap{\n\t\t\t\t\t\t\"secretName1\": pulumi.String(\"value1\"),\n\t\t\t\t\t\t\"secretName2\": pulumi.String(\"value2\"),\n\t\t\t\t\t},\n\t\t\t\t\tHttpHeaders: pulumi.StringMap{\n\t\t\t\t\t\t\"headerName1\": pulumi.String(\"value1\"),\n\t\t\t\t\t\t\"headerName2\": pulumi.String(\"value2\"),\n\t\t\t\t\t},\n\t\t\t\t\tPayload: pulumi.String(\"{ \\\"ref\\\": \\\"main\\\" , \\\"inputs\\\": { \\\"artifact_path\\\": \\\"test-repo/repo-path\\\" } }\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tmy_generic_local,\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_localgenericrepository\" \"my-generic-local\" {\n  key = \"my-generic-local\"\n}\nresource \"artifactory_artifactcustomwebhook\" \"artifact-custom-webhook\" {\n  depends_on  = [artifactory_localgenericrepository.my-generic-local]\n  key         = \"artifact-custom-webhook\"\n  event_types = [\"deployed\", \"deleted\", \"moved\", \"copied\"]\n  criteria = {\n    any_local        = true\n    any_remote       = false\n    repo_keys        = [artifactory_localgenericrepository.my-generic-local.key]\n    include_patterns = [\"foo/**\"]\n    exclude_patterns = [\"bar/**\"]\n  }\n  handlers {\n    url    = \"https://tempurl.org\"\n    method = \"POST\"\n    secrets = {\n      \"secretName1\" = \"value1\"\n      \"secretName2\" = \"value2\"\n    }\n    http_headers = {\n      \"headerName1\" = \"value1\"\n      \"headerName2\" = \"value2\"\n    }\n    payload = \"{ \\\"ref\\\": \\\"main\\\" , \\\"inputs\\\": { \\\"artifact_path\\\": \\\"test-repo/repo-path\\\" } }\"\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.LocalGenericRepository;\nimport com.pulumi.artifactory.LocalGenericRepositoryArgs;\nimport com.pulumi.artifactory.ArtifactCustomWebhook;\nimport com.pulumi.artifactory.ArtifactCustomWebhookArgs;\nimport com.pulumi.artifactory.inputs.ArtifactCustomWebhookCriteriaArgs;\nimport com.pulumi.artifactory.inputs.ArtifactCustomWebhookHandlerArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 my_generic_local = new LocalGenericRepository(\"my-generic-local\", LocalGenericRepositoryArgs.builder()\n            .key(\"my-generic-local\")\n            .build());\n\n        var artifact_custom_webhook = new ArtifactCustomWebhook(\"artifact-custom-webhook\", ArtifactCustomWebhookArgs.builder()\n            .key(\"artifact-custom-webhook\")\n            .eventTypes(            \n                \"deployed\",\n                \"deleted\",\n                \"moved\",\n                \"copied\")\n            .criteria(ArtifactCustomWebhookCriteriaArgs.builder()\n                .anyLocal(true)\n                .anyRemote(false)\n                .repoKeys(my_generic_local.key())\n                .includePatterns(\"foo/**\")\n                .excludePatterns(\"bar/**\")\n                .build())\n            .handlers(ArtifactCustomWebhookHandlerArgs.builder()\n                .url(\"https://tempurl.org\")\n                .method(\"POST\")\n                .secrets(Map.ofEntries(\n                    Map.entry(\"secretName1\", \"value1\"),\n                    Map.entry(\"secretName2\", \"value2\")\n                ))\n                .httpHeaders(Map.ofEntries(\n                    Map.entry(\"headerName1\", \"value1\"),\n                    Map.entry(\"headerName2\", \"value2\")\n                ))\n                .payload(\"{ \\\"ref\\\": \\\"main\\\" , \\\"inputs\\\": { \\\"artifact_path\\\": \\\"test-repo/repo-path\\\" } }\")\n                .build())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(my_generic_local)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  my-generic-local:\n    type: artifactory:LocalGenericRepository\n    properties:\n      key: my-generic-local\n  artifact-custom-webhook:\n    type: artifactory:ArtifactCustomWebhook\n    properties:\n      key: artifact-custom-webhook\n      eventTypes:\n        - deployed\n        - deleted\n        - moved\n        - copied\n      criteria:\n        anyLocal: true\n        anyRemote: false\n        repoKeys:\n          - ${[\"my-generic-local\"].key}\n        includePatterns:\n          - foo/**\n        excludePatterns:\n          - bar/**\n      handlers:\n        - url: https://tempurl.org\n          method: POST\n          secrets:\n            secretName1: value1\n            secretName2: value2\n          httpHeaders:\n            headerName1: value1\n            headerName2: value2\n          payload: '{ \"ref\": \"main\" , \"inputs\": { \"artifact_path\": \"test-repo/repo-path\" } }'\n    options:\n      dependsOn:\n        - ${[\"my-generic-local\"]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "properties": {
                "criteria": {
                    "$ref": "#/types/artifactory:index/ArtifactCustomWebhookCriteria:ArtifactCustomWebhookCriteria",
                    "description": "Specifies where the webhook will be applied on which repositories.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Webhook description. Max length 1000 characters.\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Status of webhook. Default to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                },
                "eventTypes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of Events in Artifactory, Distribution, Release Bundle that function as the event trigger for the Webhook. Allow values: \u003cspan pulumi-lang-nodejs=\"`deployed`\" pulumi-lang-dotnet=\"`Deployed`\" pulumi-lang-go=\"`deployed`\" pulumi-lang-python=\"`deployed`\" pulumi-lang-yaml=\"`deployed`\" pulumi-lang-java=\"`deployed`\" pulumi-lang-hcl=\"`deployed`\"\u003e`deployed`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleted`\" pulumi-lang-dotnet=\"`Deleted`\" pulumi-lang-go=\"`deleted`\" pulumi-lang-python=\"`deleted`\" pulumi-lang-yaml=\"`deleted`\" pulumi-lang-java=\"`deleted`\" pulumi-lang-hcl=\"`deleted`\"\u003e`deleted`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`moved`\" pulumi-lang-dotnet=\"`Moved`\" pulumi-lang-go=\"`moved`\" pulumi-lang-python=\"`moved`\" pulumi-lang-yaml=\"`moved`\" pulumi-lang-java=\"`moved`\" pulumi-lang-hcl=\"`moved`\"\u003e`moved`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`copied`\" pulumi-lang-dotnet=\"`Copied`\" pulumi-lang-go=\"`copied`\" pulumi-lang-python=\"`copied`\" pulumi-lang-yaml=\"`copied`\" pulumi-lang-java=\"`copied`\" pulumi-lang-hcl=\"`copied`\"\u003e`copied`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`cached`\" pulumi-lang-dotnet=\"`Cached`\" pulumi-lang-go=\"`cached`\" pulumi-lang-python=\"`cached`\" pulumi-lang-yaml=\"`cached`\" pulumi-lang-java=\"`cached`\" pulumi-lang-hcl=\"`cached`\"\u003e`cached`\u003c/span\u003e.\n"
                },
                "handlers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/ArtifactCustomWebhookHandler:ArtifactCustomWebhookHandler"
                    },
                    "description": "At least one is required.\n"
                },
                "key": {
                    "type": "string",
                    "description": "The identity key of the webhook. Must be between 2 and 200 characters. Cannot contain spaces.\n"
                }
            },
            "required": [
                "criteria",
                "enabled",
                "eventTypes",
                "handlers",
                "key"
            ],
            "inputProperties": {
                "criteria": {
                    "$ref": "#/types/artifactory:index/ArtifactCustomWebhookCriteria:ArtifactCustomWebhookCriteria",
                    "description": "Specifies where the webhook will be applied on which repositories.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Webhook description. Max length 1000 characters.\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Status of webhook. Default to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                },
                "eventTypes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of Events in Artifactory, Distribution, Release Bundle that function as the event trigger for the Webhook. Allow values: \u003cspan pulumi-lang-nodejs=\"`deployed`\" pulumi-lang-dotnet=\"`Deployed`\" pulumi-lang-go=\"`deployed`\" pulumi-lang-python=\"`deployed`\" pulumi-lang-yaml=\"`deployed`\" pulumi-lang-java=\"`deployed`\" pulumi-lang-hcl=\"`deployed`\"\u003e`deployed`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleted`\" pulumi-lang-dotnet=\"`Deleted`\" pulumi-lang-go=\"`deleted`\" pulumi-lang-python=\"`deleted`\" pulumi-lang-yaml=\"`deleted`\" pulumi-lang-java=\"`deleted`\" pulumi-lang-hcl=\"`deleted`\"\u003e`deleted`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`moved`\" pulumi-lang-dotnet=\"`Moved`\" pulumi-lang-go=\"`moved`\" pulumi-lang-python=\"`moved`\" pulumi-lang-yaml=\"`moved`\" pulumi-lang-java=\"`moved`\" pulumi-lang-hcl=\"`moved`\"\u003e`moved`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`copied`\" pulumi-lang-dotnet=\"`Copied`\" pulumi-lang-go=\"`copied`\" pulumi-lang-python=\"`copied`\" pulumi-lang-yaml=\"`copied`\" pulumi-lang-java=\"`copied`\" pulumi-lang-hcl=\"`copied`\"\u003e`copied`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`cached`\" pulumi-lang-dotnet=\"`Cached`\" pulumi-lang-go=\"`cached`\" pulumi-lang-python=\"`cached`\" pulumi-lang-yaml=\"`cached`\" pulumi-lang-java=\"`cached`\" pulumi-lang-hcl=\"`cached`\"\u003e`cached`\u003c/span\u003e.\n"
                },
                "handlers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/ArtifactCustomWebhookHandler:ArtifactCustomWebhookHandler"
                    },
                    "description": "At least one is required.\n"
                },
                "key": {
                    "type": "string",
                    "description": "The identity key of the webhook. Must be between 2 and 200 characters. Cannot contain spaces.\n"
                }
            },
            "requiredInputs": [
                "criteria",
                "eventTypes",
                "handlers",
                "key"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering ArtifactCustomWebhook resources.\n",
                "properties": {
                    "criteria": {
                        "$ref": "#/types/artifactory:index/ArtifactCustomWebhookCriteria:ArtifactCustomWebhookCriteria",
                        "description": "Specifies where the webhook will be applied on which repositories.\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Webhook description. Max length 1000 characters.\n"
                    },
                    "enabled": {
                        "type": "boolean",
                        "description": "Status of webhook. Default to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                    },
                    "eventTypes": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of Events in Artifactory, Distribution, Release Bundle that function as the event trigger for the Webhook. Allow values: \u003cspan pulumi-lang-nodejs=\"`deployed`\" pulumi-lang-dotnet=\"`Deployed`\" pulumi-lang-go=\"`deployed`\" pulumi-lang-python=\"`deployed`\" pulumi-lang-yaml=\"`deployed`\" pulumi-lang-java=\"`deployed`\" pulumi-lang-hcl=\"`deployed`\"\u003e`deployed`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleted`\" pulumi-lang-dotnet=\"`Deleted`\" pulumi-lang-go=\"`deleted`\" pulumi-lang-python=\"`deleted`\" pulumi-lang-yaml=\"`deleted`\" pulumi-lang-java=\"`deleted`\" pulumi-lang-hcl=\"`deleted`\"\u003e`deleted`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`moved`\" pulumi-lang-dotnet=\"`Moved`\" pulumi-lang-go=\"`moved`\" pulumi-lang-python=\"`moved`\" pulumi-lang-yaml=\"`moved`\" pulumi-lang-java=\"`moved`\" pulumi-lang-hcl=\"`moved`\"\u003e`moved`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`copied`\" pulumi-lang-dotnet=\"`Copied`\" pulumi-lang-go=\"`copied`\" pulumi-lang-python=\"`copied`\" pulumi-lang-yaml=\"`copied`\" pulumi-lang-java=\"`copied`\" pulumi-lang-hcl=\"`copied`\"\u003e`copied`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`cached`\" pulumi-lang-dotnet=\"`Cached`\" pulumi-lang-go=\"`cached`\" pulumi-lang-python=\"`cached`\" pulumi-lang-yaml=\"`cached`\" pulumi-lang-java=\"`cached`\" pulumi-lang-hcl=\"`cached`\"\u003e`cached`\u003c/span\u003e.\n"
                    },
                    "handlers": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/artifactory:index/ArtifactCustomWebhookHandler:ArtifactCustomWebhookHandler"
                        },
                        "description": "At least one is required.\n"
                    },
                    "key": {
                        "type": "string",
                        "description": "The identity key of the webhook. Must be between 2 and 200 characters. Cannot contain spaces.\n"
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/artifactLifecycleCustomWebhook:ArtifactLifecycleCustomWebhook": {
            "description": "Provides an Artifactory custom webhook resource. This can be used to register and manage Artifactory webhook subscription which enables you to be notified or notify other users when such events take place in Artifactory.\n\n## Example Usage\n\n.\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst artifact_lifecycle_custom_webhook = new artifactory.ArtifactLifecycleCustomWebhook(\"artifact-lifecycle-custom-webhook\", {\n    key: \"artifact-lifecycle-custom-webhook\",\n    eventTypes: [\n        \"archive\",\n        \"restore\",\n    ],\n    handlers: [{\n        url: \"https://tempurl.org\",\n        method: \"POST\",\n        secrets: {\n            secretName1: \"value1\",\n            secretName2: \"value2\",\n        },\n        httpHeaders: {\n            headerName1: \"value1\",\n            headerName2: \"value2\",\n        },\n        payload: \"{ \\\"ref\\\": \\\"main\\\" , \\\"inputs\\\": { \\\"artifact_path\\\": \\\"test-repo/repo-path\\\" } }\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nartifact_lifecycle_custom_webhook = artifactory.ArtifactLifecycleCustomWebhook(\"artifact-lifecycle-custom-webhook\",\n    key=\"artifact-lifecycle-custom-webhook\",\n    event_types=[\n        \"archive\",\n        \"restore\",\n    ],\n    handlers=[{\n        \"url\": \"https://tempurl.org\",\n        \"method\": \"POST\",\n        \"secrets\": {\n            \"secretName1\": \"value1\",\n            \"secretName2\": \"value2\",\n        },\n        \"http_headers\": {\n            \"headerName1\": \"value1\",\n            \"headerName2\": \"value2\",\n        },\n        \"payload\": \"{ \\\"ref\\\": \\\"main\\\" , \\\"inputs\\\": { \\\"artifact_path\\\": \\\"test-repo/repo-path\\\" } }\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var artifact_lifecycle_custom_webhook = new Artifactory.ArtifactLifecycleCustomWebhook(\"artifact-lifecycle-custom-webhook\", new()\n    {\n        Key = \"artifact-lifecycle-custom-webhook\",\n        EventTypes = new[]\n        {\n            \"archive\",\n            \"restore\",\n        },\n        Handlers = new[]\n        {\n            new Artifactory.Inputs.ArtifactLifecycleCustomWebhookHandlerArgs\n            {\n                Url = \"https://tempurl.org\",\n                Method = \"POST\",\n                Secrets = \n                {\n                    { \"secretName1\", \"value1\" },\n                    { \"secretName2\", \"value2\" },\n                },\n                HttpHeaders = \n                {\n                    { \"headerName1\", \"value1\" },\n                    { \"headerName2\", \"value2\" },\n                },\n                Payload = \"{ \\\"ref\\\": \\\"main\\\" , \\\"inputs\\\": { \\\"artifact_path\\\": \\\"test-repo/repo-path\\\" } }\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewArtifactLifecycleCustomWebhook(ctx, \"artifact-lifecycle-custom-webhook\", \u0026artifactory.ArtifactLifecycleCustomWebhookArgs{\n\t\t\tKey: pulumi.String(\"artifact-lifecycle-custom-webhook\"),\n\t\t\tEventTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"archive\"),\n\t\t\t\tpulumi.String(\"restore\"),\n\t\t\t},\n\t\t\tHandlers: artifactory.ArtifactLifecycleCustomWebhookHandlerArray{\n\t\t\t\t\u0026artifactory.ArtifactLifecycleCustomWebhookHandlerArgs{\n\t\t\t\t\tUrl:    pulumi.String(\"https://tempurl.org\"),\n\t\t\t\t\tMethod: pulumi.String(\"POST\"),\n\t\t\t\t\tSecrets: pulumi.StringMap{\n\t\t\t\t\t\t\"secretName1\": pulumi.String(\"value1\"),\n\t\t\t\t\t\t\"secretName2\": pulumi.String(\"value2\"),\n\t\t\t\t\t},\n\t\t\t\t\tHttpHeaders: pulumi.StringMap{\n\t\t\t\t\t\t\"headerName1\": pulumi.String(\"value1\"),\n\t\t\t\t\t\t\"headerName2\": pulumi.String(\"value2\"),\n\t\t\t\t\t},\n\t\t\t\t\tPayload: pulumi.String(\"{ \\\"ref\\\": \\\"main\\\" , \\\"inputs\\\": { \\\"artifact_path\\\": \\\"test-repo/repo-path\\\" } }\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_artifactlifecyclecustomwebhook\" \"artifact-lifecycle-custom-webhook\" {\n  key         = \"artifact-lifecycle-custom-webhook\"\n  event_types = [\"archive\", \"restore\"]\n  handlers {\n    url    = \"https://tempurl.org\"\n    method = \"POST\"\n    secrets = {\n      \"secretName1\" = \"value1\"\n      \"secretName2\" = \"value2\"\n    }\n    http_headers = {\n      \"headerName1\" = \"value1\"\n      \"headerName2\" = \"value2\"\n    }\n    payload = \"{ \\\"ref\\\": \\\"main\\\" , \\\"inputs\\\": { \\\"artifact_path\\\": \\\"test-repo/repo-path\\\" } }\"\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.ArtifactLifecycleCustomWebhook;\nimport com.pulumi.artifactory.ArtifactLifecycleCustomWebhookArgs;\nimport com.pulumi.artifactory.inputs.ArtifactLifecycleCustomWebhookHandlerArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 artifact_lifecycle_custom_webhook = new ArtifactLifecycleCustomWebhook(\"artifact-lifecycle-custom-webhook\", ArtifactLifecycleCustomWebhookArgs.builder()\n            .key(\"artifact-lifecycle-custom-webhook\")\n            .eventTypes(            \n                \"archive\",\n                \"restore\")\n            .handlers(ArtifactLifecycleCustomWebhookHandlerArgs.builder()\n                .url(\"https://tempurl.org\")\n                .method(\"POST\")\n                .secrets(Map.ofEntries(\n                    Map.entry(\"secretName1\", \"value1\"),\n                    Map.entry(\"secretName2\", \"value2\")\n                ))\n                .httpHeaders(Map.ofEntries(\n                    Map.entry(\"headerName1\", \"value1\"),\n                    Map.entry(\"headerName2\", \"value2\")\n                ))\n                .payload(\"{ \\\"ref\\\": \\\"main\\\" , \\\"inputs\\\": { \\\"artifact_path\\\": \\\"test-repo/repo-path\\\" } }\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  artifact-lifecycle-custom-webhook:\n    type: artifactory:ArtifactLifecycleCustomWebhook\n    properties:\n      key: artifact-lifecycle-custom-webhook\n      eventTypes:\n        - archive\n        - restore\n      handlers:\n        - url: https://tempurl.org\n          method: POST\n          secrets:\n            secretName1: value1\n            secretName2: value2\n          httpHeaders:\n            headerName1: value1\n            headerName2: value2\n          payload: '{ \"ref\": \"main\" , \"inputs\": { \"artifact_path\": \"test-repo/repo-path\" } }'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "properties": {
                "description": {
                    "type": "string",
                    "description": "Webhook description. Max length 1000 characters.\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Status of webhook. Default to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e\n"
                },
                "eventTypes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of event triggers for the Webhook. Allow values: \u003cspan pulumi-lang-nodejs=\"`archive`\" pulumi-lang-dotnet=\"`Archive`\" pulumi-lang-go=\"`archive`\" pulumi-lang-python=\"`archive`\" pulumi-lang-yaml=\"`archive`\" pulumi-lang-java=\"`archive`\" pulumi-lang-hcl=\"`archive`\"\u003e`archive`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`restore`\" pulumi-lang-dotnet=\"`Restore`\" pulumi-lang-go=\"`restore`\" pulumi-lang-python=\"`restore`\" pulumi-lang-yaml=\"`restore`\" pulumi-lang-java=\"`restore`\" pulumi-lang-hcl=\"`restore`\"\u003e`restore`\u003c/span\u003e\n"
                },
                "handlers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/ArtifactLifecycleCustomWebhookHandler:ArtifactLifecycleCustomWebhookHandler"
                    },
                    "description": "At least one is required.\n"
                },
                "key": {
                    "type": "string",
                    "description": "The identity key of the webhook. Must be between 2 and 200 characters. Cannot contain spaces.\n"
                }
            },
            "required": [
                "enabled",
                "eventTypes",
                "handlers",
                "key"
            ],
            "inputProperties": {
                "description": {
                    "type": "string",
                    "description": "Webhook description. Max length 1000 characters.\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Status of webhook. Default to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e\n"
                },
                "eventTypes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of event triggers for the Webhook. Allow values: \u003cspan pulumi-lang-nodejs=\"`archive`\" pulumi-lang-dotnet=\"`Archive`\" pulumi-lang-go=\"`archive`\" pulumi-lang-python=\"`archive`\" pulumi-lang-yaml=\"`archive`\" pulumi-lang-java=\"`archive`\" pulumi-lang-hcl=\"`archive`\"\u003e`archive`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`restore`\" pulumi-lang-dotnet=\"`Restore`\" pulumi-lang-go=\"`restore`\" pulumi-lang-python=\"`restore`\" pulumi-lang-yaml=\"`restore`\" pulumi-lang-java=\"`restore`\" pulumi-lang-hcl=\"`restore`\"\u003e`restore`\u003c/span\u003e\n"
                },
                "handlers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/ArtifactLifecycleCustomWebhookHandler:ArtifactLifecycleCustomWebhookHandler"
                    },
                    "description": "At least one is required.\n"
                },
                "key": {
                    "type": "string",
                    "description": "The identity key of the webhook. Must be between 2 and 200 characters. Cannot contain spaces.\n"
                }
            },
            "requiredInputs": [
                "eventTypes",
                "handlers",
                "key"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering ArtifactLifecycleCustomWebhook resources.\n",
                "properties": {
                    "description": {
                        "type": "string",
                        "description": "Webhook description. Max length 1000 characters.\n"
                    },
                    "enabled": {
                        "type": "boolean",
                        "description": "Status of webhook. Default to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e\n"
                    },
                    "eventTypes": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of event triggers for the Webhook. Allow values: \u003cspan pulumi-lang-nodejs=\"`archive`\" pulumi-lang-dotnet=\"`Archive`\" pulumi-lang-go=\"`archive`\" pulumi-lang-python=\"`archive`\" pulumi-lang-yaml=\"`archive`\" pulumi-lang-java=\"`archive`\" pulumi-lang-hcl=\"`archive`\"\u003e`archive`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`restore`\" pulumi-lang-dotnet=\"`Restore`\" pulumi-lang-go=\"`restore`\" pulumi-lang-python=\"`restore`\" pulumi-lang-yaml=\"`restore`\" pulumi-lang-java=\"`restore`\" pulumi-lang-hcl=\"`restore`\"\u003e`restore`\u003c/span\u003e\n"
                    },
                    "handlers": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/artifactory:index/ArtifactLifecycleCustomWebhookHandler:ArtifactLifecycleCustomWebhookHandler"
                        },
                        "description": "At least one is required.\n"
                    },
                    "key": {
                        "type": "string",
                        "description": "The identity key of the webhook. Must be between 2 and 200 characters. Cannot contain spaces.\n"
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/artifactLifecycleWebhook:ArtifactLifecycleWebhook": {
            "description": "Provides an Artifactory webhook resource. This can be used to register and manage Artifactory webhook subscription which enables you to be notified or notify other users when such events take place in Artifactory.\n\n## Example Usage\n\n.\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst artifact_lifecycle_webhook = new artifactory.ArtifactLifecycleWebhook(\"artifact-lifecycle-webhook\", {\n    key: \"artifact-lifecycle-webhook\",\n    eventTypes: [\n        \"archive\",\n        \"restore\",\n    ],\n    handlers: [{\n        url: \"http://tempurl.org/webhook\",\n        secret: \"some-secret\",\n        proxy: \"proxy-key\",\n        customHttpHeaders: {\n            \"header-1\": \"value-1\",\n            \"header-2\": \"value-2\",\n        },\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nartifact_lifecycle_webhook = artifactory.ArtifactLifecycleWebhook(\"artifact-lifecycle-webhook\",\n    key=\"artifact-lifecycle-webhook\",\n    event_types=[\n        \"archive\",\n        \"restore\",\n    ],\n    handlers=[{\n        \"url\": \"http://tempurl.org/webhook\",\n        \"secret\": \"some-secret\",\n        \"proxy\": \"proxy-key\",\n        \"custom_http_headers\": {\n            \"header-1\": \"value-1\",\n            \"header-2\": \"value-2\",\n        },\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var artifact_lifecycle_webhook = new Artifactory.ArtifactLifecycleWebhook(\"artifact-lifecycle-webhook\", new()\n    {\n        Key = \"artifact-lifecycle-webhook\",\n        EventTypes = new[]\n        {\n            \"archive\",\n            \"restore\",\n        },\n        Handlers = new[]\n        {\n            new Artifactory.Inputs.ArtifactLifecycleWebhookHandlerArgs\n            {\n                Url = \"http://tempurl.org/webhook\",\n                Secret = \"some-secret\",\n                Proxy = \"proxy-key\",\n                CustomHttpHeaders = \n                {\n                    { \"header-1\", \"value-1\" },\n                    { \"header-2\", \"value-2\" },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewArtifactLifecycleWebhook(ctx, \"artifact-lifecycle-webhook\", \u0026artifactory.ArtifactLifecycleWebhookArgs{\n\t\t\tKey: pulumi.String(\"artifact-lifecycle-webhook\"),\n\t\t\tEventTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"archive\"),\n\t\t\t\tpulumi.String(\"restore\"),\n\t\t\t},\n\t\t\tHandlers: artifactory.ArtifactLifecycleWebhookHandlerArray{\n\t\t\t\t\u0026artifactory.ArtifactLifecycleWebhookHandlerArgs{\n\t\t\t\t\tUrl:    pulumi.String(\"http://tempurl.org/webhook\"),\n\t\t\t\t\tSecret: pulumi.String(\"some-secret\"),\n\t\t\t\t\tProxy:  pulumi.String(\"proxy-key\"),\n\t\t\t\t\tCustomHttpHeaders: pulumi.StringMap{\n\t\t\t\t\t\t\"header-1\": pulumi.String(\"value-1\"),\n\t\t\t\t\t\t\"header-2\": pulumi.String(\"value-2\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_artifactlifecyclewebhook\" \"artifact-lifecycle-webhook\" {\n  key         = \"artifact-lifecycle-webhook\"\n  event_types = [\"archive\", \"restore\"]\n  handlers {\n    url    = \"http://tempurl.org/webhook\"\n    secret = \"some-secret\"\n    proxy  = \"proxy-key\"\n    custom_http_headers = {\n      \"header-1\" = \"value-1\"\n      \"header-2\" = \"value-2\"\n    }\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.ArtifactLifecycleWebhook;\nimport com.pulumi.artifactory.ArtifactLifecycleWebhookArgs;\nimport com.pulumi.artifactory.inputs.ArtifactLifecycleWebhookHandlerArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 artifact_lifecycle_webhook = new ArtifactLifecycleWebhook(\"artifact-lifecycle-webhook\", ArtifactLifecycleWebhookArgs.builder()\n            .key(\"artifact-lifecycle-webhook\")\n            .eventTypes(            \n                \"archive\",\n                \"restore\")\n            .handlers(ArtifactLifecycleWebhookHandlerArgs.builder()\n                .url(\"http://tempurl.org/webhook\")\n                .secret(\"some-secret\")\n                .proxy(\"proxy-key\")\n                .customHttpHeaders(Map.ofEntries(\n                    Map.entry(\"header-1\", \"value-1\"),\n                    Map.entry(\"header-2\", \"value-2\")\n                ))\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  artifact-lifecycle-webhook:\n    type: artifactory:ArtifactLifecycleWebhook\n    properties:\n      key: artifact-lifecycle-webhook\n      eventTypes:\n        - archive\n        - restore\n      handlers:\n        - url: http://tempurl.org/webhook\n          secret: some-secret\n          proxy: proxy-key\n          customHttpHeaders:\n            header-1: value-1\n            header-2: value-2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "properties": {
                "description": {
                    "type": "string",
                    "description": "Webhook description. Max length 1000 characters.\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Status of webhook. Default to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e\n"
                },
                "eventTypes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of event triggers for the Webhook. Allow values: \u003cspan pulumi-lang-nodejs=\"`archive`\" pulumi-lang-dotnet=\"`Archive`\" pulumi-lang-go=\"`archive`\" pulumi-lang-python=\"`archive`\" pulumi-lang-yaml=\"`archive`\" pulumi-lang-java=\"`archive`\" pulumi-lang-hcl=\"`archive`\"\u003e`archive`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`restore`\" pulumi-lang-dotnet=\"`Restore`\" pulumi-lang-go=\"`restore`\" pulumi-lang-python=\"`restore`\" pulumi-lang-yaml=\"`restore`\" pulumi-lang-java=\"`restore`\" pulumi-lang-hcl=\"`restore`\"\u003e`restore`\u003c/span\u003e\n"
                },
                "handlers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/ArtifactLifecycleWebhookHandler:ArtifactLifecycleWebhookHandler"
                    },
                    "description": "At least one is required.\n"
                },
                "key": {
                    "type": "string",
                    "description": "The identity key of the webhook. Must be between 2 and 200 characters. Cannot contain spaces.\n"
                }
            },
            "required": [
                "enabled",
                "eventTypes",
                "handlers",
                "key"
            ],
            "inputProperties": {
                "description": {
                    "type": "string",
                    "description": "Webhook description. Max length 1000 characters.\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Status of webhook. Default to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e\n"
                },
                "eventTypes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of event triggers for the Webhook. Allow values: \u003cspan pulumi-lang-nodejs=\"`archive`\" pulumi-lang-dotnet=\"`Archive`\" pulumi-lang-go=\"`archive`\" pulumi-lang-python=\"`archive`\" pulumi-lang-yaml=\"`archive`\" pulumi-lang-java=\"`archive`\" pulumi-lang-hcl=\"`archive`\"\u003e`archive`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`restore`\" pulumi-lang-dotnet=\"`Restore`\" pulumi-lang-go=\"`restore`\" pulumi-lang-python=\"`restore`\" pulumi-lang-yaml=\"`restore`\" pulumi-lang-java=\"`restore`\" pulumi-lang-hcl=\"`restore`\"\u003e`restore`\u003c/span\u003e\n"
                },
                "handlers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/ArtifactLifecycleWebhookHandler:ArtifactLifecycleWebhookHandler"
                    },
                    "description": "At least one is required.\n"
                },
                "key": {
                    "type": "string",
                    "description": "The identity key of the webhook. Must be between 2 and 200 characters. Cannot contain spaces.\n"
                }
            },
            "requiredInputs": [
                "eventTypes",
                "handlers",
                "key"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering ArtifactLifecycleWebhook resources.\n",
                "properties": {
                    "description": {
                        "type": "string",
                        "description": "Webhook description. Max length 1000 characters.\n"
                    },
                    "enabled": {
                        "type": "boolean",
                        "description": "Status of webhook. Default to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e\n"
                    },
                    "eventTypes": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of event triggers for the Webhook. Allow values: \u003cspan pulumi-lang-nodejs=\"`archive`\" pulumi-lang-dotnet=\"`Archive`\" pulumi-lang-go=\"`archive`\" pulumi-lang-python=\"`archive`\" pulumi-lang-yaml=\"`archive`\" pulumi-lang-java=\"`archive`\" pulumi-lang-hcl=\"`archive`\"\u003e`archive`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`restore`\" pulumi-lang-dotnet=\"`Restore`\" pulumi-lang-go=\"`restore`\" pulumi-lang-python=\"`restore`\" pulumi-lang-yaml=\"`restore`\" pulumi-lang-java=\"`restore`\" pulumi-lang-hcl=\"`restore`\"\u003e`restore`\u003c/span\u003e\n"
                    },
                    "handlers": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/artifactory:index/ArtifactLifecycleWebhookHandler:ArtifactLifecycleWebhookHandler"
                        },
                        "description": "At least one is required.\n"
                    },
                    "key": {
                        "type": "string",
                        "description": "The identity key of the webhook. Must be between 2 and 200 characters. Cannot contain spaces.\n"
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/artifactPropertyCustomWebhook:ArtifactPropertyCustomWebhook": {
            "description": "Provides an Artifactory custom webhook resource. This can be used to register and manage Artifactory webhook subscription which enables you to be notified or notify other users when such events take place in Artifactory.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst my_generic_local = new artifactory.LocalGenericRepository(\"my-generic-local\", {key: \"my-generic-local\"});\nconst artifact_custom_webhook = new artifactory.ArtifactPropertyCustomWebhook(\"artifact-custom-webhook\", {\n    key: \"artifact-property-custom-webhook\",\n    eventTypes: [\n        \"added\",\n        \"deleted\",\n    ],\n    criteria: {\n        anyLocal: true,\n        anyRemote: false,\n        repoKeys: [my_generic_local.key],\n        includePatterns: [\"foo/**\"],\n        excludePatterns: [\"bar/**\"],\n    },\n    handlers: [{\n        url: \"https://tempurl.org\",\n        method: \"POST\",\n        secrets: {\n            secretName1: \"value1\",\n            secretName2: \"value2\",\n        },\n        httpHeaders: {\n            headerName1: \"value1\",\n            headerName2: \"value2\",\n        },\n        payload: \"{ \\\"ref\\\": \\\"main\\\" , \\\"inputs\\\": { \\\"artifact_path\\\": \\\"test-repo/repo-path\\\" } }\",\n    }],\n}, {\n    dependsOn: [my_generic_local],\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nmy_generic_local = artifactory.LocalGenericRepository(\"my-generic-local\", key=\"my-generic-local\")\nartifact_custom_webhook = artifactory.ArtifactPropertyCustomWebhook(\"artifact-custom-webhook\",\n    key=\"artifact-property-custom-webhook\",\n    event_types=[\n        \"added\",\n        \"deleted\",\n    ],\n    criteria={\n        \"any_local\": True,\n        \"any_remote\": False,\n        \"repo_keys\": [my_generic_local.key],\n        \"include_patterns\": [\"foo/**\"],\n        \"exclude_patterns\": [\"bar/**\"],\n    },\n    handlers=[{\n        \"url\": \"https://tempurl.org\",\n        \"method\": \"POST\",\n        \"secrets\": {\n            \"secretName1\": \"value1\",\n            \"secretName2\": \"value2\",\n        },\n        \"http_headers\": {\n            \"headerName1\": \"value1\",\n            \"headerName2\": \"value2\",\n        },\n        \"payload\": \"{ \\\"ref\\\": \\\"main\\\" , \\\"inputs\\\": { \\\"artifact_path\\\": \\\"test-repo/repo-path\\\" } }\",\n    }],\n    opts = pulumi.ResourceOptions(depends_on=[my_generic_local]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var my_generic_local = new Artifactory.LocalGenericRepository(\"my-generic-local\", new()\n    {\n        Key = \"my-generic-local\",\n    });\n\n    var artifact_custom_webhook = new Artifactory.ArtifactPropertyCustomWebhook(\"artifact-custom-webhook\", new()\n    {\n        Key = \"artifact-property-custom-webhook\",\n        EventTypes = new[]\n        {\n            \"added\",\n            \"deleted\",\n        },\n        Criteria = new Artifactory.Inputs.ArtifactPropertyCustomWebhookCriteriaArgs\n        {\n            AnyLocal = true,\n            AnyRemote = false,\n            RepoKeys = new[]\n            {\n                my_generic_local.Key,\n            },\n            IncludePatterns = new[]\n            {\n                \"foo/**\",\n            },\n            ExcludePatterns = new[]\n            {\n                \"bar/**\",\n            },\n        },\n        Handlers = new[]\n        {\n            new Artifactory.Inputs.ArtifactPropertyCustomWebhookHandlerArgs\n            {\n                Url = \"https://tempurl.org\",\n                Method = \"POST\",\n                Secrets = \n                {\n                    { \"secretName1\", \"value1\" },\n                    { \"secretName2\", \"value2\" },\n                },\n                HttpHeaders = \n                {\n                    { \"headerName1\", \"value1\" },\n                    { \"headerName2\", \"value2\" },\n                },\n                Payload = \"{ \\\"ref\\\": \\\"main\\\" , \\\"inputs\\\": { \\\"artifact_path\\\": \\\"test-repo/repo-path\\\" } }\",\n            },\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            my_generic_local,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmy_generic_local, err := artifactory.NewLocalGenericRepository(ctx, \"my-generic-local\", \u0026artifactory.LocalGenericRepositoryArgs{\n\t\t\tKey: pulumi.String(\"my-generic-local\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = artifactory.NewArtifactPropertyCustomWebhook(ctx, \"artifact-custom-webhook\", \u0026artifactory.ArtifactPropertyCustomWebhookArgs{\n\t\t\tKey: pulumi.String(\"artifact-property-custom-webhook\"),\n\t\t\tEventTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"added\"),\n\t\t\t\tpulumi.String(\"deleted\"),\n\t\t\t},\n\t\t\tCriteria: \u0026artifactory.ArtifactPropertyCustomWebhookCriteriaArgs{\n\t\t\t\tAnyLocal:  pulumi.Bool(true),\n\t\t\t\tAnyRemote: pulumi.Bool(false),\n\t\t\t\tRepoKeys: pulumi.StringArray{\n\t\t\t\t\tmy_generic_local.Key,\n\t\t\t\t},\n\t\t\t\tIncludePatterns: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"foo/**\"),\n\t\t\t\t},\n\t\t\t\tExcludePatterns: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"bar/**\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tHandlers: artifactory.ArtifactPropertyCustomWebhookHandlerArray{\n\t\t\t\t\u0026artifactory.ArtifactPropertyCustomWebhookHandlerArgs{\n\t\t\t\t\tUrl:    pulumi.String(\"https://tempurl.org\"),\n\t\t\t\t\tMethod: pulumi.String(\"POST\"),\n\t\t\t\t\tSecrets: pulumi.StringMap{\n\t\t\t\t\t\t\"secretName1\": pulumi.String(\"value1\"),\n\t\t\t\t\t\t\"secretName2\": pulumi.String(\"value2\"),\n\t\t\t\t\t},\n\t\t\t\t\tHttpHeaders: pulumi.StringMap{\n\t\t\t\t\t\t\"headerName1\": pulumi.String(\"value1\"),\n\t\t\t\t\t\t\"headerName2\": pulumi.String(\"value2\"),\n\t\t\t\t\t},\n\t\t\t\t\tPayload: pulumi.String(\"{ \\\"ref\\\": \\\"main\\\" , \\\"inputs\\\": { \\\"artifact_path\\\": \\\"test-repo/repo-path\\\" } }\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tmy_generic_local,\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_localgenericrepository\" \"my-generic-local\" {\n  key = \"my-generic-local\"\n}\nresource \"artifactory_artifactpropertycustomwebhook\" \"artifact-custom-webhook\" {\n  depends_on  = [artifactory_localgenericrepository.my-generic-local]\n  key         = \"artifact-property-custom-webhook\"\n  event_types = [\"added\", \"deleted\"]\n  criteria = {\n    any_local        = true\n    any_remote       = false\n    repo_keys        = [artifactory_localgenericrepository.my-generic-local.key]\n    include_patterns = [\"foo/**\"]\n    exclude_patterns = [\"bar/**\"]\n  }\n  handlers {\n    url    = \"https://tempurl.org\"\n    method = \"POST\"\n    secrets = {\n      \"secretName1\" = \"value1\"\n      \"secretName2\" = \"value2\"\n    }\n    http_headers = {\n      \"headerName1\" = \"value1\"\n      \"headerName2\" = \"value2\"\n    }\n    payload = \"{ \\\"ref\\\": \\\"main\\\" , \\\"inputs\\\": { \\\"artifact_path\\\": \\\"test-repo/repo-path\\\" } }\"\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.LocalGenericRepository;\nimport com.pulumi.artifactory.LocalGenericRepositoryArgs;\nimport com.pulumi.artifactory.ArtifactPropertyCustomWebhook;\nimport com.pulumi.artifactory.ArtifactPropertyCustomWebhookArgs;\nimport com.pulumi.artifactory.inputs.ArtifactPropertyCustomWebhookCriteriaArgs;\nimport com.pulumi.artifactory.inputs.ArtifactPropertyCustomWebhookHandlerArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 my_generic_local = new LocalGenericRepository(\"my-generic-local\", LocalGenericRepositoryArgs.builder()\n            .key(\"my-generic-local\")\n            .build());\n\n        var artifact_custom_webhook = new ArtifactPropertyCustomWebhook(\"artifact-custom-webhook\", ArtifactPropertyCustomWebhookArgs.builder()\n            .key(\"artifact-property-custom-webhook\")\n            .eventTypes(            \n                \"added\",\n                \"deleted\")\n            .criteria(ArtifactPropertyCustomWebhookCriteriaArgs.builder()\n                .anyLocal(true)\n                .anyRemote(false)\n                .repoKeys(my_generic_local.key())\n                .includePatterns(\"foo/**\")\n                .excludePatterns(\"bar/**\")\n                .build())\n            .handlers(ArtifactPropertyCustomWebhookHandlerArgs.builder()\n                .url(\"https://tempurl.org\")\n                .method(\"POST\")\n                .secrets(Map.ofEntries(\n                    Map.entry(\"secretName1\", \"value1\"),\n                    Map.entry(\"secretName2\", \"value2\")\n                ))\n                .httpHeaders(Map.ofEntries(\n                    Map.entry(\"headerName1\", \"value1\"),\n                    Map.entry(\"headerName2\", \"value2\")\n                ))\n                .payload(\"{ \\\"ref\\\": \\\"main\\\" , \\\"inputs\\\": { \\\"artifact_path\\\": \\\"test-repo/repo-path\\\" } }\")\n                .build())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(my_generic_local)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  my-generic-local:\n    type: artifactory:LocalGenericRepository\n    properties:\n      key: my-generic-local\n  artifact-custom-webhook:\n    type: artifactory:ArtifactPropertyCustomWebhook\n    properties:\n      key: artifact-property-custom-webhook\n      eventTypes:\n        - added\n        - deleted\n      criteria:\n        anyLocal: true\n        anyRemote: false\n        repoKeys:\n          - ${[\"my-generic-local\"].key}\n        includePatterns:\n          - foo/**\n        excludePatterns:\n          - bar/**\n      handlers:\n        - url: https://tempurl.org\n          method: POST\n          secrets:\n            secretName1: value1\n            secretName2: value2\n          httpHeaders:\n            headerName1: value1\n            headerName2: value2\n          payload: '{ \"ref\": \"main\" , \"inputs\": { \"artifact_path\": \"test-repo/repo-path\" } }'\n    options:\n      dependsOn:\n        - ${[\"my-generic-local\"]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "properties": {
                "criteria": {
                    "$ref": "#/types/artifactory:index/ArtifactPropertyCustomWebhookCriteria:ArtifactPropertyCustomWebhookCriteria",
                    "description": "Specifies where the webhook will be applied on which repositories.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Webhook description. Max length 1000 characters.\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Status of webhook. Default to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                },
                "eventTypes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of Events in Artifactory, Distribution, Release Bundle that function as the event trigger for the Webhook. Allow values: \u003cspan pulumi-lang-nodejs=\"`added`\" pulumi-lang-dotnet=\"`Added`\" pulumi-lang-go=\"`added`\" pulumi-lang-python=\"`added`\" pulumi-lang-yaml=\"`added`\" pulumi-lang-java=\"`added`\" pulumi-lang-hcl=\"`added`\"\u003e`added`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleted`\" pulumi-lang-dotnet=\"`Deleted`\" pulumi-lang-go=\"`deleted`\" pulumi-lang-python=\"`deleted`\" pulumi-lang-yaml=\"`deleted`\" pulumi-lang-java=\"`deleted`\" pulumi-lang-hcl=\"`deleted`\"\u003e`deleted`\u003c/span\u003e.\n"
                },
                "handlers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/ArtifactPropertyCustomWebhookHandler:ArtifactPropertyCustomWebhookHandler"
                    },
                    "description": "At least one is required.\n"
                },
                "key": {
                    "type": "string",
                    "description": "The identity key of the webhook. Must be between 2 and 200 characters. Cannot contain spaces.\n"
                }
            },
            "required": [
                "criteria",
                "enabled",
                "eventTypes",
                "handlers",
                "key"
            ],
            "inputProperties": {
                "criteria": {
                    "$ref": "#/types/artifactory:index/ArtifactPropertyCustomWebhookCriteria:ArtifactPropertyCustomWebhookCriteria",
                    "description": "Specifies where the webhook will be applied on which repositories.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Webhook description. Max length 1000 characters.\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Status of webhook. Default to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                },
                "eventTypes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of Events in Artifactory, Distribution, Release Bundle that function as the event trigger for the Webhook. Allow values: \u003cspan pulumi-lang-nodejs=\"`added`\" pulumi-lang-dotnet=\"`Added`\" pulumi-lang-go=\"`added`\" pulumi-lang-python=\"`added`\" pulumi-lang-yaml=\"`added`\" pulumi-lang-java=\"`added`\" pulumi-lang-hcl=\"`added`\"\u003e`added`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleted`\" pulumi-lang-dotnet=\"`Deleted`\" pulumi-lang-go=\"`deleted`\" pulumi-lang-python=\"`deleted`\" pulumi-lang-yaml=\"`deleted`\" pulumi-lang-java=\"`deleted`\" pulumi-lang-hcl=\"`deleted`\"\u003e`deleted`\u003c/span\u003e.\n"
                },
                "handlers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/ArtifactPropertyCustomWebhookHandler:ArtifactPropertyCustomWebhookHandler"
                    },
                    "description": "At least one is required.\n"
                },
                "key": {
                    "type": "string",
                    "description": "The identity key of the webhook. Must be between 2 and 200 characters. Cannot contain spaces.\n"
                }
            },
            "requiredInputs": [
                "criteria",
                "eventTypes",
                "handlers",
                "key"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering ArtifactPropertyCustomWebhook resources.\n",
                "properties": {
                    "criteria": {
                        "$ref": "#/types/artifactory:index/ArtifactPropertyCustomWebhookCriteria:ArtifactPropertyCustomWebhookCriteria",
                        "description": "Specifies where the webhook will be applied on which repositories.\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Webhook description. Max length 1000 characters.\n"
                    },
                    "enabled": {
                        "type": "boolean",
                        "description": "Status of webhook. Default to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                    },
                    "eventTypes": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of Events in Artifactory, Distribution, Release Bundle that function as the event trigger for the Webhook. Allow values: \u003cspan pulumi-lang-nodejs=\"`added`\" pulumi-lang-dotnet=\"`Added`\" pulumi-lang-go=\"`added`\" pulumi-lang-python=\"`added`\" pulumi-lang-yaml=\"`added`\" pulumi-lang-java=\"`added`\" pulumi-lang-hcl=\"`added`\"\u003e`added`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleted`\" pulumi-lang-dotnet=\"`Deleted`\" pulumi-lang-go=\"`deleted`\" pulumi-lang-python=\"`deleted`\" pulumi-lang-yaml=\"`deleted`\" pulumi-lang-java=\"`deleted`\" pulumi-lang-hcl=\"`deleted`\"\u003e`deleted`\u003c/span\u003e.\n"
                    },
                    "handlers": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/artifactory:index/ArtifactPropertyCustomWebhookHandler:ArtifactPropertyCustomWebhookHandler"
                        },
                        "description": "At least one is required.\n"
                    },
                    "key": {
                        "type": "string",
                        "description": "The identity key of the webhook. Must be between 2 and 200 characters. Cannot contain spaces.\n"
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/artifactPropertyWebhook:ArtifactPropertyWebhook": {
            "description": "Provides an Artifactory webhook resource. This can be used to register and manage Artifactory webhook subscription which enables you to be notified or notify other users when such events take place in Artifactory.\n\n## Example Usage\n\n.\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst my_generic_local = new artifactory.LocalGenericRepository(\"my-generic-local\", {key: \"my-generic-local\"});\nconst artifact_webhook = new artifactory.ArtifactPropertyWebhook(\"artifact-webhook\", {\n    key: \"artifact-property-webhook\",\n    eventTypes: [\n        \"added\",\n        \"deleted\",\n    ],\n    criteria: {\n        anyLocal: true,\n        anyRemote: false,\n        anyFederated: false,\n        repoKeys: [my_generic_local.key],\n        includePatterns: [\"foo/**\"],\n        excludePatterns: [\"bar/**\"],\n    },\n    handlers: [{\n        url: \"http://tempurl.org/webhook\",\n        secret: \"some-secret\",\n        proxy: \"proxy-key\",\n        customHttpHeaders: {\n            \"header-1\": \"value-1\",\n            \"header-2\": \"value-2\",\n        },\n    }],\n}, {\n    dependsOn: [my_generic_local],\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nmy_generic_local = artifactory.LocalGenericRepository(\"my-generic-local\", key=\"my-generic-local\")\nartifact_webhook = artifactory.ArtifactPropertyWebhook(\"artifact-webhook\",\n    key=\"artifact-property-webhook\",\n    event_types=[\n        \"added\",\n        \"deleted\",\n    ],\n    criteria={\n        \"any_local\": True,\n        \"any_remote\": False,\n        \"any_federated\": False,\n        \"repo_keys\": [my_generic_local.key],\n        \"include_patterns\": [\"foo/**\"],\n        \"exclude_patterns\": [\"bar/**\"],\n    },\n    handlers=[{\n        \"url\": \"http://tempurl.org/webhook\",\n        \"secret\": \"some-secret\",\n        \"proxy\": \"proxy-key\",\n        \"custom_http_headers\": {\n            \"header-1\": \"value-1\",\n            \"header-2\": \"value-2\",\n        },\n    }],\n    opts = pulumi.ResourceOptions(depends_on=[my_generic_local]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var my_generic_local = new Artifactory.LocalGenericRepository(\"my-generic-local\", new()\n    {\n        Key = \"my-generic-local\",\n    });\n\n    var artifact_webhook = new Artifactory.ArtifactPropertyWebhook(\"artifact-webhook\", new()\n    {\n        Key = \"artifact-property-webhook\",\n        EventTypes = new[]\n        {\n            \"added\",\n            \"deleted\",\n        },\n        Criteria = new Artifactory.Inputs.ArtifactPropertyWebhookCriteriaArgs\n        {\n            AnyLocal = true,\n            AnyRemote = false,\n            AnyFederated = false,\n            RepoKeys = new[]\n            {\n                my_generic_local.Key,\n            },\n            IncludePatterns = new[]\n            {\n                \"foo/**\",\n            },\n            ExcludePatterns = new[]\n            {\n                \"bar/**\",\n            },\n        },\n        Handlers = new[]\n        {\n            new Artifactory.Inputs.ArtifactPropertyWebhookHandlerArgs\n            {\n                Url = \"http://tempurl.org/webhook\",\n                Secret = \"some-secret\",\n                Proxy = \"proxy-key\",\n                CustomHttpHeaders = \n                {\n                    { \"header-1\", \"value-1\" },\n                    { \"header-2\", \"value-2\" },\n                },\n            },\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            my_generic_local,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmy_generic_local, err := artifactory.NewLocalGenericRepository(ctx, \"my-generic-local\", \u0026artifactory.LocalGenericRepositoryArgs{\n\t\t\tKey: pulumi.String(\"my-generic-local\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = artifactory.NewArtifactPropertyWebhook(ctx, \"artifact-webhook\", \u0026artifactory.ArtifactPropertyWebhookArgs{\n\t\t\tKey: pulumi.String(\"artifact-property-webhook\"),\n\t\t\tEventTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"added\"),\n\t\t\t\tpulumi.String(\"deleted\"),\n\t\t\t},\n\t\t\tCriteria: \u0026artifactory.ArtifactPropertyWebhookCriteriaArgs{\n\t\t\t\tAnyLocal:     pulumi.Bool(true),\n\t\t\t\tAnyRemote:    pulumi.Bool(false),\n\t\t\t\tAnyFederated: pulumi.Bool(false),\n\t\t\t\tRepoKeys: pulumi.StringArray{\n\t\t\t\t\tmy_generic_local.Key,\n\t\t\t\t},\n\t\t\t\tIncludePatterns: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"foo/**\"),\n\t\t\t\t},\n\t\t\t\tExcludePatterns: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"bar/**\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tHandlers: artifactory.ArtifactPropertyWebhookHandlerArray{\n\t\t\t\t\u0026artifactory.ArtifactPropertyWebhookHandlerArgs{\n\t\t\t\t\tUrl:    pulumi.String(\"http://tempurl.org/webhook\"),\n\t\t\t\t\tSecret: pulumi.String(\"some-secret\"),\n\t\t\t\t\tProxy:  pulumi.String(\"proxy-key\"),\n\t\t\t\t\tCustomHttpHeaders: pulumi.StringMap{\n\t\t\t\t\t\t\"header-1\": pulumi.String(\"value-1\"),\n\t\t\t\t\t\t\"header-2\": pulumi.String(\"value-2\"),\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\tmy_generic_local,\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_localgenericrepository\" \"my-generic-local\" {\n  key = \"my-generic-local\"\n}\nresource \"artifactory_artifactpropertywebhook\" \"artifact-webhook\" {\n  depends_on  = [artifactory_localgenericrepository.my-generic-local]\n  key         = \"artifact-property-webhook\"\n  event_types = [\"added\", \"deleted\"]\n  criteria = {\n    any_local        = true\n    any_remote       = false\n    any_federated    = false\n    repo_keys        = [artifactory_localgenericrepository.my-generic-local.key]\n    include_patterns = [\"foo/**\"]\n    exclude_patterns = [\"bar/**\"]\n  }\n  handlers {\n    url    = \"http://tempurl.org/webhook\"\n    secret = \"some-secret\"\n    proxy  = \"proxy-key\"\n    custom_http_headers = {\n      \"header-1\" = \"value-1\"\n      \"header-2\" = \"value-2\"\n    }\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.LocalGenericRepository;\nimport com.pulumi.artifactory.LocalGenericRepositoryArgs;\nimport com.pulumi.artifactory.ArtifactPropertyWebhook;\nimport com.pulumi.artifactory.ArtifactPropertyWebhookArgs;\nimport com.pulumi.artifactory.inputs.ArtifactPropertyWebhookCriteriaArgs;\nimport com.pulumi.artifactory.inputs.ArtifactPropertyWebhookHandlerArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 my_generic_local = new LocalGenericRepository(\"my-generic-local\", LocalGenericRepositoryArgs.builder()\n            .key(\"my-generic-local\")\n            .build());\n\n        var artifact_webhook = new ArtifactPropertyWebhook(\"artifact-webhook\", ArtifactPropertyWebhookArgs.builder()\n            .key(\"artifact-property-webhook\")\n            .eventTypes(            \n                \"added\",\n                \"deleted\")\n            .criteria(ArtifactPropertyWebhookCriteriaArgs.builder()\n                .anyLocal(true)\n                .anyRemote(false)\n                .anyFederated(false)\n                .repoKeys(my_generic_local.key())\n                .includePatterns(\"foo/**\")\n                .excludePatterns(\"bar/**\")\n                .build())\n            .handlers(ArtifactPropertyWebhookHandlerArgs.builder()\n                .url(\"http://tempurl.org/webhook\")\n                .secret(\"some-secret\")\n                .proxy(\"proxy-key\")\n                .customHttpHeaders(Map.ofEntries(\n                    Map.entry(\"header-1\", \"value-1\"),\n                    Map.entry(\"header-2\", \"value-2\")\n                ))\n                .build())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(my_generic_local)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  my-generic-local:\n    type: artifactory:LocalGenericRepository\n    properties:\n      key: my-generic-local\n  artifact-webhook:\n    type: artifactory:ArtifactPropertyWebhook\n    properties:\n      key: artifact-property-webhook\n      eventTypes:\n        - added\n        - deleted\n      criteria:\n        anyLocal: true\n        anyRemote: false\n        anyFederated: false\n        repoKeys:\n          - ${[\"my-generic-local\"].key}\n        includePatterns:\n          - foo/**\n        excludePatterns:\n          - bar/**\n      handlers:\n        - url: http://tempurl.org/webhook\n          secret: some-secret\n          proxy: proxy-key\n          customHttpHeaders:\n            header-1: value-1\n            header-2: value-2\n    options:\n      dependsOn:\n        - ${[\"my-generic-local\"]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "properties": {
                "criteria": {
                    "$ref": "#/types/artifactory:index/ArtifactPropertyWebhookCriteria:ArtifactPropertyWebhookCriteria",
                    "description": "Specifies where the webhook will be applied on which repositories.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Webhook description. Max length 1000 characters.\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Status of webhook. Default to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                },
                "eventTypes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of Events in Artifactory, Distribution, Release Bundle that function as the event trigger for the Webhook. Allow values: \u003cspan pulumi-lang-nodejs=\"`added`\" pulumi-lang-dotnet=\"`Added`\" pulumi-lang-go=\"`added`\" pulumi-lang-python=\"`added`\" pulumi-lang-yaml=\"`added`\" pulumi-lang-java=\"`added`\" pulumi-lang-hcl=\"`added`\"\u003e`added`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleted`\" pulumi-lang-dotnet=\"`Deleted`\" pulumi-lang-go=\"`deleted`\" pulumi-lang-python=\"`deleted`\" pulumi-lang-yaml=\"`deleted`\" pulumi-lang-java=\"`deleted`\" pulumi-lang-hcl=\"`deleted`\"\u003e`deleted`\u003c/span\u003e.\n"
                },
                "handlers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/ArtifactPropertyWebhookHandler:ArtifactPropertyWebhookHandler"
                    },
                    "description": "At least one is required.\n"
                },
                "key": {
                    "type": "string",
                    "description": "The identity key of the webhook. Must be between 2 and 200 characters. Cannot contain spaces.\n"
                }
            },
            "required": [
                "criteria",
                "enabled",
                "eventTypes",
                "handlers",
                "key"
            ],
            "inputProperties": {
                "criteria": {
                    "$ref": "#/types/artifactory:index/ArtifactPropertyWebhookCriteria:ArtifactPropertyWebhookCriteria",
                    "description": "Specifies where the webhook will be applied on which repositories.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Webhook description. Max length 1000 characters.\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Status of webhook. Default to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                },
                "eventTypes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of Events in Artifactory, Distribution, Release Bundle that function as the event trigger for the Webhook. Allow values: \u003cspan pulumi-lang-nodejs=\"`added`\" pulumi-lang-dotnet=\"`Added`\" pulumi-lang-go=\"`added`\" pulumi-lang-python=\"`added`\" pulumi-lang-yaml=\"`added`\" pulumi-lang-java=\"`added`\" pulumi-lang-hcl=\"`added`\"\u003e`added`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleted`\" pulumi-lang-dotnet=\"`Deleted`\" pulumi-lang-go=\"`deleted`\" pulumi-lang-python=\"`deleted`\" pulumi-lang-yaml=\"`deleted`\" pulumi-lang-java=\"`deleted`\" pulumi-lang-hcl=\"`deleted`\"\u003e`deleted`\u003c/span\u003e.\n"
                },
                "handlers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/ArtifactPropertyWebhookHandler:ArtifactPropertyWebhookHandler"
                    },
                    "description": "At least one is required.\n"
                },
                "key": {
                    "type": "string",
                    "description": "The identity key of the webhook. Must be between 2 and 200 characters. Cannot contain spaces.\n"
                }
            },
            "requiredInputs": [
                "criteria",
                "eventTypes",
                "handlers",
                "key"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering ArtifactPropertyWebhook resources.\n",
                "properties": {
                    "criteria": {
                        "$ref": "#/types/artifactory:index/ArtifactPropertyWebhookCriteria:ArtifactPropertyWebhookCriteria",
                        "description": "Specifies where the webhook will be applied on which repositories.\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Webhook description. Max length 1000 characters.\n"
                    },
                    "enabled": {
                        "type": "boolean",
                        "description": "Status of webhook. Default to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                    },
                    "eventTypes": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of Events in Artifactory, Distribution, Release Bundle that function as the event trigger for the Webhook. Allow values: \u003cspan pulumi-lang-nodejs=\"`added`\" pulumi-lang-dotnet=\"`Added`\" pulumi-lang-go=\"`added`\" pulumi-lang-python=\"`added`\" pulumi-lang-yaml=\"`added`\" pulumi-lang-java=\"`added`\" pulumi-lang-hcl=\"`added`\"\u003e`added`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleted`\" pulumi-lang-dotnet=\"`Deleted`\" pulumi-lang-go=\"`deleted`\" pulumi-lang-python=\"`deleted`\" pulumi-lang-yaml=\"`deleted`\" pulumi-lang-java=\"`deleted`\" pulumi-lang-hcl=\"`deleted`\"\u003e`deleted`\u003c/span\u003e.\n"
                    },
                    "handlers": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/artifactory:index/ArtifactPropertyWebhookHandler:ArtifactPropertyWebhookHandler"
                        },
                        "description": "At least one is required.\n"
                    },
                    "key": {
                        "type": "string",
                        "description": "The identity key of the webhook. Must be between 2 and 200 characters. Cannot contain spaces.\n"
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/artifactWebhook:ArtifactWebhook": {
            "description": "Provides an Artifactory webhook resource. This can be used to register and manage Artifactory webhook subscription which enables you to be notified or notify other users when such events take place in Artifactory.\n\n## Example Usage\n\n.\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst my_generic_local = new artifactory.LocalGenericRepository(\"my-generic-local\", {key: \"my-generic-local\"});\nconst artifact_webhook = new artifactory.ArtifactWebhook(\"artifact-webhook\", {\n    key: \"artifact-webhook\",\n    eventTypes: [\n        \"deployed\",\n        \"deleted\",\n        \"moved\",\n        \"copied\",\n    ],\n    criteria: {\n        anyLocal: true,\n        anyRemote: false,\n        anyFederated: false,\n        repoKeys: [my_generic_local.key],\n        includePatterns: [\"foo/**\"],\n        excludePatterns: [\"bar/**\"],\n    },\n    handlers: [{\n        url: \"http://tempurl.org/webhook\",\n        secret: \"some-secret\",\n        proxy: \"proxy-key\",\n        customHttpHeaders: {\n            \"header-1\": \"value-1\",\n            \"header-2\": \"value-2\",\n        },\n    }],\n}, {\n    dependsOn: [my_generic_local],\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nmy_generic_local = artifactory.LocalGenericRepository(\"my-generic-local\", key=\"my-generic-local\")\nartifact_webhook = artifactory.ArtifactWebhook(\"artifact-webhook\",\n    key=\"artifact-webhook\",\n    event_types=[\n        \"deployed\",\n        \"deleted\",\n        \"moved\",\n        \"copied\",\n    ],\n    criteria={\n        \"any_local\": True,\n        \"any_remote\": False,\n        \"any_federated\": False,\n        \"repo_keys\": [my_generic_local.key],\n        \"include_patterns\": [\"foo/**\"],\n        \"exclude_patterns\": [\"bar/**\"],\n    },\n    handlers=[{\n        \"url\": \"http://tempurl.org/webhook\",\n        \"secret\": \"some-secret\",\n        \"proxy\": \"proxy-key\",\n        \"custom_http_headers\": {\n            \"header-1\": \"value-1\",\n            \"header-2\": \"value-2\",\n        },\n    }],\n    opts = pulumi.ResourceOptions(depends_on=[my_generic_local]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var my_generic_local = new Artifactory.LocalGenericRepository(\"my-generic-local\", new()\n    {\n        Key = \"my-generic-local\",\n    });\n\n    var artifact_webhook = new Artifactory.ArtifactWebhook(\"artifact-webhook\", new()\n    {\n        Key = \"artifact-webhook\",\n        EventTypes = new[]\n        {\n            \"deployed\",\n            \"deleted\",\n            \"moved\",\n            \"copied\",\n        },\n        Criteria = new Artifactory.Inputs.ArtifactWebhookCriteriaArgs\n        {\n            AnyLocal = true,\n            AnyRemote = false,\n            AnyFederated = false,\n            RepoKeys = new[]\n            {\n                my_generic_local.Key,\n            },\n            IncludePatterns = new[]\n            {\n                \"foo/**\",\n            },\n            ExcludePatterns = new[]\n            {\n                \"bar/**\",\n            },\n        },\n        Handlers = new[]\n        {\n            new Artifactory.Inputs.ArtifactWebhookHandlerArgs\n            {\n                Url = \"http://tempurl.org/webhook\",\n                Secret = \"some-secret\",\n                Proxy = \"proxy-key\",\n                CustomHttpHeaders = \n                {\n                    { \"header-1\", \"value-1\" },\n                    { \"header-2\", \"value-2\" },\n                },\n            },\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            my_generic_local,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmy_generic_local, err := artifactory.NewLocalGenericRepository(ctx, \"my-generic-local\", \u0026artifactory.LocalGenericRepositoryArgs{\n\t\t\tKey: pulumi.String(\"my-generic-local\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = artifactory.NewArtifactWebhook(ctx, \"artifact-webhook\", \u0026artifactory.ArtifactWebhookArgs{\n\t\t\tKey: pulumi.String(\"artifact-webhook\"),\n\t\t\tEventTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"deployed\"),\n\t\t\t\tpulumi.String(\"deleted\"),\n\t\t\t\tpulumi.String(\"moved\"),\n\t\t\t\tpulumi.String(\"copied\"),\n\t\t\t},\n\t\t\tCriteria: \u0026artifactory.ArtifactWebhookCriteriaArgs{\n\t\t\t\tAnyLocal:     pulumi.Bool(true),\n\t\t\t\tAnyRemote:    pulumi.Bool(false),\n\t\t\t\tAnyFederated: pulumi.Bool(false),\n\t\t\t\tRepoKeys: pulumi.StringArray{\n\t\t\t\t\tmy_generic_local.Key,\n\t\t\t\t},\n\t\t\t\tIncludePatterns: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"foo/**\"),\n\t\t\t\t},\n\t\t\t\tExcludePatterns: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"bar/**\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tHandlers: artifactory.ArtifactWebhookHandlerArray{\n\t\t\t\t\u0026artifactory.ArtifactWebhookHandlerArgs{\n\t\t\t\t\tUrl:    pulumi.String(\"http://tempurl.org/webhook\"),\n\t\t\t\t\tSecret: pulumi.String(\"some-secret\"),\n\t\t\t\t\tProxy:  pulumi.String(\"proxy-key\"),\n\t\t\t\t\tCustomHttpHeaders: pulumi.StringMap{\n\t\t\t\t\t\t\"header-1\": pulumi.String(\"value-1\"),\n\t\t\t\t\t\t\"header-2\": pulumi.String(\"value-2\"),\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\tmy_generic_local,\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_localgenericrepository\" \"my-generic-local\" {\n  key = \"my-generic-local\"\n}\nresource \"artifactory_artifactwebhook\" \"artifact-webhook\" {\n  depends_on  = [artifactory_localgenericrepository.my-generic-local]\n  key         = \"artifact-webhook\"\n  event_types = [\"deployed\", \"deleted\", \"moved\", \"copied\"]\n  criteria = {\n    any_local        = true\n    any_remote       = false\n    any_federated    = false\n    repo_keys        = [artifactory_localgenericrepository.my-generic-local.key]\n    include_patterns = [\"foo/**\"]\n    exclude_patterns = [\"bar/**\"]\n  }\n  handlers {\n    url    = \"http://tempurl.org/webhook\"\n    secret = \"some-secret\"\n    proxy  = \"proxy-key\"\n    custom_http_headers = {\n      \"header-1\" = \"value-1\"\n      \"header-2\" = \"value-2\"\n    }\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.LocalGenericRepository;\nimport com.pulumi.artifactory.LocalGenericRepositoryArgs;\nimport com.pulumi.artifactory.ArtifactWebhook;\nimport com.pulumi.artifactory.ArtifactWebhookArgs;\nimport com.pulumi.artifactory.inputs.ArtifactWebhookCriteriaArgs;\nimport com.pulumi.artifactory.inputs.ArtifactWebhookHandlerArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 my_generic_local = new LocalGenericRepository(\"my-generic-local\", LocalGenericRepositoryArgs.builder()\n            .key(\"my-generic-local\")\n            .build());\n\n        var artifact_webhook = new ArtifactWebhook(\"artifact-webhook\", ArtifactWebhookArgs.builder()\n            .key(\"artifact-webhook\")\n            .eventTypes(            \n                \"deployed\",\n                \"deleted\",\n                \"moved\",\n                \"copied\")\n            .criteria(ArtifactWebhookCriteriaArgs.builder()\n                .anyLocal(true)\n                .anyRemote(false)\n                .anyFederated(false)\n                .repoKeys(my_generic_local.key())\n                .includePatterns(\"foo/**\")\n                .excludePatterns(\"bar/**\")\n                .build())\n            .handlers(ArtifactWebhookHandlerArgs.builder()\n                .url(\"http://tempurl.org/webhook\")\n                .secret(\"some-secret\")\n                .proxy(\"proxy-key\")\n                .customHttpHeaders(Map.ofEntries(\n                    Map.entry(\"header-1\", \"value-1\"),\n                    Map.entry(\"header-2\", \"value-2\")\n                ))\n                .build())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(my_generic_local)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  my-generic-local:\n    type: artifactory:LocalGenericRepository\n    properties:\n      key: my-generic-local\n  artifact-webhook:\n    type: artifactory:ArtifactWebhook\n    properties:\n      key: artifact-webhook\n      eventTypes:\n        - deployed\n        - deleted\n        - moved\n        - copied\n      criteria:\n        anyLocal: true\n        anyRemote: false\n        anyFederated: false\n        repoKeys:\n          - ${[\"my-generic-local\"].key}\n        includePatterns:\n          - foo/**\n        excludePatterns:\n          - bar/**\n      handlers:\n        - url: http://tempurl.org/webhook\n          secret: some-secret\n          proxy: proxy-key\n          customHttpHeaders:\n            header-1: value-1\n            header-2: value-2\n    options:\n      dependsOn:\n        - ${[\"my-generic-local\"]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "properties": {
                "criteria": {
                    "$ref": "#/types/artifactory:index/ArtifactWebhookCriteria:ArtifactWebhookCriteria",
                    "description": "Specifies where the webhook will be applied on which repositories.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Webhook description. Max length 1000 characters.\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Status of webhook. Default to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                },
                "eventTypes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of Events in Artifactory, Distribution, Release Bundle that function as the event trigger for the Webhook. Allow values: \u003cspan pulumi-lang-nodejs=\"`deployed`\" pulumi-lang-dotnet=\"`Deployed`\" pulumi-lang-go=\"`deployed`\" pulumi-lang-python=\"`deployed`\" pulumi-lang-yaml=\"`deployed`\" pulumi-lang-java=\"`deployed`\" pulumi-lang-hcl=\"`deployed`\"\u003e`deployed`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleted`\" pulumi-lang-dotnet=\"`Deleted`\" pulumi-lang-go=\"`deleted`\" pulumi-lang-python=\"`deleted`\" pulumi-lang-yaml=\"`deleted`\" pulumi-lang-java=\"`deleted`\" pulumi-lang-hcl=\"`deleted`\"\u003e`deleted`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`moved`\" pulumi-lang-dotnet=\"`Moved`\" pulumi-lang-go=\"`moved`\" pulumi-lang-python=\"`moved`\" pulumi-lang-yaml=\"`moved`\" pulumi-lang-java=\"`moved`\" pulumi-lang-hcl=\"`moved`\"\u003e`moved`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`copied`\" pulumi-lang-dotnet=\"`Copied`\" pulumi-lang-go=\"`copied`\" pulumi-lang-python=\"`copied`\" pulumi-lang-yaml=\"`copied`\" pulumi-lang-java=\"`copied`\" pulumi-lang-hcl=\"`copied`\"\u003e`copied`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`cached`\" pulumi-lang-dotnet=\"`Cached`\" pulumi-lang-go=\"`cached`\" pulumi-lang-python=\"`cached`\" pulumi-lang-yaml=\"`cached`\" pulumi-lang-java=\"`cached`\" pulumi-lang-hcl=\"`cached`\"\u003e`cached`\u003c/span\u003e.\n"
                },
                "handlers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/ArtifactWebhookHandler:ArtifactWebhookHandler"
                    },
                    "description": "At least one is required.\n"
                },
                "key": {
                    "type": "string",
                    "description": "The identity key of the webhook. Must be between 2 and 200 characters. Cannot contain spaces.\n"
                }
            },
            "required": [
                "criteria",
                "enabled",
                "eventTypes",
                "handlers",
                "key"
            ],
            "inputProperties": {
                "criteria": {
                    "$ref": "#/types/artifactory:index/ArtifactWebhookCriteria:ArtifactWebhookCriteria",
                    "description": "Specifies where the webhook will be applied on which repositories.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Webhook description. Max length 1000 characters.\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Status of webhook. Default to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                },
                "eventTypes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of Events in Artifactory, Distribution, Release Bundle that function as the event trigger for the Webhook. Allow values: \u003cspan pulumi-lang-nodejs=\"`deployed`\" pulumi-lang-dotnet=\"`Deployed`\" pulumi-lang-go=\"`deployed`\" pulumi-lang-python=\"`deployed`\" pulumi-lang-yaml=\"`deployed`\" pulumi-lang-java=\"`deployed`\" pulumi-lang-hcl=\"`deployed`\"\u003e`deployed`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleted`\" pulumi-lang-dotnet=\"`Deleted`\" pulumi-lang-go=\"`deleted`\" pulumi-lang-python=\"`deleted`\" pulumi-lang-yaml=\"`deleted`\" pulumi-lang-java=\"`deleted`\" pulumi-lang-hcl=\"`deleted`\"\u003e`deleted`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`moved`\" pulumi-lang-dotnet=\"`Moved`\" pulumi-lang-go=\"`moved`\" pulumi-lang-python=\"`moved`\" pulumi-lang-yaml=\"`moved`\" pulumi-lang-java=\"`moved`\" pulumi-lang-hcl=\"`moved`\"\u003e`moved`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`copied`\" pulumi-lang-dotnet=\"`Copied`\" pulumi-lang-go=\"`copied`\" pulumi-lang-python=\"`copied`\" pulumi-lang-yaml=\"`copied`\" pulumi-lang-java=\"`copied`\" pulumi-lang-hcl=\"`copied`\"\u003e`copied`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`cached`\" pulumi-lang-dotnet=\"`Cached`\" pulumi-lang-go=\"`cached`\" pulumi-lang-python=\"`cached`\" pulumi-lang-yaml=\"`cached`\" pulumi-lang-java=\"`cached`\" pulumi-lang-hcl=\"`cached`\"\u003e`cached`\u003c/span\u003e.\n"
                },
                "handlers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/ArtifactWebhookHandler:ArtifactWebhookHandler"
                    },
                    "description": "At least one is required.\n"
                },
                "key": {
                    "type": "string",
                    "description": "The identity key of the webhook. Must be between 2 and 200 characters. Cannot contain spaces.\n"
                }
            },
            "requiredInputs": [
                "criteria",
                "eventTypes",
                "handlers",
                "key"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering ArtifactWebhook resources.\n",
                "properties": {
                    "criteria": {
                        "$ref": "#/types/artifactory:index/ArtifactWebhookCriteria:ArtifactWebhookCriteria",
                        "description": "Specifies where the webhook will be applied on which repositories.\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Webhook description. Max length 1000 characters.\n"
                    },
                    "enabled": {
                        "type": "boolean",
                        "description": "Status of webhook. Default to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                    },
                    "eventTypes": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of Events in Artifactory, Distribution, Release Bundle that function as the event trigger for the Webhook. Allow values: \u003cspan pulumi-lang-nodejs=\"`deployed`\" pulumi-lang-dotnet=\"`Deployed`\" pulumi-lang-go=\"`deployed`\" pulumi-lang-python=\"`deployed`\" pulumi-lang-yaml=\"`deployed`\" pulumi-lang-java=\"`deployed`\" pulumi-lang-hcl=\"`deployed`\"\u003e`deployed`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleted`\" pulumi-lang-dotnet=\"`Deleted`\" pulumi-lang-go=\"`deleted`\" pulumi-lang-python=\"`deleted`\" pulumi-lang-yaml=\"`deleted`\" pulumi-lang-java=\"`deleted`\" pulumi-lang-hcl=\"`deleted`\"\u003e`deleted`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`moved`\" pulumi-lang-dotnet=\"`Moved`\" pulumi-lang-go=\"`moved`\" pulumi-lang-python=\"`moved`\" pulumi-lang-yaml=\"`moved`\" pulumi-lang-java=\"`moved`\" pulumi-lang-hcl=\"`moved`\"\u003e`moved`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`copied`\" pulumi-lang-dotnet=\"`Copied`\" pulumi-lang-go=\"`copied`\" pulumi-lang-python=\"`copied`\" pulumi-lang-yaml=\"`copied`\" pulumi-lang-java=\"`copied`\" pulumi-lang-hcl=\"`copied`\"\u003e`copied`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`cached`\" pulumi-lang-dotnet=\"`Cached`\" pulumi-lang-go=\"`cached`\" pulumi-lang-python=\"`cached`\" pulumi-lang-yaml=\"`cached`\" pulumi-lang-java=\"`cached`\" pulumi-lang-hcl=\"`cached`\"\u003e`cached`\u003c/span\u003e.\n"
                    },
                    "handlers": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/artifactory:index/ArtifactWebhookHandler:ArtifactWebhookHandler"
                        },
                        "description": "At least one is required.\n"
                    },
                    "key": {
                        "type": "string",
                        "description": "The identity key of the webhook. Must be between 2 and 200 characters. Cannot contain spaces.\n"
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/artifactoryReleaseBundleCustomWebhook:ArtifactoryReleaseBundleCustomWebhook": {
            "description": "Provides an Artifactory custom webhook resource. This can be used to register and manage Artifactory webhook subscription which enables you to be notified or notify other users when such events take place in Artifactory.\n\n~\u003eThis resource is being deprecated. Use \u003cspan pulumi-lang-nodejs=\"`artifactory.DestinationCustomWebhook`\" pulumi-lang-dotnet=\"`artifactory.DestinationCustomWebhook`\" pulumi-lang-go=\"`DestinationCustomWebhook`\" pulumi-lang-python=\"`DestinationCustomWebhook`\" pulumi-lang-yaml=\"`artifactory.DestinationCustomWebhook`\" pulumi-lang-java=\"`artifactory.DestinationCustomWebhook`\" pulumi-lang-hcl=\"`artifactory_destination_custom_webhook`\"\u003e`artifactory.DestinationCustomWebhook`\u003c/span\u003e instead.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst artifactory_release_bundle_custom_webhook = new artifactory.ArtifactoryReleaseBundleCustomWebhook(\"artifactory-release-bundle-custom-webhook\", {\n    key: \"artifactory-release-bundle-custom-webhook\",\n    eventTypes: [\n        \"received\",\n        \"delete_started\",\n        \"delete_completed\",\n        \"delete_failed\",\n    ],\n    criteria: {\n        anyReleaseBundle: false,\n        registeredReleaseBundleNames: [\"bundle-name\"],\n        includePatterns: [\"foo/**\"],\n        excludePatterns: [\"bar/**\"],\n    },\n    handlers: [{\n        url: \"https://tempurl.org\",\n        method: \"POST\",\n        secrets: {\n            secretName1: \"value1\",\n            secretName2: \"value2\",\n        },\n        httpHeaders: {\n            headerName1: \"value1\",\n            headerName2: \"value2\",\n        },\n        payload: \"{ \\\"ref\\\": \\\"main\\\" , \\\"inputs\\\": { \\\"artifact_path\\\": \\\"test-repo/repo-path\\\" } }\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nartifactory_release_bundle_custom_webhook = artifactory.ArtifactoryReleaseBundleCustomWebhook(\"artifactory-release-bundle-custom-webhook\",\n    key=\"artifactory-release-bundle-custom-webhook\",\n    event_types=[\n        \"received\",\n        \"delete_started\",\n        \"delete_completed\",\n        \"delete_failed\",\n    ],\n    criteria={\n        \"any_release_bundle\": False,\n        \"registered_release_bundle_names\": [\"bundle-name\"],\n        \"include_patterns\": [\"foo/**\"],\n        \"exclude_patterns\": [\"bar/**\"],\n    },\n    handlers=[{\n        \"url\": \"https://tempurl.org\",\n        \"method\": \"POST\",\n        \"secrets\": {\n            \"secretName1\": \"value1\",\n            \"secretName2\": \"value2\",\n        },\n        \"http_headers\": {\n            \"headerName1\": \"value1\",\n            \"headerName2\": \"value2\",\n        },\n        \"payload\": \"{ \\\"ref\\\": \\\"main\\\" , \\\"inputs\\\": { \\\"artifact_path\\\": \\\"test-repo/repo-path\\\" } }\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var artifactory_release_bundle_custom_webhook = new Artifactory.ArtifactoryReleaseBundleCustomWebhook(\"artifactory-release-bundle-custom-webhook\", new()\n    {\n        Key = \"artifactory-release-bundle-custom-webhook\",\n        EventTypes = new[]\n        {\n            \"received\",\n            \"delete_started\",\n            \"delete_completed\",\n            \"delete_failed\",\n        },\n        Criteria = new Artifactory.Inputs.ArtifactoryReleaseBundleCustomWebhookCriteriaArgs\n        {\n            AnyReleaseBundle = false,\n            RegisteredReleaseBundleNames = new[]\n            {\n                \"bundle-name\",\n            },\n            IncludePatterns = new[]\n            {\n                \"foo/**\",\n            },\n            ExcludePatterns = new[]\n            {\n                \"bar/**\",\n            },\n        },\n        Handlers = new[]\n        {\n            new Artifactory.Inputs.ArtifactoryReleaseBundleCustomWebhookHandlerArgs\n            {\n                Url = \"https://tempurl.org\",\n                Method = \"POST\",\n                Secrets = \n                {\n                    { \"secretName1\", \"value1\" },\n                    { \"secretName2\", \"value2\" },\n                },\n                HttpHeaders = \n                {\n                    { \"headerName1\", \"value1\" },\n                    { \"headerName2\", \"value2\" },\n                },\n                Payload = \"{ \\\"ref\\\": \\\"main\\\" , \\\"inputs\\\": { \\\"artifact_path\\\": \\\"test-repo/repo-path\\\" } }\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewArtifactoryReleaseBundleCustomWebhook(ctx, \"artifactory-release-bundle-custom-webhook\", \u0026artifactory.ArtifactoryReleaseBundleCustomWebhookArgs{\n\t\t\tKey: pulumi.String(\"artifactory-release-bundle-custom-webhook\"),\n\t\t\tEventTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"received\"),\n\t\t\t\tpulumi.String(\"delete_started\"),\n\t\t\t\tpulumi.String(\"delete_completed\"),\n\t\t\t\tpulumi.String(\"delete_failed\"),\n\t\t\t},\n\t\t\tCriteria: \u0026artifactory.ArtifactoryReleaseBundleCustomWebhookCriteriaArgs{\n\t\t\t\tAnyReleaseBundle: pulumi.Bool(false),\n\t\t\t\tRegisteredReleaseBundleNames: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"bundle-name\"),\n\t\t\t\t},\n\t\t\t\tIncludePatterns: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"foo/**\"),\n\t\t\t\t},\n\t\t\t\tExcludePatterns: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"bar/**\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tHandlers: artifactory.ArtifactoryReleaseBundleCustomWebhookHandlerArray{\n\t\t\t\t\u0026artifactory.ArtifactoryReleaseBundleCustomWebhookHandlerArgs{\n\t\t\t\t\tUrl:    pulumi.String(\"https://tempurl.org\"),\n\t\t\t\t\tMethod: pulumi.String(\"POST\"),\n\t\t\t\t\tSecrets: pulumi.StringMap{\n\t\t\t\t\t\t\"secretName1\": pulumi.String(\"value1\"),\n\t\t\t\t\t\t\"secretName2\": pulumi.String(\"value2\"),\n\t\t\t\t\t},\n\t\t\t\t\tHttpHeaders: pulumi.StringMap{\n\t\t\t\t\t\t\"headerName1\": pulumi.String(\"value1\"),\n\t\t\t\t\t\t\"headerName2\": pulumi.String(\"value2\"),\n\t\t\t\t\t},\n\t\t\t\t\tPayload: pulumi.String(\"{ \\\"ref\\\": \\\"main\\\" , \\\"inputs\\\": { \\\"artifact_path\\\": \\\"test-repo/repo-path\\\" } }\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_artifactoryreleasebundlecustomwebhook\" \"artifactory-release-bundle-custom-webhook\" {\n  key         = \"artifactory-release-bundle-custom-webhook\"\n  event_types = [\"received\", \"delete_started\", \"delete_completed\", \"delete_failed\"]\n  criteria = {\n    any_release_bundle              = false\n    registered_release_bundle_names = [\"bundle-name\"]\n    include_patterns                = [\"foo/**\"]\n    exclude_patterns                = [\"bar/**\"]\n  }\n  handlers {\n    url    = \"https://tempurl.org\"\n    method = \"POST\"\n    secrets = {\n      \"secretName1\" = \"value1\"\n      \"secretName2\" = \"value2\"\n    }\n    http_headers = {\n      \"headerName1\" = \"value1\"\n      \"headerName2\" = \"value2\"\n    }\n    payload = \"{ \\\"ref\\\": \\\"main\\\" , \\\"inputs\\\": { \\\"artifact_path\\\": \\\"test-repo/repo-path\\\" } }\"\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.ArtifactoryReleaseBundleCustomWebhook;\nimport com.pulumi.artifactory.ArtifactoryReleaseBundleCustomWebhookArgs;\nimport com.pulumi.artifactory.inputs.ArtifactoryReleaseBundleCustomWebhookCriteriaArgs;\nimport com.pulumi.artifactory.inputs.ArtifactoryReleaseBundleCustomWebhookHandlerArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 artifactory_release_bundle_custom_webhook = new ArtifactoryReleaseBundleCustomWebhook(\"artifactory-release-bundle-custom-webhook\", ArtifactoryReleaseBundleCustomWebhookArgs.builder()\n            .key(\"artifactory-release-bundle-custom-webhook\")\n            .eventTypes(            \n                \"received\",\n                \"delete_started\",\n                \"delete_completed\",\n                \"delete_failed\")\n            .criteria(ArtifactoryReleaseBundleCustomWebhookCriteriaArgs.builder()\n                .anyReleaseBundle(false)\n                .registeredReleaseBundleNames(\"bundle-name\")\n                .includePatterns(\"foo/**\")\n                .excludePatterns(\"bar/**\")\n                .build())\n            .handlers(ArtifactoryReleaseBundleCustomWebhookHandlerArgs.builder()\n                .url(\"https://tempurl.org\")\n                .method(\"POST\")\n                .secrets(Map.ofEntries(\n                    Map.entry(\"secretName1\", \"value1\"),\n                    Map.entry(\"secretName2\", \"value2\")\n                ))\n                .httpHeaders(Map.ofEntries(\n                    Map.entry(\"headerName1\", \"value1\"),\n                    Map.entry(\"headerName2\", \"value2\")\n                ))\n                .payload(\"{ \\\"ref\\\": \\\"main\\\" , \\\"inputs\\\": { \\\"artifact_path\\\": \\\"test-repo/repo-path\\\" } }\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  artifactory-release-bundle-custom-webhook:\n    type: artifactory:ArtifactoryReleaseBundleCustomWebhook\n    properties:\n      key: artifactory-release-bundle-custom-webhook\n      eventTypes:\n        - received\n        - delete_started\n        - delete_completed\n        - delete_failed\n      criteria:\n        anyReleaseBundle: false\n        registeredReleaseBundleNames:\n          - bundle-name\n        includePatterns:\n          - foo/**\n        excludePatterns:\n          - bar/**\n      handlers:\n        - url: https://tempurl.org\n          method: POST\n          secrets:\n            secretName1: value1\n            secretName2: value2\n          httpHeaders:\n            headerName1: value1\n            headerName2: value2\n          payload: '{ \"ref\": \"main\" , \"inputs\": { \"artifact_path\": \"test-repo/repo-path\" } }'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "properties": {
                "criteria": {
                    "$ref": "#/types/artifactory:index/ArtifactoryReleaseBundleCustomWebhookCriteria:ArtifactoryReleaseBundleCustomWebhookCriteria",
                    "description": "Specifies where the webhook will be applied on which repositories.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Webhook description. Max length 1000 characters.\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Status of webhook. Default to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e\n"
                },
                "eventTypes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of Events in Artifactory, Distribution, Release Bundle that function as the event trigger for the Webhook. Allow values: \u003cspan pulumi-lang-nodejs=\"`received`\" pulumi-lang-dotnet=\"`Received`\" pulumi-lang-go=\"`received`\" pulumi-lang-python=\"`received`\" pulumi-lang-yaml=\"`received`\" pulumi-lang-java=\"`received`\" pulumi-lang-hcl=\"`received`\"\u003e`received`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleteStarted`\" pulumi-lang-dotnet=\"`DeleteStarted`\" pulumi-lang-go=\"`deleteStarted`\" pulumi-lang-python=\"`delete_started`\" pulumi-lang-yaml=\"`deleteStarted`\" pulumi-lang-java=\"`deleteStarted`\" pulumi-lang-hcl=\"`delete_started`\"\u003e`deleteStarted`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleteCompleted`\" pulumi-lang-dotnet=\"`DeleteCompleted`\" pulumi-lang-go=\"`deleteCompleted`\" pulumi-lang-python=\"`delete_completed`\" pulumi-lang-yaml=\"`deleteCompleted`\" pulumi-lang-java=\"`deleteCompleted`\" pulumi-lang-hcl=\"`delete_completed`\"\u003e`deleteCompleted`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleteFailed`\" pulumi-lang-dotnet=\"`DeleteFailed`\" pulumi-lang-go=\"`deleteFailed`\" pulumi-lang-python=\"`delete_failed`\" pulumi-lang-yaml=\"`deleteFailed`\" pulumi-lang-java=\"`deleteFailed`\" pulumi-lang-hcl=\"`delete_failed`\"\u003e`deleteFailed`\u003c/span\u003e\n"
                },
                "handlers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/ArtifactoryReleaseBundleCustomWebhookHandler:ArtifactoryReleaseBundleCustomWebhookHandler"
                    },
                    "description": "At least one is required.\n"
                },
                "key": {
                    "type": "string",
                    "description": "The identity key of the webhook. Must be between 2 and 200 characters. Cannot contain spaces.\n"
                }
            },
            "required": [
                "criteria",
                "enabled",
                "eventTypes",
                "handlers",
                "key"
            ],
            "inputProperties": {
                "criteria": {
                    "$ref": "#/types/artifactory:index/ArtifactoryReleaseBundleCustomWebhookCriteria:ArtifactoryReleaseBundleCustomWebhookCriteria",
                    "description": "Specifies where the webhook will be applied on which repositories.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Webhook description. Max length 1000 characters.\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Status of webhook. Default to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e\n"
                },
                "eventTypes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of Events in Artifactory, Distribution, Release Bundle that function as the event trigger for the Webhook. Allow values: \u003cspan pulumi-lang-nodejs=\"`received`\" pulumi-lang-dotnet=\"`Received`\" pulumi-lang-go=\"`received`\" pulumi-lang-python=\"`received`\" pulumi-lang-yaml=\"`received`\" pulumi-lang-java=\"`received`\" pulumi-lang-hcl=\"`received`\"\u003e`received`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleteStarted`\" pulumi-lang-dotnet=\"`DeleteStarted`\" pulumi-lang-go=\"`deleteStarted`\" pulumi-lang-python=\"`delete_started`\" pulumi-lang-yaml=\"`deleteStarted`\" pulumi-lang-java=\"`deleteStarted`\" pulumi-lang-hcl=\"`delete_started`\"\u003e`deleteStarted`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleteCompleted`\" pulumi-lang-dotnet=\"`DeleteCompleted`\" pulumi-lang-go=\"`deleteCompleted`\" pulumi-lang-python=\"`delete_completed`\" pulumi-lang-yaml=\"`deleteCompleted`\" pulumi-lang-java=\"`deleteCompleted`\" pulumi-lang-hcl=\"`delete_completed`\"\u003e`deleteCompleted`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleteFailed`\" pulumi-lang-dotnet=\"`DeleteFailed`\" pulumi-lang-go=\"`deleteFailed`\" pulumi-lang-python=\"`delete_failed`\" pulumi-lang-yaml=\"`deleteFailed`\" pulumi-lang-java=\"`deleteFailed`\" pulumi-lang-hcl=\"`delete_failed`\"\u003e`deleteFailed`\u003c/span\u003e\n"
                },
                "handlers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/ArtifactoryReleaseBundleCustomWebhookHandler:ArtifactoryReleaseBundleCustomWebhookHandler"
                    },
                    "description": "At least one is required.\n"
                },
                "key": {
                    "type": "string",
                    "description": "The identity key of the webhook. Must be between 2 and 200 characters. Cannot contain spaces.\n"
                }
            },
            "requiredInputs": [
                "criteria",
                "eventTypes",
                "handlers",
                "key"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering ArtifactoryReleaseBundleCustomWebhook resources.\n",
                "properties": {
                    "criteria": {
                        "$ref": "#/types/artifactory:index/ArtifactoryReleaseBundleCustomWebhookCriteria:ArtifactoryReleaseBundleCustomWebhookCriteria",
                        "description": "Specifies where the webhook will be applied on which repositories.\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Webhook description. Max length 1000 characters.\n"
                    },
                    "enabled": {
                        "type": "boolean",
                        "description": "Status of webhook. Default to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e\n"
                    },
                    "eventTypes": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of Events in Artifactory, Distribution, Release Bundle that function as the event trigger for the Webhook. Allow values: \u003cspan pulumi-lang-nodejs=\"`received`\" pulumi-lang-dotnet=\"`Received`\" pulumi-lang-go=\"`received`\" pulumi-lang-python=\"`received`\" pulumi-lang-yaml=\"`received`\" pulumi-lang-java=\"`received`\" pulumi-lang-hcl=\"`received`\"\u003e`received`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleteStarted`\" pulumi-lang-dotnet=\"`DeleteStarted`\" pulumi-lang-go=\"`deleteStarted`\" pulumi-lang-python=\"`delete_started`\" pulumi-lang-yaml=\"`deleteStarted`\" pulumi-lang-java=\"`deleteStarted`\" pulumi-lang-hcl=\"`delete_started`\"\u003e`deleteStarted`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleteCompleted`\" pulumi-lang-dotnet=\"`DeleteCompleted`\" pulumi-lang-go=\"`deleteCompleted`\" pulumi-lang-python=\"`delete_completed`\" pulumi-lang-yaml=\"`deleteCompleted`\" pulumi-lang-java=\"`deleteCompleted`\" pulumi-lang-hcl=\"`delete_completed`\"\u003e`deleteCompleted`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleteFailed`\" pulumi-lang-dotnet=\"`DeleteFailed`\" pulumi-lang-go=\"`deleteFailed`\" pulumi-lang-python=\"`delete_failed`\" pulumi-lang-yaml=\"`deleteFailed`\" pulumi-lang-java=\"`deleteFailed`\" pulumi-lang-hcl=\"`delete_failed`\"\u003e`deleteFailed`\u003c/span\u003e\n"
                    },
                    "handlers": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/artifactory:index/ArtifactoryReleaseBundleCustomWebhookHandler:ArtifactoryReleaseBundleCustomWebhookHandler"
                        },
                        "description": "At least one is required.\n"
                    },
                    "key": {
                        "type": "string",
                        "description": "The identity key of the webhook. Must be between 2 and 200 characters. Cannot contain spaces.\n"
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/artifactoryReleaseBundleWebhook:ArtifactoryReleaseBundleWebhook": {
            "description": "Provides an Artifactory webhook resource. This can be used to register and manage Artifactory webhook subscription which enables you to be notified or notify other users when such events take place in Artifactory.\n\n~\u003eThis resource is being deprecated. Use \u003cspan pulumi-lang-nodejs=\"`artifactory.DestinationWebhook`\" pulumi-lang-dotnet=\"`artifactory.DestinationWebhook`\" pulumi-lang-go=\"`DestinationWebhook`\" pulumi-lang-python=\"`DestinationWebhook`\" pulumi-lang-yaml=\"`artifactory.DestinationWebhook`\" pulumi-lang-java=\"`artifactory.DestinationWebhook`\" pulumi-lang-hcl=\"`artifactory_destination_webhook`\"\u003e`artifactory.DestinationWebhook`\u003c/span\u003e instead.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst artifactory_release_bundle_webhook = new artifactory.ArtifactoryReleaseBundleWebhook(\"artifactory-release-bundle-webhook\", {\n    key: \"artifactory-release-bundle-webhook\",\n    eventTypes: [\n        \"received\",\n        \"delete_started\",\n        \"delete_completed\",\n        \"delete_failed\",\n    ],\n    criteria: {\n        anyReleaseBundle: false,\n        registeredReleaseBundleNames: [\"bundle-name\"],\n        includePatterns: [\"foo/**\"],\n        excludePatterns: [\"bar/**\"],\n    },\n    handlers: [{\n        url: \"http://tempurl.org/webhook\",\n        secret: \"some-secret\",\n        proxy: \"proxy-key\",\n        customHttpHeaders: {\n            \"header-1\": \"value-1\",\n            \"header-2\": \"value-2\",\n        },\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nartifactory_release_bundle_webhook = artifactory.ArtifactoryReleaseBundleWebhook(\"artifactory-release-bundle-webhook\",\n    key=\"artifactory-release-bundle-webhook\",\n    event_types=[\n        \"received\",\n        \"delete_started\",\n        \"delete_completed\",\n        \"delete_failed\",\n    ],\n    criteria={\n        \"any_release_bundle\": False,\n        \"registered_release_bundle_names\": [\"bundle-name\"],\n        \"include_patterns\": [\"foo/**\"],\n        \"exclude_patterns\": [\"bar/**\"],\n    },\n    handlers=[{\n        \"url\": \"http://tempurl.org/webhook\",\n        \"secret\": \"some-secret\",\n        \"proxy\": \"proxy-key\",\n        \"custom_http_headers\": {\n            \"header-1\": \"value-1\",\n            \"header-2\": \"value-2\",\n        },\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var artifactory_release_bundle_webhook = new Artifactory.ArtifactoryReleaseBundleWebhook(\"artifactory-release-bundle-webhook\", new()\n    {\n        Key = \"artifactory-release-bundle-webhook\",\n        EventTypes = new[]\n        {\n            \"received\",\n            \"delete_started\",\n            \"delete_completed\",\n            \"delete_failed\",\n        },\n        Criteria = new Artifactory.Inputs.ArtifactoryReleaseBundleWebhookCriteriaArgs\n        {\n            AnyReleaseBundle = false,\n            RegisteredReleaseBundleNames = new[]\n            {\n                \"bundle-name\",\n            },\n            IncludePatterns = new[]\n            {\n                \"foo/**\",\n            },\n            ExcludePatterns = new[]\n            {\n                \"bar/**\",\n            },\n        },\n        Handlers = new[]\n        {\n            new Artifactory.Inputs.ArtifactoryReleaseBundleWebhookHandlerArgs\n            {\n                Url = \"http://tempurl.org/webhook\",\n                Secret = \"some-secret\",\n                Proxy = \"proxy-key\",\n                CustomHttpHeaders = \n                {\n                    { \"header-1\", \"value-1\" },\n                    { \"header-2\", \"value-2\" },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewArtifactoryReleaseBundleWebhook(ctx, \"artifactory-release-bundle-webhook\", \u0026artifactory.ArtifactoryReleaseBundleWebhookArgs{\n\t\t\tKey: pulumi.String(\"artifactory-release-bundle-webhook\"),\n\t\t\tEventTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"received\"),\n\t\t\t\tpulumi.String(\"delete_started\"),\n\t\t\t\tpulumi.String(\"delete_completed\"),\n\t\t\t\tpulumi.String(\"delete_failed\"),\n\t\t\t},\n\t\t\tCriteria: \u0026artifactory.ArtifactoryReleaseBundleWebhookCriteriaArgs{\n\t\t\t\tAnyReleaseBundle: pulumi.Bool(false),\n\t\t\t\tRegisteredReleaseBundleNames: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"bundle-name\"),\n\t\t\t\t},\n\t\t\t\tIncludePatterns: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"foo/**\"),\n\t\t\t\t},\n\t\t\t\tExcludePatterns: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"bar/**\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tHandlers: artifactory.ArtifactoryReleaseBundleWebhookHandlerArray{\n\t\t\t\t\u0026artifactory.ArtifactoryReleaseBundleWebhookHandlerArgs{\n\t\t\t\t\tUrl:    pulumi.String(\"http://tempurl.org/webhook\"),\n\t\t\t\t\tSecret: pulumi.String(\"some-secret\"),\n\t\t\t\t\tProxy:  pulumi.String(\"proxy-key\"),\n\t\t\t\t\tCustomHttpHeaders: pulumi.StringMap{\n\t\t\t\t\t\t\"header-1\": pulumi.String(\"value-1\"),\n\t\t\t\t\t\t\"header-2\": pulumi.String(\"value-2\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_artifactoryreleasebundlewebhook\" \"artifactory-release-bundle-webhook\" {\n  key         = \"artifactory-release-bundle-webhook\"\n  event_types = [\"received\", \"delete_started\", \"delete_completed\", \"delete_failed\"]\n  criteria = {\n    any_release_bundle              = false\n    registered_release_bundle_names = [\"bundle-name\"]\n    include_patterns                = [\"foo/**\"]\n    exclude_patterns                = [\"bar/**\"]\n  }\n  handlers {\n    url    = \"http://tempurl.org/webhook\"\n    secret = \"some-secret\"\n    proxy  = \"proxy-key\"\n    custom_http_headers = {\n      \"header-1\" = \"value-1\"\n      \"header-2\" = \"value-2\"\n    }\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.ArtifactoryReleaseBundleWebhook;\nimport com.pulumi.artifactory.ArtifactoryReleaseBundleWebhookArgs;\nimport com.pulumi.artifactory.inputs.ArtifactoryReleaseBundleWebhookCriteriaArgs;\nimport com.pulumi.artifactory.inputs.ArtifactoryReleaseBundleWebhookHandlerArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 artifactory_release_bundle_webhook = new ArtifactoryReleaseBundleWebhook(\"artifactory-release-bundle-webhook\", ArtifactoryReleaseBundleWebhookArgs.builder()\n            .key(\"artifactory-release-bundle-webhook\")\n            .eventTypes(            \n                \"received\",\n                \"delete_started\",\n                \"delete_completed\",\n                \"delete_failed\")\n            .criteria(ArtifactoryReleaseBundleWebhookCriteriaArgs.builder()\n                .anyReleaseBundle(false)\n                .registeredReleaseBundleNames(\"bundle-name\")\n                .includePatterns(\"foo/**\")\n                .excludePatterns(\"bar/**\")\n                .build())\n            .handlers(ArtifactoryReleaseBundleWebhookHandlerArgs.builder()\n                .url(\"http://tempurl.org/webhook\")\n                .secret(\"some-secret\")\n                .proxy(\"proxy-key\")\n                .customHttpHeaders(Map.ofEntries(\n                    Map.entry(\"header-1\", \"value-1\"),\n                    Map.entry(\"header-2\", \"value-2\")\n                ))\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  artifactory-release-bundle-webhook:\n    type: artifactory:ArtifactoryReleaseBundleWebhook\n    properties:\n      key: artifactory-release-bundle-webhook\n      eventTypes:\n        - received\n        - delete_started\n        - delete_completed\n        - delete_failed\n      criteria:\n        anyReleaseBundle: false\n        registeredReleaseBundleNames:\n          - bundle-name\n        includePatterns:\n          - foo/**\n        excludePatterns:\n          - bar/**\n      handlers:\n        - url: http://tempurl.org/webhook\n          secret: some-secret\n          proxy: proxy-key\n          customHttpHeaders:\n            header-1: value-1\n            header-2: value-2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "properties": {
                "criteria": {
                    "$ref": "#/types/artifactory:index/ArtifactoryReleaseBundleWebhookCriteria:ArtifactoryReleaseBundleWebhookCriteria",
                    "description": "Specifies where the webhook will be applied on which repositories.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Webhook description. Max length 1000 characters.\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Status of webhook. Default to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e\n"
                },
                "eventTypes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of Events in Artifactory, Distribution, Release Bundle that function as the event trigger for the Webhook. Allow values: \u003cspan pulumi-lang-nodejs=\"`received`\" pulumi-lang-dotnet=\"`Received`\" pulumi-lang-go=\"`received`\" pulumi-lang-python=\"`received`\" pulumi-lang-yaml=\"`received`\" pulumi-lang-java=\"`received`\" pulumi-lang-hcl=\"`received`\"\u003e`received`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleteStarted`\" pulumi-lang-dotnet=\"`DeleteStarted`\" pulumi-lang-go=\"`deleteStarted`\" pulumi-lang-python=\"`delete_started`\" pulumi-lang-yaml=\"`deleteStarted`\" pulumi-lang-java=\"`deleteStarted`\" pulumi-lang-hcl=\"`delete_started`\"\u003e`deleteStarted`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleteCompleted`\" pulumi-lang-dotnet=\"`DeleteCompleted`\" pulumi-lang-go=\"`deleteCompleted`\" pulumi-lang-python=\"`delete_completed`\" pulumi-lang-yaml=\"`deleteCompleted`\" pulumi-lang-java=\"`deleteCompleted`\" pulumi-lang-hcl=\"`delete_completed`\"\u003e`deleteCompleted`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleteFailed`\" pulumi-lang-dotnet=\"`DeleteFailed`\" pulumi-lang-go=\"`deleteFailed`\" pulumi-lang-python=\"`delete_failed`\" pulumi-lang-yaml=\"`deleteFailed`\" pulumi-lang-java=\"`deleteFailed`\" pulumi-lang-hcl=\"`delete_failed`\"\u003e`deleteFailed`\u003c/span\u003e\n"
                },
                "handlers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/ArtifactoryReleaseBundleWebhookHandler:ArtifactoryReleaseBundleWebhookHandler"
                    },
                    "description": "At least one is required.\n"
                },
                "key": {
                    "type": "string",
                    "description": "The identity key of the webhook. Must be between 2 and 200 characters. Cannot contain spaces.\n"
                }
            },
            "required": [
                "criteria",
                "enabled",
                "eventTypes",
                "handlers",
                "key"
            ],
            "inputProperties": {
                "criteria": {
                    "$ref": "#/types/artifactory:index/ArtifactoryReleaseBundleWebhookCriteria:ArtifactoryReleaseBundleWebhookCriteria",
                    "description": "Specifies where the webhook will be applied on which repositories.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Webhook description. Max length 1000 characters.\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Status of webhook. Default to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e\n"
                },
                "eventTypes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of Events in Artifactory, Distribution, Release Bundle that function as the event trigger for the Webhook. Allow values: \u003cspan pulumi-lang-nodejs=\"`received`\" pulumi-lang-dotnet=\"`Received`\" pulumi-lang-go=\"`received`\" pulumi-lang-python=\"`received`\" pulumi-lang-yaml=\"`received`\" pulumi-lang-java=\"`received`\" pulumi-lang-hcl=\"`received`\"\u003e`received`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleteStarted`\" pulumi-lang-dotnet=\"`DeleteStarted`\" pulumi-lang-go=\"`deleteStarted`\" pulumi-lang-python=\"`delete_started`\" pulumi-lang-yaml=\"`deleteStarted`\" pulumi-lang-java=\"`deleteStarted`\" pulumi-lang-hcl=\"`delete_started`\"\u003e`deleteStarted`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleteCompleted`\" pulumi-lang-dotnet=\"`DeleteCompleted`\" pulumi-lang-go=\"`deleteCompleted`\" pulumi-lang-python=\"`delete_completed`\" pulumi-lang-yaml=\"`deleteCompleted`\" pulumi-lang-java=\"`deleteCompleted`\" pulumi-lang-hcl=\"`delete_completed`\"\u003e`deleteCompleted`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleteFailed`\" pulumi-lang-dotnet=\"`DeleteFailed`\" pulumi-lang-go=\"`deleteFailed`\" pulumi-lang-python=\"`delete_failed`\" pulumi-lang-yaml=\"`deleteFailed`\" pulumi-lang-java=\"`deleteFailed`\" pulumi-lang-hcl=\"`delete_failed`\"\u003e`deleteFailed`\u003c/span\u003e\n"
                },
                "handlers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/ArtifactoryReleaseBundleWebhookHandler:ArtifactoryReleaseBundleWebhookHandler"
                    },
                    "description": "At least one is required.\n"
                },
                "key": {
                    "type": "string",
                    "description": "The identity key of the webhook. Must be between 2 and 200 characters. Cannot contain spaces.\n"
                }
            },
            "requiredInputs": [
                "criteria",
                "eventTypes",
                "handlers",
                "key"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering ArtifactoryReleaseBundleWebhook resources.\n",
                "properties": {
                    "criteria": {
                        "$ref": "#/types/artifactory:index/ArtifactoryReleaseBundleWebhookCriteria:ArtifactoryReleaseBundleWebhookCriteria",
                        "description": "Specifies where the webhook will be applied on which repositories.\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Webhook description. Max length 1000 characters.\n"
                    },
                    "enabled": {
                        "type": "boolean",
                        "description": "Status of webhook. Default to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e\n"
                    },
                    "eventTypes": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of Events in Artifactory, Distribution, Release Bundle that function as the event trigger for the Webhook. Allow values: \u003cspan pulumi-lang-nodejs=\"`received`\" pulumi-lang-dotnet=\"`Received`\" pulumi-lang-go=\"`received`\" pulumi-lang-python=\"`received`\" pulumi-lang-yaml=\"`received`\" pulumi-lang-java=\"`received`\" pulumi-lang-hcl=\"`received`\"\u003e`received`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleteStarted`\" pulumi-lang-dotnet=\"`DeleteStarted`\" pulumi-lang-go=\"`deleteStarted`\" pulumi-lang-python=\"`delete_started`\" pulumi-lang-yaml=\"`deleteStarted`\" pulumi-lang-java=\"`deleteStarted`\" pulumi-lang-hcl=\"`delete_started`\"\u003e`deleteStarted`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleteCompleted`\" pulumi-lang-dotnet=\"`DeleteCompleted`\" pulumi-lang-go=\"`deleteCompleted`\" pulumi-lang-python=\"`delete_completed`\" pulumi-lang-yaml=\"`deleteCompleted`\" pulumi-lang-java=\"`deleteCompleted`\" pulumi-lang-hcl=\"`delete_completed`\"\u003e`deleteCompleted`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleteFailed`\" pulumi-lang-dotnet=\"`DeleteFailed`\" pulumi-lang-go=\"`deleteFailed`\" pulumi-lang-python=\"`delete_failed`\" pulumi-lang-yaml=\"`deleteFailed`\" pulumi-lang-java=\"`deleteFailed`\" pulumi-lang-hcl=\"`delete_failed`\"\u003e`deleteFailed`\u003c/span\u003e\n"
                    },
                    "handlers": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/artifactory:index/ArtifactoryReleaseBundleWebhookHandler:ArtifactoryReleaseBundleWebhookHandler"
                        },
                        "description": "At least one is required.\n"
                    },
                    "key": {
                        "type": "string",
                        "description": "The identity key of the webhook. Must be between 2 and 200 characters. Cannot contain spaces.\n"
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/backup:Backup": {
            "description": "This resource can be used to manage the automatic and periodic backups of the entire Artifactory instance.\n\nWhen an \u003cspan pulumi-lang-nodejs=\"`artifactory.Backup`\" pulumi-lang-dotnet=\"`artifactory.Backup`\" pulumi-lang-go=\"`Backup`\" pulumi-lang-python=\"`Backup`\" pulumi-lang-yaml=\"`artifactory.Backup`\" pulumi-lang-java=\"`artifactory.Backup`\" pulumi-lang-hcl=\"`artifactory_backup`\"\u003e`artifactory.Backup`\u003c/span\u003e resource is configured and enabled to true, backup of the entire Artifactory system will be done automatically and periodically.\n\nThe backup process creates a time-stamped directory in the target backup directory.\n\nSee [JFrog Artifactory Backup](https://www.jfrog.com/confluence/display/JFROG/Backups) for more details.\n\n~\u003eOnly supported in self-hosted environment.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst backupConfigName = new artifactory.Backup(\"backup_config_name\", {\n    key: \"backup_config_name\",\n    enabled: true,\n    cronExp: \"0 0 12 * * ? *\",\n    retentionPeriodHours: 1000,\n    excludedRepositories: [\"my-docker-local\"],\n    createArchive: false,\n    excludeNewRepositories: true,\n    sendMailOnError: true,\n    verifyDiskSpace: true,\n    exportMissionControl: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nbackup_config_name = artifactory.Backup(\"backup_config_name\",\n    key=\"backup_config_name\",\n    enabled=True,\n    cron_exp=\"0 0 12 * * ? *\",\n    retention_period_hours=1000,\n    excluded_repositories=[\"my-docker-local\"],\n    create_archive=False,\n    exclude_new_repositories=True,\n    send_mail_on_error=True,\n    verify_disk_space=True,\n    export_mission_control=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var backupConfigName = new Artifactory.Backup(\"backup_config_name\", new()\n    {\n        Key = \"backup_config_name\",\n        Enabled = true,\n        CronExp = \"0 0 12 * * ? *\",\n        RetentionPeriodHours = 1000,\n        ExcludedRepositories = new[]\n        {\n            \"my-docker-local\",\n        },\n        CreateArchive = false,\n        ExcludeNewRepositories = true,\n        SendMailOnError = true,\n        VerifyDiskSpace = true,\n        ExportMissionControl = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewBackup(ctx, \"backup_config_name\", \u0026artifactory.BackupArgs{\n\t\t\tKey:                  pulumi.String(\"backup_config_name\"),\n\t\t\tEnabled:              pulumi.Bool(true),\n\t\t\tCronExp:              pulumi.String(\"0 0 12 * * ? *\"),\n\t\t\tRetentionPeriodHours: pulumi.Int(1000),\n\t\t\tExcludedRepositories: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"my-docker-local\"),\n\t\t\t},\n\t\t\tCreateArchive:          pulumi.Bool(false),\n\t\t\tExcludeNewRepositories: pulumi.Bool(true),\n\t\t\tSendMailOnError:        pulumi.Bool(true),\n\t\t\tVerifyDiskSpace:        pulumi.Bool(true),\n\t\t\tExportMissionControl:   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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_backup\" \"backup_config_name\" {\n  key                      = \"backup_config_name\"\n  enabled                  = true\n  cron_exp                 = \"0 0 12 * * ? *\"\n  retention_period_hours   = 1000\n  excluded_repositories    = [\"my-docker-local\"]\n  create_archive           = false\n  exclude_new_repositories = true\n  send_mail_on_error       = true\n  verify_disk_space        = true\n  export_mission_control   = true\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.Backup;\nimport com.pulumi.artifactory.BackupArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 backupConfigName = new Backup(\"backupConfigName\", BackupArgs.builder()\n            .key(\"backup_config_name\")\n            .enabled(true)\n            .cronExp(\"0 0 12 * * ? *\")\n            .retentionPeriodHours(1000)\n            .excludedRepositories(\"my-docker-local\")\n            .createArchive(false)\n            .excludeNewRepositories(true)\n            .sendMailOnError(true)\n            .verifyDiskSpace(true)\n            .exportMissionControl(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  backupConfigName:\n    type: artifactory:Backup\n    name: backup_config_name\n    properties:\n      key: backup_config_name\n      enabled: true\n      cronExp: 0 0 12 * * ? *\n      retentionPeriodHours: 1000\n      excludedRepositories:\n        - my-docker-local\n      createArchive: false\n      excludeNewRepositories: true\n      sendMailOnError: true\n      verifyDiskSpace: true\n      exportMissionControl: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import artifactory:index/backup:Backup backup_name backup_name\n```\n\n",
            "properties": {
                "createArchive": {
                    "type": "boolean",
                    "description": "If set to true, backups will be created within a Zip archive (Slow and CPU intensive). Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e\n"
                },
                "cronExp": {
                    "type": "string",
                    "description": "A valid CRON expression that you can use to control backup frequency. Eg: `0 0 12 * * ? *`, `0 0 2 ? * MON-SAT *`. **Note:** please use 7 character format - Seconds, Minutes Hours, Day Of Month, Month, Day Of Week, Year. Also, specifying both a day-of-week AND a day-of-month parameter is not supported. One of them should be replaced by `?`. Incorrect: `* 5,7,9 14/2 * * WED,SAT *`, correct: `* 5,7,9 14/2 ? * WED,SAT *`. See details in [Cron Trigger Tutorial](http://www.quartz-scheduler.org/documentation/quartz-2.3.0/tutorials/crontrigger.html) and in [Cronexp package readme](https://github.com/gorhill/cronexpr#other-details).\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Flag to enable or disable the backup config. Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                },
                "excludeNewRepositories": {
                    "type": "boolean",
                    "description": "When set to true, new repositories will not be automatically added to the backup. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                },
                "excludedRepositories": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of excluded repositories from the backup.\n"
                },
                "exportMissionControl": {
                    "type": "boolean",
                    "description": "When set to true, mission control will not be automatically added to the backup. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                },
                "key": {
                    "type": "string"
                },
                "retentionPeriodHours": {
                    "type": "integer",
                    "description": "The number of hours to keep a backup before Artifactory will clean it up to free up disk space. Applicable only to non-incremental backups. Default value is 168 hours i.e. 7 days.\n"
                },
                "sendMailOnError": {
                    "type": "boolean",
                    "description": "If set to true, all Artifactory administrators will be notified by email if any problem is encountered during backup. Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                },
                "verifyDiskSpace": {
                    "type": "boolean",
                    "description": "If set, Artifactory will verify that the backup target location has enough disk space available to hold the backed up data. If there is not enough space available, Artifactory will abort the backup and write a message in the log file. Applicable only to non-incremental backups. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                }
            },
            "required": [
                "createArchive",
                "cronExp",
                "enabled",
                "excludeNewRepositories",
                "exportMissionControl",
                "key",
                "retentionPeriodHours",
                "sendMailOnError",
                "verifyDiskSpace"
            ],
            "inputProperties": {
                "createArchive": {
                    "type": "boolean",
                    "description": "If set to true, backups will be created within a Zip archive (Slow and CPU intensive). Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e\n"
                },
                "cronExp": {
                    "type": "string",
                    "description": "A valid CRON expression that you can use to control backup frequency. Eg: `0 0 12 * * ? *`, `0 0 2 ? * MON-SAT *`. **Note:** please use 7 character format - Seconds, Minutes Hours, Day Of Month, Month, Day Of Week, Year. Also, specifying both a day-of-week AND a day-of-month parameter is not supported. One of them should be replaced by `?`. Incorrect: `* 5,7,9 14/2 * * WED,SAT *`, correct: `* 5,7,9 14/2 ? * WED,SAT *`. See details in [Cron Trigger Tutorial](http://www.quartz-scheduler.org/documentation/quartz-2.3.0/tutorials/crontrigger.html) and in [Cronexp package readme](https://github.com/gorhill/cronexpr#other-details).\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Flag to enable or disable the backup config. Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                },
                "excludeNewRepositories": {
                    "type": "boolean",
                    "description": "When set to true, new repositories will not be automatically added to the backup. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                },
                "excludedRepositories": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of excluded repositories from the backup.\n"
                },
                "exportMissionControl": {
                    "type": "boolean",
                    "description": "When set to true, mission control will not be automatically added to the backup. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                },
                "key": {
                    "type": "string"
                },
                "retentionPeriodHours": {
                    "type": "integer",
                    "description": "The number of hours to keep a backup before Artifactory will clean it up to free up disk space. Applicable only to non-incremental backups. Default value is 168 hours i.e. 7 days.\n"
                },
                "sendMailOnError": {
                    "type": "boolean",
                    "description": "If set to true, all Artifactory administrators will be notified by email if any problem is encountered during backup. Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                },
                "verifyDiskSpace": {
                    "type": "boolean",
                    "description": "If set, Artifactory will verify that the backup target location has enough disk space available to hold the backed up data. If there is not enough space available, Artifactory will abort the backup and write a message in the log file. Applicable only to non-incremental backups. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                }
            },
            "requiredInputs": [
                "cronExp",
                "key"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering Backup resources.\n",
                "properties": {
                    "createArchive": {
                        "type": "boolean",
                        "description": "If set to true, backups will be created within a Zip archive (Slow and CPU intensive). Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e\n"
                    },
                    "cronExp": {
                        "type": "string",
                        "description": "A valid CRON expression that you can use to control backup frequency. Eg: `0 0 12 * * ? *`, `0 0 2 ? * MON-SAT *`. **Note:** please use 7 character format - Seconds, Minutes Hours, Day Of Month, Month, Day Of Week, Year. Also, specifying both a day-of-week AND a day-of-month parameter is not supported. One of them should be replaced by `?`. Incorrect: `* 5,7,9 14/2 * * WED,SAT *`, correct: `* 5,7,9 14/2 ? * WED,SAT *`. See details in [Cron Trigger Tutorial](http://www.quartz-scheduler.org/documentation/quartz-2.3.0/tutorials/crontrigger.html) and in [Cronexp package readme](https://github.com/gorhill/cronexpr#other-details).\n"
                    },
                    "enabled": {
                        "type": "boolean",
                        "description": "Flag to enable or disable the backup config. Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                    },
                    "excludeNewRepositories": {
                        "type": "boolean",
                        "description": "When set to true, new repositories will not be automatically added to the backup. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                    },
                    "excludedRepositories": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of excluded repositories from the backup.\n"
                    },
                    "exportMissionControl": {
                        "type": "boolean",
                        "description": "When set to true, mission control will not be automatically added to the backup. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                    },
                    "key": {
                        "type": "string"
                    },
                    "retentionPeriodHours": {
                        "type": "integer",
                        "description": "The number of hours to keep a backup before Artifactory will clean it up to free up disk space. Applicable only to non-incremental backups. Default value is 168 hours i.e. 7 days.\n"
                    },
                    "sendMailOnError": {
                        "type": "boolean",
                        "description": "If set to true, all Artifactory administrators will be notified by email if any problem is encountered during backup. Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                    },
                    "verifyDiskSpace": {
                        "type": "boolean",
                        "description": "If set, Artifactory will verify that the backup target location has enough disk space available to hold the backed up data. If there is not enough space available, Artifactory will abort the backup and write a message in the log file. Applicable only to non-incremental backups. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/buildCustomWebhook:BuildCustomWebhook": {
            "description": "Provides an Artifactory custom webhook resource. This can be used to register and manage Artifactory webhook subscription which enables you to be notified or notify other users when such events take place in Artifactory.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst build_custom_webhook = new artifactory.BuildCustomWebhook(\"build-custom-webhook\", {\n    key: \"build-custom-webhook\",\n    eventTypes: [\n        \"uploaded\",\n        \"deleted\",\n        \"promoted\",\n    ],\n    criteria: {\n        anyBuild: false,\n        selectedBuilds: [\"build-id\"],\n        includePatterns: [\"foo/**\"],\n        excludePatterns: [\"bar/**\"],\n    },\n    handlers: [{\n        url: \"https://tempurl.org\",\n        method: \"POST\",\n        secrets: {\n            secretName1: \"value1\",\n            secretName2: \"value2\",\n        },\n        httpHeaders: {\n            headerName1: \"value1\",\n            headerName2: \"value2\",\n        },\n        payload: \"{ \\\"ref\\\": \\\"main\\\" , \\\"inputs\\\": { \\\"artifact_path\\\": \\\"test-repo/repo-path\\\" } }\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nbuild_custom_webhook = artifactory.BuildCustomWebhook(\"build-custom-webhook\",\n    key=\"build-custom-webhook\",\n    event_types=[\n        \"uploaded\",\n        \"deleted\",\n        \"promoted\",\n    ],\n    criteria={\n        \"any_build\": False,\n        \"selected_builds\": [\"build-id\"],\n        \"include_patterns\": [\"foo/**\"],\n        \"exclude_patterns\": [\"bar/**\"],\n    },\n    handlers=[{\n        \"url\": \"https://tempurl.org\",\n        \"method\": \"POST\",\n        \"secrets\": {\n            \"secretName1\": \"value1\",\n            \"secretName2\": \"value2\",\n        },\n        \"http_headers\": {\n            \"headerName1\": \"value1\",\n            \"headerName2\": \"value2\",\n        },\n        \"payload\": \"{ \\\"ref\\\": \\\"main\\\" , \\\"inputs\\\": { \\\"artifact_path\\\": \\\"test-repo/repo-path\\\" } }\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var build_custom_webhook = new Artifactory.BuildCustomWebhook(\"build-custom-webhook\", new()\n    {\n        Key = \"build-custom-webhook\",\n        EventTypes = new[]\n        {\n            \"uploaded\",\n            \"deleted\",\n            \"promoted\",\n        },\n        Criteria = new Artifactory.Inputs.BuildCustomWebhookCriteriaArgs\n        {\n            AnyBuild = false,\n            SelectedBuilds = new[]\n            {\n                \"build-id\",\n            },\n            IncludePatterns = new[]\n            {\n                \"foo/**\",\n            },\n            ExcludePatterns = new[]\n            {\n                \"bar/**\",\n            },\n        },\n        Handlers = new[]\n        {\n            new Artifactory.Inputs.BuildCustomWebhookHandlerArgs\n            {\n                Url = \"https://tempurl.org\",\n                Method = \"POST\",\n                Secrets = \n                {\n                    { \"secretName1\", \"value1\" },\n                    { \"secretName2\", \"value2\" },\n                },\n                HttpHeaders = \n                {\n                    { \"headerName1\", \"value1\" },\n                    { \"headerName2\", \"value2\" },\n                },\n                Payload = \"{ \\\"ref\\\": \\\"main\\\" , \\\"inputs\\\": { \\\"artifact_path\\\": \\\"test-repo/repo-path\\\" } }\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewBuildCustomWebhook(ctx, \"build-custom-webhook\", \u0026artifactory.BuildCustomWebhookArgs{\n\t\t\tKey: pulumi.String(\"build-custom-webhook\"),\n\t\t\tEventTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"uploaded\"),\n\t\t\t\tpulumi.String(\"deleted\"),\n\t\t\t\tpulumi.String(\"promoted\"),\n\t\t\t},\n\t\t\tCriteria: \u0026artifactory.BuildCustomWebhookCriteriaArgs{\n\t\t\t\tAnyBuild: pulumi.Bool(false),\n\t\t\t\tSelectedBuilds: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"build-id\"),\n\t\t\t\t},\n\t\t\t\tIncludePatterns: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"foo/**\"),\n\t\t\t\t},\n\t\t\t\tExcludePatterns: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"bar/**\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tHandlers: artifactory.BuildCustomWebhookHandlerArray{\n\t\t\t\t\u0026artifactory.BuildCustomWebhookHandlerArgs{\n\t\t\t\t\tUrl:    pulumi.String(\"https://tempurl.org\"),\n\t\t\t\t\tMethod: pulumi.String(\"POST\"),\n\t\t\t\t\tSecrets: pulumi.StringMap{\n\t\t\t\t\t\t\"secretName1\": pulumi.String(\"value1\"),\n\t\t\t\t\t\t\"secretName2\": pulumi.String(\"value2\"),\n\t\t\t\t\t},\n\t\t\t\t\tHttpHeaders: pulumi.StringMap{\n\t\t\t\t\t\t\"headerName1\": pulumi.String(\"value1\"),\n\t\t\t\t\t\t\"headerName2\": pulumi.String(\"value2\"),\n\t\t\t\t\t},\n\t\t\t\t\tPayload: pulumi.String(\"{ \\\"ref\\\": \\\"main\\\" , \\\"inputs\\\": { \\\"artifact_path\\\": \\\"test-repo/repo-path\\\" } }\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_buildcustomwebhook\" \"build-custom-webhook\" {\n  key         = \"build-custom-webhook\"\n  event_types = [\"uploaded\", \"deleted\", \"promoted\"]\n  criteria = {\n    any_build        = false\n    selected_builds  = [\"build-id\"]\n    include_patterns = [\"foo/**\"]\n    exclude_patterns = [\"bar/**\"]\n  }\n  handlers {\n    url    = \"https://tempurl.org\"\n    method = \"POST\"\n    secrets = {\n      \"secretName1\" = \"value1\"\n      \"secretName2\" = \"value2\"\n    }\n    http_headers = {\n      \"headerName1\" = \"value1\"\n      \"headerName2\" = \"value2\"\n    }\n    payload = \"{ \\\"ref\\\": \\\"main\\\" , \\\"inputs\\\": { \\\"artifact_path\\\": \\\"test-repo/repo-path\\\" } }\"\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.BuildCustomWebhook;\nimport com.pulumi.artifactory.BuildCustomWebhookArgs;\nimport com.pulumi.artifactory.inputs.BuildCustomWebhookCriteriaArgs;\nimport com.pulumi.artifactory.inputs.BuildCustomWebhookHandlerArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 build_custom_webhook = new BuildCustomWebhook(\"build-custom-webhook\", BuildCustomWebhookArgs.builder()\n            .key(\"build-custom-webhook\")\n            .eventTypes(            \n                \"uploaded\",\n                \"deleted\",\n                \"promoted\")\n            .criteria(BuildCustomWebhookCriteriaArgs.builder()\n                .anyBuild(false)\n                .selectedBuilds(\"build-id\")\n                .includePatterns(\"foo/**\")\n                .excludePatterns(\"bar/**\")\n                .build())\n            .handlers(BuildCustomWebhookHandlerArgs.builder()\n                .url(\"https://tempurl.org\")\n                .method(\"POST\")\n                .secrets(Map.ofEntries(\n                    Map.entry(\"secretName1\", \"value1\"),\n                    Map.entry(\"secretName2\", \"value2\")\n                ))\n                .httpHeaders(Map.ofEntries(\n                    Map.entry(\"headerName1\", \"value1\"),\n                    Map.entry(\"headerName2\", \"value2\")\n                ))\n                .payload(\"{ \\\"ref\\\": \\\"main\\\" , \\\"inputs\\\": { \\\"artifact_path\\\": \\\"test-repo/repo-path\\\" } }\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  build-custom-webhook:\n    type: artifactory:BuildCustomWebhook\n    properties:\n      key: build-custom-webhook\n      eventTypes:\n        - uploaded\n        - deleted\n        - promoted\n      criteria:\n        anyBuild: false\n        selectedBuilds:\n          - build-id\n        includePatterns:\n          - foo/**\n        excludePatterns:\n          - bar/**\n      handlers:\n        - url: https://tempurl.org\n          method: POST\n          secrets:\n            secretName1: value1\n            secretName2: value2\n          httpHeaders:\n            headerName1: value1\n            headerName2: value2\n          payload: '{ \"ref\": \"main\" , \"inputs\": { \"artifact_path\": \"test-repo/repo-path\" } }'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "properties": {
                "criteria": {
                    "$ref": "#/types/artifactory:index/BuildCustomWebhookCriteria:BuildCustomWebhookCriteria",
                    "description": "Specifies where the webhook will be applied on which repositories.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Webhook description. Max length 1000 characters.\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Status of webhook. Default to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                },
                "eventTypes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of Events in Artifactory, Distribution, Release Bundle that function as the event trigger for the Webhook. Allow values: \u003cspan pulumi-lang-nodejs=\"`uploaded`\" pulumi-lang-dotnet=\"`Uploaded`\" pulumi-lang-go=\"`uploaded`\" pulumi-lang-python=\"`uploaded`\" pulumi-lang-yaml=\"`uploaded`\" pulumi-lang-java=\"`uploaded`\" pulumi-lang-hcl=\"`uploaded`\"\u003e`uploaded`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleted`\" pulumi-lang-dotnet=\"`Deleted`\" pulumi-lang-go=\"`deleted`\" pulumi-lang-python=\"`deleted`\" pulumi-lang-yaml=\"`deleted`\" pulumi-lang-java=\"`deleted`\" pulumi-lang-hcl=\"`deleted`\"\u003e`deleted`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`promoted`\" pulumi-lang-dotnet=\"`Promoted`\" pulumi-lang-go=\"`promoted`\" pulumi-lang-python=\"`promoted`\" pulumi-lang-yaml=\"`promoted`\" pulumi-lang-java=\"`promoted`\" pulumi-lang-hcl=\"`promoted`\"\u003e`promoted`\u003c/span\u003e.\n"
                },
                "handlers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/BuildCustomWebhookHandler:BuildCustomWebhookHandler"
                    },
                    "description": "At least one is required.\n"
                },
                "key": {
                    "type": "string",
                    "description": "The identity key of the webhook. Must be between 2 and 200 characters. Cannot contain spaces.\n"
                }
            },
            "required": [
                "criteria",
                "enabled",
                "eventTypes",
                "handlers",
                "key"
            ],
            "inputProperties": {
                "criteria": {
                    "$ref": "#/types/artifactory:index/BuildCustomWebhookCriteria:BuildCustomWebhookCriteria",
                    "description": "Specifies where the webhook will be applied on which repositories.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Webhook description. Max length 1000 characters.\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Status of webhook. Default to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                },
                "eventTypes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of Events in Artifactory, Distribution, Release Bundle that function as the event trigger for the Webhook. Allow values: \u003cspan pulumi-lang-nodejs=\"`uploaded`\" pulumi-lang-dotnet=\"`Uploaded`\" pulumi-lang-go=\"`uploaded`\" pulumi-lang-python=\"`uploaded`\" pulumi-lang-yaml=\"`uploaded`\" pulumi-lang-java=\"`uploaded`\" pulumi-lang-hcl=\"`uploaded`\"\u003e`uploaded`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleted`\" pulumi-lang-dotnet=\"`Deleted`\" pulumi-lang-go=\"`deleted`\" pulumi-lang-python=\"`deleted`\" pulumi-lang-yaml=\"`deleted`\" pulumi-lang-java=\"`deleted`\" pulumi-lang-hcl=\"`deleted`\"\u003e`deleted`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`promoted`\" pulumi-lang-dotnet=\"`Promoted`\" pulumi-lang-go=\"`promoted`\" pulumi-lang-python=\"`promoted`\" pulumi-lang-yaml=\"`promoted`\" pulumi-lang-java=\"`promoted`\" pulumi-lang-hcl=\"`promoted`\"\u003e`promoted`\u003c/span\u003e.\n"
                },
                "handlers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/BuildCustomWebhookHandler:BuildCustomWebhookHandler"
                    },
                    "description": "At least one is required.\n"
                },
                "key": {
                    "type": "string",
                    "description": "The identity key of the webhook. Must be between 2 and 200 characters. Cannot contain spaces.\n"
                }
            },
            "requiredInputs": [
                "criteria",
                "eventTypes",
                "handlers",
                "key"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering BuildCustomWebhook resources.\n",
                "properties": {
                    "criteria": {
                        "$ref": "#/types/artifactory:index/BuildCustomWebhookCriteria:BuildCustomWebhookCriteria",
                        "description": "Specifies where the webhook will be applied on which repositories.\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Webhook description. Max length 1000 characters.\n"
                    },
                    "enabled": {
                        "type": "boolean",
                        "description": "Status of webhook. Default to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                    },
                    "eventTypes": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of Events in Artifactory, Distribution, Release Bundle that function as the event trigger for the Webhook. Allow values: \u003cspan pulumi-lang-nodejs=\"`uploaded`\" pulumi-lang-dotnet=\"`Uploaded`\" pulumi-lang-go=\"`uploaded`\" pulumi-lang-python=\"`uploaded`\" pulumi-lang-yaml=\"`uploaded`\" pulumi-lang-java=\"`uploaded`\" pulumi-lang-hcl=\"`uploaded`\"\u003e`uploaded`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleted`\" pulumi-lang-dotnet=\"`Deleted`\" pulumi-lang-go=\"`deleted`\" pulumi-lang-python=\"`deleted`\" pulumi-lang-yaml=\"`deleted`\" pulumi-lang-java=\"`deleted`\" pulumi-lang-hcl=\"`deleted`\"\u003e`deleted`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`promoted`\" pulumi-lang-dotnet=\"`Promoted`\" pulumi-lang-go=\"`promoted`\" pulumi-lang-python=\"`promoted`\" pulumi-lang-yaml=\"`promoted`\" pulumi-lang-java=\"`promoted`\" pulumi-lang-hcl=\"`promoted`\"\u003e`promoted`\u003c/span\u003e.\n"
                    },
                    "handlers": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/artifactory:index/BuildCustomWebhookHandler:BuildCustomWebhookHandler"
                        },
                        "description": "At least one is required.\n"
                    },
                    "key": {
                        "type": "string",
                        "description": "The identity key of the webhook. Must be between 2 and 200 characters. Cannot contain spaces.\n"
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/buildWebhook:BuildWebhook": {
            "description": "Provides an Artifactory webhook resource. This can be used to register and manage Artifactory webhook subscription which enables you to be notified or notify other users when such events take place in Artifactory.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst build_webhook = new artifactory.BuildWebhook(\"build-webhook\", {\n    key: \"build-webhook\",\n    eventTypes: [\n        \"uploaded\",\n        \"deleted\",\n        \"promoted\",\n    ],\n    criteria: {\n        anyBuild: false,\n        selectedBuilds: [\"build-id\"],\n        includePatterns: [\"foo/**\"],\n        excludePatterns: [\"bar/**\"],\n    },\n    handlers: [{\n        url: \"http://tempurl.org/webhook\",\n        secret: \"some-secret\",\n        proxy: \"proxy-key\",\n        customHttpHeaders: {\n            \"header-1\": \"value-1\",\n            \"header-2\": \"value-2\",\n        },\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nbuild_webhook = artifactory.BuildWebhook(\"build-webhook\",\n    key=\"build-webhook\",\n    event_types=[\n        \"uploaded\",\n        \"deleted\",\n        \"promoted\",\n    ],\n    criteria={\n        \"any_build\": False,\n        \"selected_builds\": [\"build-id\"],\n        \"include_patterns\": [\"foo/**\"],\n        \"exclude_patterns\": [\"bar/**\"],\n    },\n    handlers=[{\n        \"url\": \"http://tempurl.org/webhook\",\n        \"secret\": \"some-secret\",\n        \"proxy\": \"proxy-key\",\n        \"custom_http_headers\": {\n            \"header-1\": \"value-1\",\n            \"header-2\": \"value-2\",\n        },\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var build_webhook = new Artifactory.BuildWebhook(\"build-webhook\", new()\n    {\n        Key = \"build-webhook\",\n        EventTypes = new[]\n        {\n            \"uploaded\",\n            \"deleted\",\n            \"promoted\",\n        },\n        Criteria = new Artifactory.Inputs.BuildWebhookCriteriaArgs\n        {\n            AnyBuild = false,\n            SelectedBuilds = new[]\n            {\n                \"build-id\",\n            },\n            IncludePatterns = new[]\n            {\n                \"foo/**\",\n            },\n            ExcludePatterns = new[]\n            {\n                \"bar/**\",\n            },\n        },\n        Handlers = new[]\n        {\n            new Artifactory.Inputs.BuildWebhookHandlerArgs\n            {\n                Url = \"http://tempurl.org/webhook\",\n                Secret = \"some-secret\",\n                Proxy = \"proxy-key\",\n                CustomHttpHeaders = \n                {\n                    { \"header-1\", \"value-1\" },\n                    { \"header-2\", \"value-2\" },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewBuildWebhook(ctx, \"build-webhook\", \u0026artifactory.BuildWebhookArgs{\n\t\t\tKey: pulumi.String(\"build-webhook\"),\n\t\t\tEventTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"uploaded\"),\n\t\t\t\tpulumi.String(\"deleted\"),\n\t\t\t\tpulumi.String(\"promoted\"),\n\t\t\t},\n\t\t\tCriteria: \u0026artifactory.BuildWebhookCriteriaArgs{\n\t\t\t\tAnyBuild: pulumi.Bool(false),\n\t\t\t\tSelectedBuilds: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"build-id\"),\n\t\t\t\t},\n\t\t\t\tIncludePatterns: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"foo/**\"),\n\t\t\t\t},\n\t\t\t\tExcludePatterns: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"bar/**\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tHandlers: artifactory.BuildWebhookHandlerArray{\n\t\t\t\t\u0026artifactory.BuildWebhookHandlerArgs{\n\t\t\t\t\tUrl:    pulumi.String(\"http://tempurl.org/webhook\"),\n\t\t\t\t\tSecret: pulumi.String(\"some-secret\"),\n\t\t\t\t\tProxy:  pulumi.String(\"proxy-key\"),\n\t\t\t\t\tCustomHttpHeaders: pulumi.StringMap{\n\t\t\t\t\t\t\"header-1\": pulumi.String(\"value-1\"),\n\t\t\t\t\t\t\"header-2\": pulumi.String(\"value-2\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_buildwebhook\" \"build-webhook\" {\n  key         = \"build-webhook\"\n  event_types = [\"uploaded\", \"deleted\", \"promoted\"]\n  criteria = {\n    any_build        = false\n    selected_builds  = [\"build-id\"]\n    include_patterns = [\"foo/**\"]\n    exclude_patterns = [\"bar/**\"]\n  }\n  handlers {\n    url    = \"http://tempurl.org/webhook\"\n    secret = \"some-secret\"\n    proxy  = \"proxy-key\"\n    custom_http_headers = {\n      \"header-1\" = \"value-1\"\n      \"header-2\" = \"value-2\"\n    }\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.BuildWebhook;\nimport com.pulumi.artifactory.BuildWebhookArgs;\nimport com.pulumi.artifactory.inputs.BuildWebhookCriteriaArgs;\nimport com.pulumi.artifactory.inputs.BuildWebhookHandlerArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 build_webhook = new BuildWebhook(\"build-webhook\", BuildWebhookArgs.builder()\n            .key(\"build-webhook\")\n            .eventTypes(            \n                \"uploaded\",\n                \"deleted\",\n                \"promoted\")\n            .criteria(BuildWebhookCriteriaArgs.builder()\n                .anyBuild(false)\n                .selectedBuilds(\"build-id\")\n                .includePatterns(\"foo/**\")\n                .excludePatterns(\"bar/**\")\n                .build())\n            .handlers(BuildWebhookHandlerArgs.builder()\n                .url(\"http://tempurl.org/webhook\")\n                .secret(\"some-secret\")\n                .proxy(\"proxy-key\")\n                .customHttpHeaders(Map.ofEntries(\n                    Map.entry(\"header-1\", \"value-1\"),\n                    Map.entry(\"header-2\", \"value-2\")\n                ))\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  build-webhook:\n    type: artifactory:BuildWebhook\n    properties:\n      key: build-webhook\n      eventTypes:\n        - uploaded\n        - deleted\n        - promoted\n      criteria:\n        anyBuild: false\n        selectedBuilds:\n          - build-id\n        includePatterns:\n          - foo/**\n        excludePatterns:\n          - bar/**\n      handlers:\n        - url: http://tempurl.org/webhook\n          secret: some-secret\n          proxy: proxy-key\n          customHttpHeaders:\n            header-1: value-1\n            header-2: value-2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "properties": {
                "criteria": {
                    "$ref": "#/types/artifactory:index/BuildWebhookCriteria:BuildWebhookCriteria",
                    "description": "Specifies where the webhook will be applied on which repositories.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Webhook description. Max length 1000 characters.\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Status of webhook. Default to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                },
                "eventTypes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of Events in Artifactory, Distribution, Release Bundle that function as the event trigger for the Webhook. Allow values: \u003cspan pulumi-lang-nodejs=\"`uploaded`\" pulumi-lang-dotnet=\"`Uploaded`\" pulumi-lang-go=\"`uploaded`\" pulumi-lang-python=\"`uploaded`\" pulumi-lang-yaml=\"`uploaded`\" pulumi-lang-java=\"`uploaded`\" pulumi-lang-hcl=\"`uploaded`\"\u003e`uploaded`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleted`\" pulumi-lang-dotnet=\"`Deleted`\" pulumi-lang-go=\"`deleted`\" pulumi-lang-python=\"`deleted`\" pulumi-lang-yaml=\"`deleted`\" pulumi-lang-java=\"`deleted`\" pulumi-lang-hcl=\"`deleted`\"\u003e`deleted`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`promoted`\" pulumi-lang-dotnet=\"`Promoted`\" pulumi-lang-go=\"`promoted`\" pulumi-lang-python=\"`promoted`\" pulumi-lang-yaml=\"`promoted`\" pulumi-lang-java=\"`promoted`\" pulumi-lang-hcl=\"`promoted`\"\u003e`promoted`\u003c/span\u003e.\n"
                },
                "handlers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/BuildWebhookHandler:BuildWebhookHandler"
                    },
                    "description": "At least one is required.\n"
                },
                "key": {
                    "type": "string",
                    "description": "The identity key of the webhook. Must be between 2 and 200 characters. Cannot contain spaces.\n"
                }
            },
            "required": [
                "criteria",
                "enabled",
                "eventTypes",
                "handlers",
                "key"
            ],
            "inputProperties": {
                "criteria": {
                    "$ref": "#/types/artifactory:index/BuildWebhookCriteria:BuildWebhookCriteria",
                    "description": "Specifies where the webhook will be applied on which repositories.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Webhook description. Max length 1000 characters.\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Status of webhook. Default to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                },
                "eventTypes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of Events in Artifactory, Distribution, Release Bundle that function as the event trigger for the Webhook. Allow values: \u003cspan pulumi-lang-nodejs=\"`uploaded`\" pulumi-lang-dotnet=\"`Uploaded`\" pulumi-lang-go=\"`uploaded`\" pulumi-lang-python=\"`uploaded`\" pulumi-lang-yaml=\"`uploaded`\" pulumi-lang-java=\"`uploaded`\" pulumi-lang-hcl=\"`uploaded`\"\u003e`uploaded`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleted`\" pulumi-lang-dotnet=\"`Deleted`\" pulumi-lang-go=\"`deleted`\" pulumi-lang-python=\"`deleted`\" pulumi-lang-yaml=\"`deleted`\" pulumi-lang-java=\"`deleted`\" pulumi-lang-hcl=\"`deleted`\"\u003e`deleted`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`promoted`\" pulumi-lang-dotnet=\"`Promoted`\" pulumi-lang-go=\"`promoted`\" pulumi-lang-python=\"`promoted`\" pulumi-lang-yaml=\"`promoted`\" pulumi-lang-java=\"`promoted`\" pulumi-lang-hcl=\"`promoted`\"\u003e`promoted`\u003c/span\u003e.\n"
                },
                "handlers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/BuildWebhookHandler:BuildWebhookHandler"
                    },
                    "description": "At least one is required.\n"
                },
                "key": {
                    "type": "string",
                    "description": "The identity key of the webhook. Must be between 2 and 200 characters. Cannot contain spaces.\n"
                }
            },
            "requiredInputs": [
                "criteria",
                "eventTypes",
                "handlers",
                "key"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering BuildWebhook resources.\n",
                "properties": {
                    "criteria": {
                        "$ref": "#/types/artifactory:index/BuildWebhookCriteria:BuildWebhookCriteria",
                        "description": "Specifies where the webhook will be applied on which repositories.\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Webhook description. Max length 1000 characters.\n"
                    },
                    "enabled": {
                        "type": "boolean",
                        "description": "Status of webhook. Default to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                    },
                    "eventTypes": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of Events in Artifactory, Distribution, Release Bundle that function as the event trigger for the Webhook. Allow values: \u003cspan pulumi-lang-nodejs=\"`uploaded`\" pulumi-lang-dotnet=\"`Uploaded`\" pulumi-lang-go=\"`uploaded`\" pulumi-lang-python=\"`uploaded`\" pulumi-lang-yaml=\"`uploaded`\" pulumi-lang-java=\"`uploaded`\" pulumi-lang-hcl=\"`uploaded`\"\u003e`uploaded`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleted`\" pulumi-lang-dotnet=\"`Deleted`\" pulumi-lang-go=\"`deleted`\" pulumi-lang-python=\"`deleted`\" pulumi-lang-yaml=\"`deleted`\" pulumi-lang-java=\"`deleted`\" pulumi-lang-hcl=\"`deleted`\"\u003e`deleted`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`promoted`\" pulumi-lang-dotnet=\"`Promoted`\" pulumi-lang-go=\"`promoted`\" pulumi-lang-python=\"`promoted`\" pulumi-lang-yaml=\"`promoted`\" pulumi-lang-java=\"`promoted`\" pulumi-lang-hcl=\"`promoted`\"\u003e`promoted`\u003c/span\u003e.\n"
                    },
                    "handlers": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/artifactory:index/BuildWebhookHandler:BuildWebhookHandler"
                        },
                        "description": "At least one is required.\n"
                    },
                    "key": {
                        "type": "string",
                        "description": "The identity key of the webhook. Must be between 2 and 200 characters. Cannot contain spaces.\n"
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/certificate:Certificate": {
            "description": "Provides an Artifactory certificate resource. This can be used to create and manage Artifactory certificates which can be used as client authentication against remote repositories.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\nimport * as std from \"@pulumi/std\";\n\n// Create a new Artifactory certificate called my-cert\nconst my_cert = new artifactory.Certificate(\"my-cert\", {\n    alias: \"my-cert\",\n    content: std.file({\n        input: \"/path/to/bundle.pem\",\n    }).then(invoke =\u003e invoke.result),\n});\n// This can then be used by a remote repository\nconst my_remote = new artifactory.RemoteMavenRepository(\"my-remote\", {clientTlsCertificate: my_cert.alias});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\nimport pulumi_std as std\n\n# Create a new Artifactory certificate called my-cert\nmy_cert = artifactory.Certificate(\"my-cert\",\n    alias=\"my-cert\",\n    content=std.file(input=\"/path/to/bundle.pem\").result)\n# This can then be used by a remote repository\nmy_remote = artifactory.RemoteMavenRepository(\"my-remote\", client_tls_certificate=my_cert.alias)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Create a new Artifactory certificate called my-cert\n    var my_cert = new Artifactory.Certificate(\"my-cert\", new()\n    {\n        Alias = \"my-cert\",\n        Content = Std.File.Invoke(new()\n        {\n            Input = \"/path/to/bundle.pem\",\n        }).Apply(invoke =\u003e invoke.Result),\n    });\n\n    // This can then be used by a remote repository\n    var my_remote = new Artifactory.RemoteMavenRepository(\"my-remote\", new()\n    {\n        ClientTlsCertificate = my_cert.Alias,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"/path/to/bundle.pem\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new Artifactory certificate called my-cert\n\t\tmy_cert, err := artifactory.NewCertificate(ctx, \"my-cert\", \u0026artifactory.CertificateArgs{\n\t\t\tAlias:   pulumi.String(\"my-cert\"),\n\t\t\tContent: pulumi.String(invokeFile.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// This can then be used by a remote repository\n\t\t_, err = artifactory.NewRemoteMavenRepository(ctx, \"my-remote\", \u0026artifactory.RemoteMavenRepositoryArgs{\n\t\t\tClientTlsCertificate: my_cert.Alias,\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n    std = {\n      source = \"pulumi/std\"\n    }\n  }\n}\n\n# Create a new Artifactory certificate called my-cert\nresource \"artifactory_certificate\" \"my-cert\" {\n  alias   = \"my-cert\"\n  content = file(\"/path/to/bundle.pem\")\n}\n# This can then be used by a remote repository\nresource \"artifactory_remotemavenrepository\" \"my-remote\" {\n  client_tls_certificate = artifactory_certificate.my-cert.alias\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.Certificate;\nimport com.pulumi.artifactory.CertificateArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FileArgs;\nimport com.pulumi.artifactory.RemoteMavenRepository;\nimport com.pulumi.artifactory.RemoteMavenRepositoryArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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        // Create a new Artifactory certificate called my-cert\n        var my_cert = new Certificate(\"my-cert\", CertificateArgs.builder()\n            .alias(\"my-cert\")\n            .content(StdFunctions.file(FileArgs.builder()\n                .input(\"/path/to/bundle.pem\")\n                .build()).result())\n            .build());\n\n        // This can then be used by a remote repository\n        var my_remote = new RemoteMavenRepository(\"my-remote\", RemoteMavenRepositoryArgs.builder()\n            .clientTlsCertificate(my_cert.alias())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Create a new Artifactory certificate called my-cert\n  my-cert:\n    type: artifactory:Certificate\n    properties:\n      alias: my-cert\n      content:\n        fn::invoke:\n          function: std:file\n          arguments:\n            input: /path/to/bundle.pem\n          return: result\n  # This can then be used by a remote repository\n  my-remote:\n    type: artifactory:RemoteMavenRepository\n    properties:\n      clientTlsCertificate: ${[\"my-cert\"].alias}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCertificates can be imported using their alias, e.g.\n\n```sh\n$ pulumi import artifactory:index/certificate:Certificate my-cert my-cert\n```\n\n",
            "properties": {
                "alias": {
                    "type": "string",
                    "description": "Name of certificate.\n"
                },
                "content": {
                    "type": "string",
                    "description": "PEM-encoded client certificate and private key. Cannot be set with \u003cspan pulumi-lang-nodejs=\"`file`\" pulumi-lang-dotnet=\"`File`\" pulumi-lang-go=\"`file`\" pulumi-lang-python=\"`file`\" pulumi-lang-yaml=\"`file`\" pulumi-lang-java=\"`file`\" pulumi-lang-hcl=\"`file`\"\u003e`file`\u003c/span\u003e attribute simultaneously.\n",
                    "secret": true
                },
                "file": {
                    "type": "string",
                    "description": "Path to the PEM file. Cannot be set with \u003cspan pulumi-lang-nodejs=\"`content`\" pulumi-lang-dotnet=\"`Content`\" pulumi-lang-go=\"`content`\" pulumi-lang-python=\"`content`\" pulumi-lang-yaml=\"`content`\" pulumi-lang-java=\"`content`\" pulumi-lang-hcl=\"`content`\"\u003e`content`\u003c/span\u003e attribute simultaneously.\n",
                    "secret": true
                },
                "fingerprint": {
                    "type": "string",
                    "description": "SHA256 fingerprint of the certificate.\n"
                },
                "issuedBy": {
                    "type": "string",
                    "description": "Name of the certificate authority that issued the certificate.\n"
                },
                "issuedOn": {
                    "type": "string",
                    "description": "The time \u0026 date when the certificate is valid from.\n"
                },
                "issuedTo": {
                    "type": "string",
                    "description": "Name of whom the certificate has been issued to.\n"
                },
                "validUntil": {
                    "type": "string",
                    "description": "The time \u0026 date when the certificate expires.\n"
                }
            },
            "required": [
                "alias",
                "fingerprint",
                "issuedBy",
                "issuedOn",
                "issuedTo",
                "validUntil"
            ],
            "inputProperties": {
                "alias": {
                    "type": "string",
                    "description": "Name of certificate.\n"
                },
                "content": {
                    "type": "string",
                    "description": "PEM-encoded client certificate and private key. Cannot be set with \u003cspan pulumi-lang-nodejs=\"`file`\" pulumi-lang-dotnet=\"`File`\" pulumi-lang-go=\"`file`\" pulumi-lang-python=\"`file`\" pulumi-lang-yaml=\"`file`\" pulumi-lang-java=\"`file`\" pulumi-lang-hcl=\"`file`\"\u003e`file`\u003c/span\u003e attribute simultaneously.\n",
                    "secret": true
                },
                "file": {
                    "type": "string",
                    "description": "Path to the PEM file. Cannot be set with \u003cspan pulumi-lang-nodejs=\"`content`\" pulumi-lang-dotnet=\"`Content`\" pulumi-lang-go=\"`content`\" pulumi-lang-python=\"`content`\" pulumi-lang-yaml=\"`content`\" pulumi-lang-java=\"`content`\" pulumi-lang-hcl=\"`content`\"\u003e`content`\u003c/span\u003e attribute simultaneously.\n",
                    "secret": true
                }
            },
            "requiredInputs": [
                "alias"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering Certificate resources.\n",
                "properties": {
                    "alias": {
                        "type": "string",
                        "description": "Name of certificate.\n"
                    },
                    "content": {
                        "type": "string",
                        "description": "PEM-encoded client certificate and private key. Cannot be set with \u003cspan pulumi-lang-nodejs=\"`file`\" pulumi-lang-dotnet=\"`File`\" pulumi-lang-go=\"`file`\" pulumi-lang-python=\"`file`\" pulumi-lang-yaml=\"`file`\" pulumi-lang-java=\"`file`\" pulumi-lang-hcl=\"`file`\"\u003e`file`\u003c/span\u003e attribute simultaneously.\n",
                        "secret": true
                    },
                    "file": {
                        "type": "string",
                        "description": "Path to the PEM file. Cannot be set with \u003cspan pulumi-lang-nodejs=\"`content`\" pulumi-lang-dotnet=\"`Content`\" pulumi-lang-go=\"`content`\" pulumi-lang-python=\"`content`\" pulumi-lang-yaml=\"`content`\" pulumi-lang-java=\"`content`\" pulumi-lang-hcl=\"`content`\"\u003e`content`\u003c/span\u003e attribute simultaneously.\n",
                        "secret": true
                    },
                    "fingerprint": {
                        "type": "string",
                        "description": "SHA256 fingerprint of the certificate.\n"
                    },
                    "issuedBy": {
                        "type": "string",
                        "description": "Name of the certificate authority that issued the certificate.\n"
                    },
                    "issuedOn": {
                        "type": "string",
                        "description": "The time \u0026 date when the certificate is valid from.\n"
                    },
                    "issuedTo": {
                        "type": "string",
                        "description": "Name of whom the certificate has been issued to.\n"
                    },
                    "validUntil": {
                        "type": "string",
                        "description": "The time \u0026 date when the certificate expires.\n"
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/debianRepository:DebianRepository": {
            "description": "Creates a local Debian repository and allows for the creation of a GPG key.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\nimport * as std from \"@pulumi/std\";\n\nconst some_keypairGPG1 = new artifactory.Keypair(\"some-keypairGPG1\", {\n    pairName: `some-keypair${randid.id}`,\n    pairType: \"GPG\",\n    alias: \"foo-alias1\",\n    privateKey: std.file({\n        input: \"samples/gpg.priv\",\n    }).then(invoke =\u003e invoke.result),\n    publicKey: std.file({\n        input: \"samples/gpg.pub\",\n    }).then(invoke =\u003e invoke.result),\n});\nconst some_keypairGPG2 = new artifactory.Keypair(\"some-keypairGPG2\", {\n    pairName: `some-keypair4${randid.id}`,\n    pairType: \"GPG\",\n    alias: \"foo-alias2\",\n    privateKey: std.file({\n        input: \"samples/gpg.priv\",\n    }).then(invoke =\u003e invoke.result),\n    publicKey: std.file({\n        input: \"samples/gpg.pub\",\n    }).then(invoke =\u003e invoke.result),\n});\nconst my_debian_repo = new artifactory.DebianRepository(\"my-debian-repo\", {\n    key: \"my-debian-repo\",\n    primaryKeypairRef: some_keypairGPG1.pairName,\n    secondaryKeypairRef: some_keypairGPG2.pairName,\n    indexCompressionFormats: [\n        \"bz2\",\n        \"lzma\",\n        \"xz\",\n    ],\n    trivialLayout: true,\n}, {\n    dependsOn: [\n        some_keypairGPG1,\n        some_keypairGPG2,\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\nimport pulumi_std as std\n\nsome_keypair_gpg1 = artifactory.Keypair(\"some-keypairGPG1\",\n    pair_name=f\"some-keypair{randid['id']}\",\n    pair_type=\"GPG\",\n    alias=\"foo-alias1\",\n    private_key=std.file(input=\"samples/gpg.priv\").result,\n    public_key=std.file(input=\"samples/gpg.pub\").result)\nsome_keypair_gpg2 = artifactory.Keypair(\"some-keypairGPG2\",\n    pair_name=f\"some-keypair4{randid['id']}\",\n    pair_type=\"GPG\",\n    alias=\"foo-alias2\",\n    private_key=std.file(input=\"samples/gpg.priv\").result,\n    public_key=std.file(input=\"samples/gpg.pub\").result)\nmy_debian_repo = artifactory.DebianRepository(\"my-debian-repo\",\n    key=\"my-debian-repo\",\n    primary_keypair_ref=some_keypair_gpg1.pair_name,\n    secondary_keypair_ref=some_keypair_gpg2.pair_name,\n    index_compression_formats=[\n        \"bz2\",\n        \"lzma\",\n        \"xz\",\n    ],\n    trivial_layout=True,\n    opts = pulumi.ResourceOptions(depends_on=[\n            some_keypair_gpg1,\n            some_keypair_gpg2,\n        ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var some_keypairGPG1 = new Artifactory.Keypair(\"some-keypairGPG1\", new()\n    {\n        PairName = $\"some-keypair{randid.Id}\",\n        PairType = \"GPG\",\n        Alias = \"foo-alias1\",\n        PrivateKey = Std.File.Invoke(new()\n        {\n            Input = \"samples/gpg.priv\",\n        }).Apply(invoke =\u003e invoke.Result),\n        PublicKey = Std.File.Invoke(new()\n        {\n            Input = \"samples/gpg.pub\",\n        }).Apply(invoke =\u003e invoke.Result),\n    });\n\n    var some_keypairGPG2 = new Artifactory.Keypair(\"some-keypairGPG2\", new()\n    {\n        PairName = $\"some-keypair4{randid.Id}\",\n        PairType = \"GPG\",\n        Alias = \"foo-alias2\",\n        PrivateKey = Std.File.Invoke(new()\n        {\n            Input = \"samples/gpg.priv\",\n        }).Apply(invoke =\u003e invoke.Result),\n        PublicKey = Std.File.Invoke(new()\n        {\n            Input = \"samples/gpg.pub\",\n        }).Apply(invoke =\u003e invoke.Result),\n    });\n\n    var my_debian_repo = new Artifactory.DebianRepository(\"my-debian-repo\", new()\n    {\n        Key = \"my-debian-repo\",\n        PrimaryKeypairRef = some_keypairGPG1.PairName,\n        SecondaryKeypairRef = some_keypairGPG2.PairName,\n        IndexCompressionFormats = new[]\n        {\n            \"bz2\",\n            \"lzma\",\n            \"xz\",\n        },\n        TrivialLayout = true,\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            some_keypairGPG1,\n            some_keypairGPG2,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"samples/gpg.priv\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile1, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"samples/gpg.pub\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsome_keypairGPG1, err := artifactory.NewKeypair(ctx, \"some-keypairGPG1\", \u0026artifactory.KeypairArgs{\n\t\t\tPairName:   pulumi.Sprintf(\"some-keypair%v\", randid.Id),\n\t\t\tPairType:   pulumi.String(\"GPG\"),\n\t\t\tAlias:      pulumi.String(\"foo-alias1\"),\n\t\t\tPrivateKey: pulumi.String(invokeFile.Result),\n\t\t\tPublicKey:  pulumi.String(invokeFile1.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile2, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"samples/gpg.priv\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile3, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"samples/gpg.pub\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsome_keypairGPG2, err := artifactory.NewKeypair(ctx, \"some-keypairGPG2\", \u0026artifactory.KeypairArgs{\n\t\t\tPairName:   pulumi.Sprintf(\"some-keypair4%v\", randid.Id),\n\t\t\tPairType:   pulumi.String(\"GPG\"),\n\t\t\tAlias:      pulumi.String(\"foo-alias2\"),\n\t\t\tPrivateKey: pulumi.String(invokeFile2.Result),\n\t\t\tPublicKey:  pulumi.String(invokeFile3.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = artifactory.NewDebianRepository(ctx, \"my-debian-repo\", \u0026artifactory.DebianRepositoryArgs{\n\t\t\tKey:                 pulumi.String(\"my-debian-repo\"),\n\t\t\tPrimaryKeypairRef:   some_keypairGPG1.PairName,\n\t\t\tSecondaryKeypairRef: some_keypairGPG2.PairName,\n\t\t\tIndexCompressionFormats: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"bz2\"),\n\t\t\t\tpulumi.String(\"lzma\"),\n\t\t\t\tpulumi.String(\"xz\"),\n\t\t\t},\n\t\t\tTrivialLayout: pulumi.Bool(true),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tsome_keypairGPG1,\n\t\t\tsome_keypairGPG2,\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n    std = {\n      source = \"pulumi/std\"\n    }\n  }\n}\n\nresource \"artifactory_keypair\" \"some-keypairGPG1\" {\n  pair_name   =\"some-keypair${randid.id}\"\n  pair_type   = \"GPG\"\n  alias       = \"foo-alias1\"\n  private_key = file(\"samples/gpg.priv\")\n  public_key  = file(\"samples/gpg.pub\")\n}\nresource \"artifactory_keypair\" \"some-keypairGPG2\" {\n  pair_name   =\"some-keypair4${randid.id}\"\n  pair_type   = \"GPG\"\n  alias       = \"foo-alias2\"\n  private_key = file(\"samples/gpg.priv\")\n  public_key  = file(\"samples/gpg.pub\")\n}\nresource \"artifactory_debianrepository\" \"my-debian-repo\" {\n  depends_on                = [artifactory_keypair.some-keypairGPG1, artifactory_keypair.some-keypairGPG2]\n  key                       = \"my-debian-repo\"\n  primary_keypair_ref       = artifactory_keypair.some-keypairGPG1.pair_name\n  secondary_keypair_ref     = artifactory_keypair.some-keypairGPG2.pair_name\n  index_compression_formats = [\"bz2\", \"lzma\", \"xz\"]\n  trivial_layout            = true\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.Keypair;\nimport com.pulumi.artifactory.KeypairArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FileArgs;\nimport com.pulumi.artifactory.DebianRepository;\nimport com.pulumi.artifactory.DebianRepositoryArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 some_keypairGPG1 = new Keypair(\"some-keypairGPG1\", KeypairArgs.builder()\n            .pairName(String.format(\"some-keypair%s\", randid.id()))\n            .pairType(\"GPG\")\n            .alias(\"foo-alias1\")\n            .privateKey(StdFunctions.file(FileArgs.builder()\n                .input(\"samples/gpg.priv\")\n                .build()).result())\n            .publicKey(StdFunctions.file(FileArgs.builder()\n                .input(\"samples/gpg.pub\")\n                .build()).result())\n            .build());\n\n        var some_keypairGPG2 = new Keypair(\"some-keypairGPG2\", KeypairArgs.builder()\n            .pairName(String.format(\"some-keypair4%s\", randid.id()))\n            .pairType(\"GPG\")\n            .alias(\"foo-alias2\")\n            .privateKey(StdFunctions.file(FileArgs.builder()\n                .input(\"samples/gpg.priv\")\n                .build()).result())\n            .publicKey(StdFunctions.file(FileArgs.builder()\n                .input(\"samples/gpg.pub\")\n                .build()).result())\n            .build());\n\n        var my_debian_repo = new DebianRepository(\"my-debian-repo\", DebianRepositoryArgs.builder()\n            .key(\"my-debian-repo\")\n            .primaryKeypairRef(some_keypairGPG1.pairName())\n            .secondaryKeypairRef(some_keypairGPG2.pairName())\n            .indexCompressionFormats(            \n                \"bz2\",\n                \"lzma\",\n                \"xz\")\n            .trivialLayout(true)\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(                \n                    some_keypairGPG1,\n                    some_keypairGPG2)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  some-keypairGPG1:\n    type: artifactory:Keypair\n    properties:\n      pairName: some-keypair${randid.id}\n      pairType: GPG\n      alias: foo-alias1\n      privateKey:\n        fn::invoke:\n          function: std:file\n          arguments:\n            input: samples/gpg.priv\n          return: result\n      publicKey:\n        fn::invoke:\n          function: std:file\n          arguments:\n            input: samples/gpg.pub\n          return: result\n  some-keypairGPG2:\n    type: artifactory:Keypair\n    properties:\n      pairName: some-keypair4${randid.id}\n      pairType: GPG\n      alias: foo-alias2\n      privateKey:\n        fn::invoke:\n          function: std:file\n          arguments:\n            input: samples/gpg.priv\n          return: result\n      publicKey:\n        fn::invoke:\n          function: std:file\n          arguments:\n            input: samples/gpg.pub\n          return: result\n  my-debian-repo:\n    type: artifactory:DebianRepository\n    properties:\n      key: my-debian-repo\n      primaryKeypairRef: ${[\"some-keypairGPG1\"].pairName}\n      secondaryKeypairRef: ${[\"some-keypairGPG2\"].pairName}\n      indexCompressionFormats:\n        - bz2\n        - lzma\n        - xz\n      trivialLayout: true\n    options:\n      dependsOn:\n        - ${[\"some-keypairGPG1\"]}\n        - ${[\"some-keypairGPG2\"]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLocal repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/debianRepository:DebianRepository my-debian-repo my-debian-repo\n```\n\n",
            "properties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "ddebSupported": {
                    "type": "boolean",
                    "description": "When set, enable indexing with debug symbols (.ddeb)."
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "indexCompressionFormats": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "The options are Bzip2 (.bz2 extension) (default), LZMA (.lzma extension)\nand XZ (.xz extension).\n"
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "primaryKeypairRef": {
                    "type": "string",
                    "description": "The primary RSA key to be used to sign packages.\n"
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "secondaryKeypairRef": {
                    "type": "string",
                    "description": "The secondary RSA key to be used to sign packages.\n"
                },
                "trivialLayout": {
                    "type": "boolean",
                    "description": "When set, the repository will use the deprecated trivial layout.\n\nArtifactory REST API call Get Key Pair doesn't return keys \u003cspan pulumi-lang-nodejs=\"`privateKey`\" pulumi-lang-dotnet=\"`PrivateKey`\" pulumi-lang-go=\"`privateKey`\" pulumi-lang-python=\"`private_key`\" pulumi-lang-yaml=\"`privateKey`\" pulumi-lang-java=\"`privateKey`\" pulumi-lang-hcl=\"`private_key`\"\u003e`privateKey`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`passphrase`\" pulumi-lang-dotnet=\"`Passphrase`\" pulumi-lang-go=\"`passphrase`\" pulumi-lang-python=\"`passphrase`\" pulumi-lang-yaml=\"`passphrase`\" pulumi-lang-java=\"`passphrase`\" pulumi-lang-hcl=\"`passphrase`\"\u003e`passphrase`\u003c/span\u003e, but consumes these keys in the POST call.\n\nThe meta-argument \u003cspan pulumi-lang-nodejs=\"`lifecycle`\" pulumi-lang-dotnet=\"`Lifecycle`\" pulumi-lang-go=\"`lifecycle`\" pulumi-lang-python=\"`lifecycle`\" pulumi-lang-yaml=\"`lifecycle`\" pulumi-lang-java=\"`lifecycle`\" pulumi-lang-hcl=\"`lifecycle`\"\u003e`lifecycle`\u003c/span\u003e used here to make Provider ignore the changes for these two keys in the Terraform state.\n"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "archiveBrowsingEnabled",
                "blackedOut",
                "cdnRedirect",
                "ddebSupported",
                "description",
                "downloadDirect",
                "excludesPattern",
                "includesPattern",
                "indexCompressionFormats",
                "key",
                "notes",
                "primaryKeypairRef",
                "priorityResolution",
                "projectEnvironments",
                "projectKey",
                "repoLayoutRef",
                "secondaryKeypairRef",
                "trivialLayout",
                "xrayIndex"
            ],
            "inputProperties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "ddebSupported": {
                    "type": "boolean",
                    "description": "When set, enable indexing with debug symbols (.ddeb)."
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "indexCompressionFormats": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "The options are Bzip2 (.bz2 extension) (default), LZMA (.lzma extension)\nand XZ (.xz extension).\n"
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "primaryKeypairRef": {
                    "type": "string",
                    "description": "The primary RSA key to be used to sign packages.\n"
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "secondaryKeypairRef": {
                    "type": "string",
                    "description": "The secondary RSA key to be used to sign packages.\n"
                },
                "trivialLayout": {
                    "type": "boolean",
                    "description": "When set, the repository will use the deprecated trivial layout.\n\nArtifactory REST API call Get Key Pair doesn't return keys \u003cspan pulumi-lang-nodejs=\"`privateKey`\" pulumi-lang-dotnet=\"`PrivateKey`\" pulumi-lang-go=\"`privateKey`\" pulumi-lang-python=\"`private_key`\" pulumi-lang-yaml=\"`privateKey`\" pulumi-lang-java=\"`privateKey`\" pulumi-lang-hcl=\"`private_key`\"\u003e`privateKey`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`passphrase`\" pulumi-lang-dotnet=\"`Passphrase`\" pulumi-lang-go=\"`passphrase`\" pulumi-lang-python=\"`passphrase`\" pulumi-lang-yaml=\"`passphrase`\" pulumi-lang-java=\"`passphrase`\" pulumi-lang-hcl=\"`passphrase`\"\u003e`passphrase`\u003c/span\u003e, but consumes these keys in the POST call.\n\nThe meta-argument \u003cspan pulumi-lang-nodejs=\"`lifecycle`\" pulumi-lang-dotnet=\"`Lifecycle`\" pulumi-lang-go=\"`lifecycle`\" pulumi-lang-python=\"`lifecycle`\" pulumi-lang-yaml=\"`lifecycle`\" pulumi-lang-java=\"`lifecycle`\" pulumi-lang-hcl=\"`lifecycle`\"\u003e`lifecycle`\u003c/span\u003e used here to make Provider ignore the changes for these two keys in the Terraform state.\n"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering DebianRepository resources.\n",
                "properties": {
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "ddebSupported": {
                        "type": "boolean",
                        "description": "When set, enable indexing with debug symbols (.ddeb)."
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "indexCompressionFormats": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "The options are Bzip2 (.bz2 extension) (default), LZMA (.lzma extension)\nand XZ (.xz extension).\n"
                    },
                    "key": {
                        "type": "string",
                        "description": "the identity key of the repo.\n"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "primaryKeypairRef": {
                        "type": "string",
                        "description": "The primary RSA key to be used to sign packages.\n"
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                    },
                    "secondaryKeypairRef": {
                        "type": "string",
                        "description": "The secondary RSA key to be used to sign packages.\n"
                    },
                    "trivialLayout": {
                        "type": "boolean",
                        "description": "When set, the repository will use the deprecated trivial layout.\n\nArtifactory REST API call Get Key Pair doesn't return keys \u003cspan pulumi-lang-nodejs=\"`privateKey`\" pulumi-lang-dotnet=\"`PrivateKey`\" pulumi-lang-go=\"`privateKey`\" pulumi-lang-python=\"`private_key`\" pulumi-lang-yaml=\"`privateKey`\" pulumi-lang-java=\"`privateKey`\" pulumi-lang-hcl=\"`private_key`\"\u003e`privateKey`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`passphrase`\" pulumi-lang-dotnet=\"`Passphrase`\" pulumi-lang-go=\"`passphrase`\" pulumi-lang-python=\"`passphrase`\" pulumi-lang-yaml=\"`passphrase`\" pulumi-lang-java=\"`passphrase`\" pulumi-lang-hcl=\"`passphrase`\"\u003e`passphrase`\u003c/span\u003e, but consumes these keys in the POST call.\n\nThe meta-argument \u003cspan pulumi-lang-nodejs=\"`lifecycle`\" pulumi-lang-dotnet=\"`Lifecycle`\" pulumi-lang-go=\"`lifecycle`\" pulumi-lang-python=\"`lifecycle`\" pulumi-lang-yaml=\"`lifecycle`\" pulumi-lang-java=\"`lifecycle`\" pulumi-lang-hcl=\"`lifecycle`\"\u003e`lifecycle`\u003c/span\u003e used here to make Provider ignore the changes for these two keys in the Terraform state.\n"
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/destinationCustomWebhook:DestinationCustomWebhook": {
            "description": "Provides an Artifactory custom webhook resource. This can be used to register and manage Artifactory webhook subscription which enables you to be notified or notify other users when such events take place in Artifactory.\n\n## Example Usage\n\n.\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst destination_custom_webhook = new artifactory.DestinationCustomWebhook(\"destination-custom-webhook\", {\n    key: \"destination-custom-webhook\",\n    eventTypes: [\n        \"received\",\n        \"delete_started\",\n        \"delete_completed\",\n        \"delete_failed\",\n    ],\n    criteria: {\n        anyReleaseBundle: false,\n        registeredReleaseBundleNames: [\"bundle-name\"],\n        includePatterns: [\"foo/**\"],\n        excludePatterns: [\"bar/**\"],\n    },\n    handlers: [{\n        url: \"https://tempurl.org\",\n        method: \"POST\",\n        secrets: {\n            secretName1: \"value1\",\n            secretName2: \"value2\",\n        },\n        httpHeaders: {\n            headerName1: \"value1\",\n            headerName2: \"value2\",\n        },\n        payload: \"{ \\\"ref\\\": \\\"main\\\" , \\\"inputs\\\": { \\\"artifact_path\\\": \\\"test-repo/repo-path\\\" } }\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\ndestination_custom_webhook = artifactory.DestinationCustomWebhook(\"destination-custom-webhook\",\n    key=\"destination-custom-webhook\",\n    event_types=[\n        \"received\",\n        \"delete_started\",\n        \"delete_completed\",\n        \"delete_failed\",\n    ],\n    criteria={\n        \"any_release_bundle\": False,\n        \"registered_release_bundle_names\": [\"bundle-name\"],\n        \"include_patterns\": [\"foo/**\"],\n        \"exclude_patterns\": [\"bar/**\"],\n    },\n    handlers=[{\n        \"url\": \"https://tempurl.org\",\n        \"method\": \"POST\",\n        \"secrets\": {\n            \"secretName1\": \"value1\",\n            \"secretName2\": \"value2\",\n        },\n        \"http_headers\": {\n            \"headerName1\": \"value1\",\n            \"headerName2\": \"value2\",\n        },\n        \"payload\": \"{ \\\"ref\\\": \\\"main\\\" , \\\"inputs\\\": { \\\"artifact_path\\\": \\\"test-repo/repo-path\\\" } }\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var destination_custom_webhook = new Artifactory.DestinationCustomWebhook(\"destination-custom-webhook\", new()\n    {\n        Key = \"destination-custom-webhook\",\n        EventTypes = new[]\n        {\n            \"received\",\n            \"delete_started\",\n            \"delete_completed\",\n            \"delete_failed\",\n        },\n        Criteria = new Artifactory.Inputs.DestinationCustomWebhookCriteriaArgs\n        {\n            AnyReleaseBundle = false,\n            RegisteredReleaseBundleNames = new[]\n            {\n                \"bundle-name\",\n            },\n            IncludePatterns = new[]\n            {\n                \"foo/**\",\n            },\n            ExcludePatterns = new[]\n            {\n                \"bar/**\",\n            },\n        },\n        Handlers = new[]\n        {\n            new Artifactory.Inputs.DestinationCustomWebhookHandlerArgs\n            {\n                Url = \"https://tempurl.org\",\n                Method = \"POST\",\n                Secrets = \n                {\n                    { \"secretName1\", \"value1\" },\n                    { \"secretName2\", \"value2\" },\n                },\n                HttpHeaders = \n                {\n                    { \"headerName1\", \"value1\" },\n                    { \"headerName2\", \"value2\" },\n                },\n                Payload = \"{ \\\"ref\\\": \\\"main\\\" , \\\"inputs\\\": { \\\"artifact_path\\\": \\\"test-repo/repo-path\\\" } }\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewDestinationCustomWebhook(ctx, \"destination-custom-webhook\", \u0026artifactory.DestinationCustomWebhookArgs{\n\t\t\tKey: pulumi.String(\"destination-custom-webhook\"),\n\t\t\tEventTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"received\"),\n\t\t\t\tpulumi.String(\"delete_started\"),\n\t\t\t\tpulumi.String(\"delete_completed\"),\n\t\t\t\tpulumi.String(\"delete_failed\"),\n\t\t\t},\n\t\t\tCriteria: \u0026artifactory.DestinationCustomWebhookCriteriaArgs{\n\t\t\t\tAnyReleaseBundle: pulumi.Bool(false),\n\t\t\t\tRegisteredReleaseBundleNames: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"bundle-name\"),\n\t\t\t\t},\n\t\t\t\tIncludePatterns: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"foo/**\"),\n\t\t\t\t},\n\t\t\t\tExcludePatterns: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"bar/**\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tHandlers: artifactory.DestinationCustomWebhookHandlerArray{\n\t\t\t\t\u0026artifactory.DestinationCustomWebhookHandlerArgs{\n\t\t\t\t\tUrl:    pulumi.String(\"https://tempurl.org\"),\n\t\t\t\t\tMethod: pulumi.String(\"POST\"),\n\t\t\t\t\tSecrets: pulumi.StringMap{\n\t\t\t\t\t\t\"secretName1\": pulumi.String(\"value1\"),\n\t\t\t\t\t\t\"secretName2\": pulumi.String(\"value2\"),\n\t\t\t\t\t},\n\t\t\t\t\tHttpHeaders: pulumi.StringMap{\n\t\t\t\t\t\t\"headerName1\": pulumi.String(\"value1\"),\n\t\t\t\t\t\t\"headerName2\": pulumi.String(\"value2\"),\n\t\t\t\t\t},\n\t\t\t\t\tPayload: pulumi.String(\"{ \\\"ref\\\": \\\"main\\\" , \\\"inputs\\\": { \\\"artifact_path\\\": \\\"test-repo/repo-path\\\" } }\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_destinationcustomwebhook\" \"destination-custom-webhook\" {\n  key         = \"destination-custom-webhook\"\n  event_types = [\"received\", \"delete_started\", \"delete_completed\", \"delete_failed\"]\n  criteria = {\n    any_release_bundle              = false\n    registered_release_bundle_names = [\"bundle-name\"]\n    include_patterns                = [\"foo/**\"]\n    exclude_patterns                = [\"bar/**\"]\n  }\n  handlers {\n    url    = \"https://tempurl.org\"\n    method = \"POST\"\n    secrets = {\n      \"secretName1\" = \"value1\"\n      \"secretName2\" = \"value2\"\n    }\n    http_headers = {\n      \"headerName1\" = \"value1\"\n      \"headerName2\" = \"value2\"\n    }\n    payload = \"{ \\\"ref\\\": \\\"main\\\" , \\\"inputs\\\": { \\\"artifact_path\\\": \\\"test-repo/repo-path\\\" } }\"\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.DestinationCustomWebhook;\nimport com.pulumi.artifactory.DestinationCustomWebhookArgs;\nimport com.pulumi.artifactory.inputs.DestinationCustomWebhookCriteriaArgs;\nimport com.pulumi.artifactory.inputs.DestinationCustomWebhookHandlerArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 destination_custom_webhook = new DestinationCustomWebhook(\"destination-custom-webhook\", DestinationCustomWebhookArgs.builder()\n            .key(\"destination-custom-webhook\")\n            .eventTypes(            \n                \"received\",\n                \"delete_started\",\n                \"delete_completed\",\n                \"delete_failed\")\n            .criteria(DestinationCustomWebhookCriteriaArgs.builder()\n                .anyReleaseBundle(false)\n                .registeredReleaseBundleNames(\"bundle-name\")\n                .includePatterns(\"foo/**\")\n                .excludePatterns(\"bar/**\")\n                .build())\n            .handlers(DestinationCustomWebhookHandlerArgs.builder()\n                .url(\"https://tempurl.org\")\n                .method(\"POST\")\n                .secrets(Map.ofEntries(\n                    Map.entry(\"secretName1\", \"value1\"),\n                    Map.entry(\"secretName2\", \"value2\")\n                ))\n                .httpHeaders(Map.ofEntries(\n                    Map.entry(\"headerName1\", \"value1\"),\n                    Map.entry(\"headerName2\", \"value2\")\n                ))\n                .payload(\"{ \\\"ref\\\": \\\"main\\\" , \\\"inputs\\\": { \\\"artifact_path\\\": \\\"test-repo/repo-path\\\" } }\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  destination-custom-webhook:\n    type: artifactory:DestinationCustomWebhook\n    properties:\n      key: destination-custom-webhook\n      eventTypes:\n        - received\n        - delete_started\n        - delete_completed\n        - delete_failed\n      criteria:\n        anyReleaseBundle: false\n        registeredReleaseBundleNames:\n          - bundle-name\n        includePatterns:\n          - foo/**\n        excludePatterns:\n          - bar/**\n      handlers:\n        - url: https://tempurl.org\n          method: POST\n          secrets:\n            secretName1: value1\n            secretName2: value2\n          httpHeaders:\n            headerName1: value1\n            headerName2: value2\n          payload: '{ \"ref\": \"main\" , \"inputs\": { \"artifact_path\": \"test-repo/repo-path\" } }'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "properties": {
                "criteria": {
                    "$ref": "#/types/artifactory:index/DestinationCustomWebhookCriteria:DestinationCustomWebhookCriteria",
                    "description": "Specifies where the webhook will be applied on which repositories.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Webhook description. Max length 1000 characters.\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Status of webhook. Default to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e\n"
                },
                "eventTypes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of Events in Artifactory, Distribution, Release Bundle that function as the event trigger for the Webhook. Allow values: \u003cspan pulumi-lang-nodejs=\"`received`\" pulumi-lang-dotnet=\"`Received`\" pulumi-lang-go=\"`received`\" pulumi-lang-python=\"`received`\" pulumi-lang-yaml=\"`received`\" pulumi-lang-java=\"`received`\" pulumi-lang-hcl=\"`received`\"\u003e`received`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleteStarted`\" pulumi-lang-dotnet=\"`DeleteStarted`\" pulumi-lang-go=\"`deleteStarted`\" pulumi-lang-python=\"`delete_started`\" pulumi-lang-yaml=\"`deleteStarted`\" pulumi-lang-java=\"`deleteStarted`\" pulumi-lang-hcl=\"`delete_started`\"\u003e`deleteStarted`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleteCompleted`\" pulumi-lang-dotnet=\"`DeleteCompleted`\" pulumi-lang-go=\"`deleteCompleted`\" pulumi-lang-python=\"`delete_completed`\" pulumi-lang-yaml=\"`deleteCompleted`\" pulumi-lang-java=\"`deleteCompleted`\" pulumi-lang-hcl=\"`delete_completed`\"\u003e`deleteCompleted`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleteFailed`\" pulumi-lang-dotnet=\"`DeleteFailed`\" pulumi-lang-go=\"`deleteFailed`\" pulumi-lang-python=\"`delete_failed`\" pulumi-lang-yaml=\"`deleteFailed`\" pulumi-lang-java=\"`deleteFailed`\" pulumi-lang-hcl=\"`delete_failed`\"\u003e`deleteFailed`\u003c/span\u003e\n"
                },
                "handlers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/DestinationCustomWebhookHandler:DestinationCustomWebhookHandler"
                    },
                    "description": "At least one is required.\n"
                },
                "key": {
                    "type": "string",
                    "description": "The identity key of the webhook. Must be between 2 and 200 characters. Cannot contain spaces.\n"
                }
            },
            "required": [
                "criteria",
                "enabled",
                "eventTypes",
                "handlers",
                "key"
            ],
            "inputProperties": {
                "criteria": {
                    "$ref": "#/types/artifactory:index/DestinationCustomWebhookCriteria:DestinationCustomWebhookCriteria",
                    "description": "Specifies where the webhook will be applied on which repositories.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Webhook description. Max length 1000 characters.\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Status of webhook. Default to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e\n"
                },
                "eventTypes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of Events in Artifactory, Distribution, Release Bundle that function as the event trigger for the Webhook. Allow values: \u003cspan pulumi-lang-nodejs=\"`received`\" pulumi-lang-dotnet=\"`Received`\" pulumi-lang-go=\"`received`\" pulumi-lang-python=\"`received`\" pulumi-lang-yaml=\"`received`\" pulumi-lang-java=\"`received`\" pulumi-lang-hcl=\"`received`\"\u003e`received`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleteStarted`\" pulumi-lang-dotnet=\"`DeleteStarted`\" pulumi-lang-go=\"`deleteStarted`\" pulumi-lang-python=\"`delete_started`\" pulumi-lang-yaml=\"`deleteStarted`\" pulumi-lang-java=\"`deleteStarted`\" pulumi-lang-hcl=\"`delete_started`\"\u003e`deleteStarted`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleteCompleted`\" pulumi-lang-dotnet=\"`DeleteCompleted`\" pulumi-lang-go=\"`deleteCompleted`\" pulumi-lang-python=\"`delete_completed`\" pulumi-lang-yaml=\"`deleteCompleted`\" pulumi-lang-java=\"`deleteCompleted`\" pulumi-lang-hcl=\"`delete_completed`\"\u003e`deleteCompleted`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleteFailed`\" pulumi-lang-dotnet=\"`DeleteFailed`\" pulumi-lang-go=\"`deleteFailed`\" pulumi-lang-python=\"`delete_failed`\" pulumi-lang-yaml=\"`deleteFailed`\" pulumi-lang-java=\"`deleteFailed`\" pulumi-lang-hcl=\"`delete_failed`\"\u003e`deleteFailed`\u003c/span\u003e\n"
                },
                "handlers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/DestinationCustomWebhookHandler:DestinationCustomWebhookHandler"
                    },
                    "description": "At least one is required.\n"
                },
                "key": {
                    "type": "string",
                    "description": "The identity key of the webhook. Must be between 2 and 200 characters. Cannot contain spaces.\n"
                }
            },
            "requiredInputs": [
                "criteria",
                "eventTypes",
                "handlers",
                "key"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering DestinationCustomWebhook resources.\n",
                "properties": {
                    "criteria": {
                        "$ref": "#/types/artifactory:index/DestinationCustomWebhookCriteria:DestinationCustomWebhookCriteria",
                        "description": "Specifies where the webhook will be applied on which repositories.\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Webhook description. Max length 1000 characters.\n"
                    },
                    "enabled": {
                        "type": "boolean",
                        "description": "Status of webhook. Default to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e\n"
                    },
                    "eventTypes": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of Events in Artifactory, Distribution, Release Bundle that function as the event trigger for the Webhook. Allow values: \u003cspan pulumi-lang-nodejs=\"`received`\" pulumi-lang-dotnet=\"`Received`\" pulumi-lang-go=\"`received`\" pulumi-lang-python=\"`received`\" pulumi-lang-yaml=\"`received`\" pulumi-lang-java=\"`received`\" pulumi-lang-hcl=\"`received`\"\u003e`received`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleteStarted`\" pulumi-lang-dotnet=\"`DeleteStarted`\" pulumi-lang-go=\"`deleteStarted`\" pulumi-lang-python=\"`delete_started`\" pulumi-lang-yaml=\"`deleteStarted`\" pulumi-lang-java=\"`deleteStarted`\" pulumi-lang-hcl=\"`delete_started`\"\u003e`deleteStarted`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleteCompleted`\" pulumi-lang-dotnet=\"`DeleteCompleted`\" pulumi-lang-go=\"`deleteCompleted`\" pulumi-lang-python=\"`delete_completed`\" pulumi-lang-yaml=\"`deleteCompleted`\" pulumi-lang-java=\"`deleteCompleted`\" pulumi-lang-hcl=\"`delete_completed`\"\u003e`deleteCompleted`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleteFailed`\" pulumi-lang-dotnet=\"`DeleteFailed`\" pulumi-lang-go=\"`deleteFailed`\" pulumi-lang-python=\"`delete_failed`\" pulumi-lang-yaml=\"`deleteFailed`\" pulumi-lang-java=\"`deleteFailed`\" pulumi-lang-hcl=\"`delete_failed`\"\u003e`deleteFailed`\u003c/span\u003e\n"
                    },
                    "handlers": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/artifactory:index/DestinationCustomWebhookHandler:DestinationCustomWebhookHandler"
                        },
                        "description": "At least one is required.\n"
                    },
                    "key": {
                        "type": "string",
                        "description": "The identity key of the webhook. Must be between 2 and 200 characters. Cannot contain spaces.\n"
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/destinationWebhook:DestinationWebhook": {
            "description": "Provides an Artifactory webhook resource. This can be used to register and manage Artifactory webhook subscription which enables you to be notified or notify other users when such events take place in Artifactory.\n\n## Example Usage\n\n.\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst destination_webhook = new artifactory.DestinationWebhook(\"destination-webhook\", {\n    key: \"destination-webhook\",\n    eventTypes: [\n        \"received\",\n        \"delete_started\",\n        \"delete_completed\",\n        \"delete_failed\",\n    ],\n    criteria: {\n        anyReleaseBundle: false,\n        registeredReleaseBundleNames: [\"bundle-name\"],\n        includePatterns: [\"foo/**\"],\n        excludePatterns: [\"bar/**\"],\n    },\n    handlers: [{\n        url: \"http://tempurl.org/webhook\",\n        secret: \"some-secret\",\n        proxy: \"proxy-key\",\n        customHttpHeaders: {\n            \"header-1\": \"value-1\",\n            \"header-2\": \"value-2\",\n        },\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\ndestination_webhook = artifactory.DestinationWebhook(\"destination-webhook\",\n    key=\"destination-webhook\",\n    event_types=[\n        \"received\",\n        \"delete_started\",\n        \"delete_completed\",\n        \"delete_failed\",\n    ],\n    criteria={\n        \"any_release_bundle\": False,\n        \"registered_release_bundle_names\": [\"bundle-name\"],\n        \"include_patterns\": [\"foo/**\"],\n        \"exclude_patterns\": [\"bar/**\"],\n    },\n    handlers=[{\n        \"url\": \"http://tempurl.org/webhook\",\n        \"secret\": \"some-secret\",\n        \"proxy\": \"proxy-key\",\n        \"custom_http_headers\": {\n            \"header-1\": \"value-1\",\n            \"header-2\": \"value-2\",\n        },\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var destination_webhook = new Artifactory.DestinationWebhook(\"destination-webhook\", new()\n    {\n        Key = \"destination-webhook\",\n        EventTypes = new[]\n        {\n            \"received\",\n            \"delete_started\",\n            \"delete_completed\",\n            \"delete_failed\",\n        },\n        Criteria = new Artifactory.Inputs.DestinationWebhookCriteriaArgs\n        {\n            AnyReleaseBundle = false,\n            RegisteredReleaseBundleNames = new[]\n            {\n                \"bundle-name\",\n            },\n            IncludePatterns = new[]\n            {\n                \"foo/**\",\n            },\n            ExcludePatterns = new[]\n            {\n                \"bar/**\",\n            },\n        },\n        Handlers = new[]\n        {\n            new Artifactory.Inputs.DestinationWebhookHandlerArgs\n            {\n                Url = \"http://tempurl.org/webhook\",\n                Secret = \"some-secret\",\n                Proxy = \"proxy-key\",\n                CustomHttpHeaders = \n                {\n                    { \"header-1\", \"value-1\" },\n                    { \"header-2\", \"value-2\" },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewDestinationWebhook(ctx, \"destination-webhook\", \u0026artifactory.DestinationWebhookArgs{\n\t\t\tKey: pulumi.String(\"destination-webhook\"),\n\t\t\tEventTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"received\"),\n\t\t\t\tpulumi.String(\"delete_started\"),\n\t\t\t\tpulumi.String(\"delete_completed\"),\n\t\t\t\tpulumi.String(\"delete_failed\"),\n\t\t\t},\n\t\t\tCriteria: \u0026artifactory.DestinationWebhookCriteriaArgs{\n\t\t\t\tAnyReleaseBundle: pulumi.Bool(false),\n\t\t\t\tRegisteredReleaseBundleNames: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"bundle-name\"),\n\t\t\t\t},\n\t\t\t\tIncludePatterns: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"foo/**\"),\n\t\t\t\t},\n\t\t\t\tExcludePatterns: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"bar/**\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tHandlers: artifactory.DestinationWebhookHandlerArray{\n\t\t\t\t\u0026artifactory.DestinationWebhookHandlerArgs{\n\t\t\t\t\tUrl:    pulumi.String(\"http://tempurl.org/webhook\"),\n\t\t\t\t\tSecret: pulumi.String(\"some-secret\"),\n\t\t\t\t\tProxy:  pulumi.String(\"proxy-key\"),\n\t\t\t\t\tCustomHttpHeaders: pulumi.StringMap{\n\t\t\t\t\t\t\"header-1\": pulumi.String(\"value-1\"),\n\t\t\t\t\t\t\"header-2\": pulumi.String(\"value-2\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_destinationwebhook\" \"destination-webhook\" {\n  key         = \"destination-webhook\"\n  event_types = [\"received\", \"delete_started\", \"delete_completed\", \"delete_failed\"]\n  criteria = {\n    any_release_bundle              = false\n    registered_release_bundle_names = [\"bundle-name\"]\n    include_patterns                = [\"foo/**\"]\n    exclude_patterns                = [\"bar/**\"]\n  }\n  handlers {\n    url    = \"http://tempurl.org/webhook\"\n    secret = \"some-secret\"\n    proxy  = \"proxy-key\"\n    custom_http_headers = {\n      \"header-1\" = \"value-1\"\n      \"header-2\" = \"value-2\"\n    }\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.DestinationWebhook;\nimport com.pulumi.artifactory.DestinationWebhookArgs;\nimport com.pulumi.artifactory.inputs.DestinationWebhookCriteriaArgs;\nimport com.pulumi.artifactory.inputs.DestinationWebhookHandlerArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 destination_webhook = new DestinationWebhook(\"destination-webhook\", DestinationWebhookArgs.builder()\n            .key(\"destination-webhook\")\n            .eventTypes(            \n                \"received\",\n                \"delete_started\",\n                \"delete_completed\",\n                \"delete_failed\")\n            .criteria(DestinationWebhookCriteriaArgs.builder()\n                .anyReleaseBundle(false)\n                .registeredReleaseBundleNames(\"bundle-name\")\n                .includePatterns(\"foo/**\")\n                .excludePatterns(\"bar/**\")\n                .build())\n            .handlers(DestinationWebhookHandlerArgs.builder()\n                .url(\"http://tempurl.org/webhook\")\n                .secret(\"some-secret\")\n                .proxy(\"proxy-key\")\n                .customHttpHeaders(Map.ofEntries(\n                    Map.entry(\"header-1\", \"value-1\"),\n                    Map.entry(\"header-2\", \"value-2\")\n                ))\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  destination-webhook:\n    type: artifactory:DestinationWebhook\n    properties:\n      key: destination-webhook\n      eventTypes:\n        - received\n        - delete_started\n        - delete_completed\n        - delete_failed\n      criteria:\n        anyReleaseBundle: false\n        registeredReleaseBundleNames:\n          - bundle-name\n        includePatterns:\n          - foo/**\n        excludePatterns:\n          - bar/**\n      handlers:\n        - url: http://tempurl.org/webhook\n          secret: some-secret\n          proxy: proxy-key\n          customHttpHeaders:\n            header-1: value-1\n            header-2: value-2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "properties": {
                "criteria": {
                    "$ref": "#/types/artifactory:index/DestinationWebhookCriteria:DestinationWebhookCriteria",
                    "description": "Specifies where the webhook will be applied on which repositories.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Webhook description. Max length 1000 characters.\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Status of webhook. Default to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e\n"
                },
                "eventTypes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of Events in Artifactory, Distribution, Release Bundle that function as the event trigger for the Webhook. Allow values: \u003cspan pulumi-lang-nodejs=\"`received`\" pulumi-lang-dotnet=\"`Received`\" pulumi-lang-go=\"`received`\" pulumi-lang-python=\"`received`\" pulumi-lang-yaml=\"`received`\" pulumi-lang-java=\"`received`\" pulumi-lang-hcl=\"`received`\"\u003e`received`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleteStarted`\" pulumi-lang-dotnet=\"`DeleteStarted`\" pulumi-lang-go=\"`deleteStarted`\" pulumi-lang-python=\"`delete_started`\" pulumi-lang-yaml=\"`deleteStarted`\" pulumi-lang-java=\"`deleteStarted`\" pulumi-lang-hcl=\"`delete_started`\"\u003e`deleteStarted`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleteCompleted`\" pulumi-lang-dotnet=\"`DeleteCompleted`\" pulumi-lang-go=\"`deleteCompleted`\" pulumi-lang-python=\"`delete_completed`\" pulumi-lang-yaml=\"`deleteCompleted`\" pulumi-lang-java=\"`deleteCompleted`\" pulumi-lang-hcl=\"`delete_completed`\"\u003e`deleteCompleted`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleteFailed`\" pulumi-lang-dotnet=\"`DeleteFailed`\" pulumi-lang-go=\"`deleteFailed`\" pulumi-lang-python=\"`delete_failed`\" pulumi-lang-yaml=\"`deleteFailed`\" pulumi-lang-java=\"`deleteFailed`\" pulumi-lang-hcl=\"`delete_failed`\"\u003e`deleteFailed`\u003c/span\u003e\n"
                },
                "handlers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/DestinationWebhookHandler:DestinationWebhookHandler"
                    },
                    "description": "At least one is required.\n"
                },
                "key": {
                    "type": "string",
                    "description": "The identity key of the webhook. Must be between 2 and 200 characters. Cannot contain spaces.\n"
                }
            },
            "required": [
                "criteria",
                "enabled",
                "eventTypes",
                "handlers",
                "key"
            ],
            "inputProperties": {
                "criteria": {
                    "$ref": "#/types/artifactory:index/DestinationWebhookCriteria:DestinationWebhookCriteria",
                    "description": "Specifies where the webhook will be applied on which repositories.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Webhook description. Max length 1000 characters.\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Status of webhook. Default to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e\n"
                },
                "eventTypes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of Events in Artifactory, Distribution, Release Bundle that function as the event trigger for the Webhook. Allow values: \u003cspan pulumi-lang-nodejs=\"`received`\" pulumi-lang-dotnet=\"`Received`\" pulumi-lang-go=\"`received`\" pulumi-lang-python=\"`received`\" pulumi-lang-yaml=\"`received`\" pulumi-lang-java=\"`received`\" pulumi-lang-hcl=\"`received`\"\u003e`received`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleteStarted`\" pulumi-lang-dotnet=\"`DeleteStarted`\" pulumi-lang-go=\"`deleteStarted`\" pulumi-lang-python=\"`delete_started`\" pulumi-lang-yaml=\"`deleteStarted`\" pulumi-lang-java=\"`deleteStarted`\" pulumi-lang-hcl=\"`delete_started`\"\u003e`deleteStarted`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleteCompleted`\" pulumi-lang-dotnet=\"`DeleteCompleted`\" pulumi-lang-go=\"`deleteCompleted`\" pulumi-lang-python=\"`delete_completed`\" pulumi-lang-yaml=\"`deleteCompleted`\" pulumi-lang-java=\"`deleteCompleted`\" pulumi-lang-hcl=\"`delete_completed`\"\u003e`deleteCompleted`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleteFailed`\" pulumi-lang-dotnet=\"`DeleteFailed`\" pulumi-lang-go=\"`deleteFailed`\" pulumi-lang-python=\"`delete_failed`\" pulumi-lang-yaml=\"`deleteFailed`\" pulumi-lang-java=\"`deleteFailed`\" pulumi-lang-hcl=\"`delete_failed`\"\u003e`deleteFailed`\u003c/span\u003e\n"
                },
                "handlers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/DestinationWebhookHandler:DestinationWebhookHandler"
                    },
                    "description": "At least one is required.\n"
                },
                "key": {
                    "type": "string",
                    "description": "The identity key of the webhook. Must be between 2 and 200 characters. Cannot contain spaces.\n"
                }
            },
            "requiredInputs": [
                "criteria",
                "eventTypes",
                "handlers",
                "key"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering DestinationWebhook resources.\n",
                "properties": {
                    "criteria": {
                        "$ref": "#/types/artifactory:index/DestinationWebhookCriteria:DestinationWebhookCriteria",
                        "description": "Specifies where the webhook will be applied on which repositories.\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Webhook description. Max length 1000 characters.\n"
                    },
                    "enabled": {
                        "type": "boolean",
                        "description": "Status of webhook. Default to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e\n"
                    },
                    "eventTypes": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of Events in Artifactory, Distribution, Release Bundle that function as the event trigger for the Webhook. Allow values: \u003cspan pulumi-lang-nodejs=\"`received`\" pulumi-lang-dotnet=\"`Received`\" pulumi-lang-go=\"`received`\" pulumi-lang-python=\"`received`\" pulumi-lang-yaml=\"`received`\" pulumi-lang-java=\"`received`\" pulumi-lang-hcl=\"`received`\"\u003e`received`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleteStarted`\" pulumi-lang-dotnet=\"`DeleteStarted`\" pulumi-lang-go=\"`deleteStarted`\" pulumi-lang-python=\"`delete_started`\" pulumi-lang-yaml=\"`deleteStarted`\" pulumi-lang-java=\"`deleteStarted`\" pulumi-lang-hcl=\"`delete_started`\"\u003e`deleteStarted`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleteCompleted`\" pulumi-lang-dotnet=\"`DeleteCompleted`\" pulumi-lang-go=\"`deleteCompleted`\" pulumi-lang-python=\"`delete_completed`\" pulumi-lang-yaml=\"`deleteCompleted`\" pulumi-lang-java=\"`deleteCompleted`\" pulumi-lang-hcl=\"`delete_completed`\"\u003e`deleteCompleted`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleteFailed`\" pulumi-lang-dotnet=\"`DeleteFailed`\" pulumi-lang-go=\"`deleteFailed`\" pulumi-lang-python=\"`delete_failed`\" pulumi-lang-yaml=\"`deleteFailed`\" pulumi-lang-java=\"`deleteFailed`\" pulumi-lang-hcl=\"`delete_failed`\"\u003e`deleteFailed`\u003c/span\u003e\n"
                    },
                    "handlers": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/artifactory:index/DestinationWebhookHandler:DestinationWebhookHandler"
                        },
                        "description": "At least one is required.\n"
                    },
                    "key": {
                        "type": "string",
                        "description": "The identity key of the webhook. Must be between 2 and 200 characters. Cannot contain spaces.\n"
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/distributionCustomWebhook:DistributionCustomWebhook": {
            "description": "Provides an Artifactory custom webhook resource. This can be used to register and manage Artifactory webhook subscription which enables you to be notified or notify other users when such events take place in Artifactory.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst distribution_custom_webhook = new artifactory.DistributionCustomWebhook(\"distribution-custom-webhook\", {\n    key: \"distribution-custom-webhook\",\n    eventTypes: [\n        \"distribute_started\",\n        \"distribute_completed\",\n        \"distribute_aborted\",\n        \"distribute_failed\",\n        \"delete_started\",\n        \"delete_completed\",\n        \"delete_failed\",\n    ],\n    criteria: {\n        anyReleaseBundle: false,\n        registeredReleaseBundleNames: [\"bundle-name\"],\n        includePatterns: [\"foo/**\"],\n        excludePatterns: [\"bar/**\"],\n    },\n    handlers: [{\n        url: \"https://tempurl.org\",\n        method: \"POST\",\n        secrets: {\n            secretName1: \"value1\",\n            secretName2: \"value2\",\n        },\n        httpHeaders: {\n            headerName1: \"value1\",\n            headerName2: \"value2\",\n        },\n        payload: \"{ \\\"ref\\\": \\\"main\\\" , \\\"inputs\\\": { \\\"artifact_path\\\": \\\"test-repo/repo-path\\\" } }\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\ndistribution_custom_webhook = artifactory.DistributionCustomWebhook(\"distribution-custom-webhook\",\n    key=\"distribution-custom-webhook\",\n    event_types=[\n        \"distribute_started\",\n        \"distribute_completed\",\n        \"distribute_aborted\",\n        \"distribute_failed\",\n        \"delete_started\",\n        \"delete_completed\",\n        \"delete_failed\",\n    ],\n    criteria={\n        \"any_release_bundle\": False,\n        \"registered_release_bundle_names\": [\"bundle-name\"],\n        \"include_patterns\": [\"foo/**\"],\n        \"exclude_patterns\": [\"bar/**\"],\n    },\n    handlers=[{\n        \"url\": \"https://tempurl.org\",\n        \"method\": \"POST\",\n        \"secrets\": {\n            \"secretName1\": \"value1\",\n            \"secretName2\": \"value2\",\n        },\n        \"http_headers\": {\n            \"headerName1\": \"value1\",\n            \"headerName2\": \"value2\",\n        },\n        \"payload\": \"{ \\\"ref\\\": \\\"main\\\" , \\\"inputs\\\": { \\\"artifact_path\\\": \\\"test-repo/repo-path\\\" } }\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var distribution_custom_webhook = new Artifactory.DistributionCustomWebhook(\"distribution-custom-webhook\", new()\n    {\n        Key = \"distribution-custom-webhook\",\n        EventTypes = new[]\n        {\n            \"distribute_started\",\n            \"distribute_completed\",\n            \"distribute_aborted\",\n            \"distribute_failed\",\n            \"delete_started\",\n            \"delete_completed\",\n            \"delete_failed\",\n        },\n        Criteria = new Artifactory.Inputs.DistributionCustomWebhookCriteriaArgs\n        {\n            AnyReleaseBundle = false,\n            RegisteredReleaseBundleNames = new[]\n            {\n                \"bundle-name\",\n            },\n            IncludePatterns = new[]\n            {\n                \"foo/**\",\n            },\n            ExcludePatterns = new[]\n            {\n                \"bar/**\",\n            },\n        },\n        Handlers = new[]\n        {\n            new Artifactory.Inputs.DistributionCustomWebhookHandlerArgs\n            {\n                Url = \"https://tempurl.org\",\n                Method = \"POST\",\n                Secrets = \n                {\n                    { \"secretName1\", \"value1\" },\n                    { \"secretName2\", \"value2\" },\n                },\n                HttpHeaders = \n                {\n                    { \"headerName1\", \"value1\" },\n                    { \"headerName2\", \"value2\" },\n                },\n                Payload = \"{ \\\"ref\\\": \\\"main\\\" , \\\"inputs\\\": { \\\"artifact_path\\\": \\\"test-repo/repo-path\\\" } }\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewDistributionCustomWebhook(ctx, \"distribution-custom-webhook\", \u0026artifactory.DistributionCustomWebhookArgs{\n\t\t\tKey: pulumi.String(\"distribution-custom-webhook\"),\n\t\t\tEventTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"distribute_started\"),\n\t\t\t\tpulumi.String(\"distribute_completed\"),\n\t\t\t\tpulumi.String(\"distribute_aborted\"),\n\t\t\t\tpulumi.String(\"distribute_failed\"),\n\t\t\t\tpulumi.String(\"delete_started\"),\n\t\t\t\tpulumi.String(\"delete_completed\"),\n\t\t\t\tpulumi.String(\"delete_failed\"),\n\t\t\t},\n\t\t\tCriteria: \u0026artifactory.DistributionCustomWebhookCriteriaArgs{\n\t\t\t\tAnyReleaseBundle: pulumi.Bool(false),\n\t\t\t\tRegisteredReleaseBundleNames: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"bundle-name\"),\n\t\t\t\t},\n\t\t\t\tIncludePatterns: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"foo/**\"),\n\t\t\t\t},\n\t\t\t\tExcludePatterns: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"bar/**\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tHandlers: artifactory.DistributionCustomWebhookHandlerArray{\n\t\t\t\t\u0026artifactory.DistributionCustomWebhookHandlerArgs{\n\t\t\t\t\tUrl:    pulumi.String(\"https://tempurl.org\"),\n\t\t\t\t\tMethod: pulumi.String(\"POST\"),\n\t\t\t\t\tSecrets: pulumi.StringMap{\n\t\t\t\t\t\t\"secretName1\": pulumi.String(\"value1\"),\n\t\t\t\t\t\t\"secretName2\": pulumi.String(\"value2\"),\n\t\t\t\t\t},\n\t\t\t\t\tHttpHeaders: pulumi.StringMap{\n\t\t\t\t\t\t\"headerName1\": pulumi.String(\"value1\"),\n\t\t\t\t\t\t\"headerName2\": pulumi.String(\"value2\"),\n\t\t\t\t\t},\n\t\t\t\t\tPayload: pulumi.String(\"{ \\\"ref\\\": \\\"main\\\" , \\\"inputs\\\": { \\\"artifact_path\\\": \\\"test-repo/repo-path\\\" } }\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_distributioncustomwebhook\" \"distribution-custom-webhook\" {\n  key         = \"distribution-custom-webhook\"\n  event_types = [\"distribute_started\", \"distribute_completed\", \"distribute_aborted\", \"distribute_failed\", \"delete_started\", \"delete_completed\", \"delete_failed\"]\n  criteria = {\n    any_release_bundle              = false\n    registered_release_bundle_names = [\"bundle-name\"]\n    include_patterns                = [\"foo/**\"]\n    exclude_patterns                = [\"bar/**\"]\n  }\n  handlers {\n    url    = \"https://tempurl.org\"\n    method = \"POST\"\n    secrets = {\n      \"secretName1\" = \"value1\"\n      \"secretName2\" = \"value2\"\n    }\n    http_headers = {\n      \"headerName1\" = \"value1\"\n      \"headerName2\" = \"value2\"\n    }\n    payload = \"{ \\\"ref\\\": \\\"main\\\" , \\\"inputs\\\": { \\\"artifact_path\\\": \\\"test-repo/repo-path\\\" } }\"\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.DistributionCustomWebhook;\nimport com.pulumi.artifactory.DistributionCustomWebhookArgs;\nimport com.pulumi.artifactory.inputs.DistributionCustomWebhookCriteriaArgs;\nimport com.pulumi.artifactory.inputs.DistributionCustomWebhookHandlerArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 distribution_custom_webhook = new DistributionCustomWebhook(\"distribution-custom-webhook\", DistributionCustomWebhookArgs.builder()\n            .key(\"distribution-custom-webhook\")\n            .eventTypes(            \n                \"distribute_started\",\n                \"distribute_completed\",\n                \"distribute_aborted\",\n                \"distribute_failed\",\n                \"delete_started\",\n                \"delete_completed\",\n                \"delete_failed\")\n            .criteria(DistributionCustomWebhookCriteriaArgs.builder()\n                .anyReleaseBundle(false)\n                .registeredReleaseBundleNames(\"bundle-name\")\n                .includePatterns(\"foo/**\")\n                .excludePatterns(\"bar/**\")\n                .build())\n            .handlers(DistributionCustomWebhookHandlerArgs.builder()\n                .url(\"https://tempurl.org\")\n                .method(\"POST\")\n                .secrets(Map.ofEntries(\n                    Map.entry(\"secretName1\", \"value1\"),\n                    Map.entry(\"secretName2\", \"value2\")\n                ))\n                .httpHeaders(Map.ofEntries(\n                    Map.entry(\"headerName1\", \"value1\"),\n                    Map.entry(\"headerName2\", \"value2\")\n                ))\n                .payload(\"{ \\\"ref\\\": \\\"main\\\" , \\\"inputs\\\": { \\\"artifact_path\\\": \\\"test-repo/repo-path\\\" } }\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  distribution-custom-webhook:\n    type: artifactory:DistributionCustomWebhook\n    properties:\n      key: distribution-custom-webhook\n      eventTypes:\n        - distribute_started\n        - distribute_completed\n        - distribute_aborted\n        - distribute_failed\n        - delete_started\n        - delete_completed\n        - delete_failed\n      criteria:\n        anyReleaseBundle: false\n        registeredReleaseBundleNames:\n          - bundle-name\n        includePatterns:\n          - foo/**\n        excludePatterns:\n          - bar/**\n      handlers:\n        - url: https://tempurl.org\n          method: POST\n          secrets:\n            secretName1: value1\n            secretName2: value2\n          httpHeaders:\n            headerName1: value1\n            headerName2: value2\n          payload: '{ \"ref\": \"main\" , \"inputs\": { \"artifact_path\": \"test-repo/repo-path\" } }'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "properties": {
                "criteria": {
                    "$ref": "#/types/artifactory:index/DistributionCustomWebhookCriteria:DistributionCustomWebhookCriteria",
                    "description": "Specifies where the webhook will be applied on which repositories.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Webhook description. Max length 1000 characters.\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Status of webhook. Default to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                },
                "eventTypes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of Events in Artifactory, Distribution, Release Bundle that function as the event trigger for the Webhook. Allow values: \u003cspan pulumi-lang-nodejs=\"`distributeStarted`\" pulumi-lang-dotnet=\"`DistributeStarted`\" pulumi-lang-go=\"`distributeStarted`\" pulumi-lang-python=\"`distribute_started`\" pulumi-lang-yaml=\"`distributeStarted`\" pulumi-lang-java=\"`distributeStarted`\" pulumi-lang-hcl=\"`distribute_started`\"\u003e`distributeStarted`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`distributeCompleted`\" pulumi-lang-dotnet=\"`DistributeCompleted`\" pulumi-lang-go=\"`distributeCompleted`\" pulumi-lang-python=\"`distribute_completed`\" pulumi-lang-yaml=\"`distributeCompleted`\" pulumi-lang-java=\"`distributeCompleted`\" pulumi-lang-hcl=\"`distribute_completed`\"\u003e`distributeCompleted`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`distributeAborted`\" pulumi-lang-dotnet=\"`DistributeAborted`\" pulumi-lang-go=\"`distributeAborted`\" pulumi-lang-python=\"`distribute_aborted`\" pulumi-lang-yaml=\"`distributeAborted`\" pulumi-lang-java=\"`distributeAborted`\" pulumi-lang-hcl=\"`distribute_aborted`\"\u003e`distributeAborted`\u003c/span\u003e, `distribute_failed, \u003cspan pulumi-lang-nodejs=\"`deleteStarted`\" pulumi-lang-dotnet=\"`DeleteStarted`\" pulumi-lang-go=\"`deleteStarted`\" pulumi-lang-python=\"`delete_started`\" pulumi-lang-yaml=\"`deleteStarted`\" pulumi-lang-java=\"`deleteStarted`\" pulumi-lang-hcl=\"`delete_started`\"\u003e`deleteStarted`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleteCompleted`\" pulumi-lang-dotnet=\"`DeleteCompleted`\" pulumi-lang-go=\"`deleteCompleted`\" pulumi-lang-python=\"`delete_completed`\" pulumi-lang-yaml=\"`deleteCompleted`\" pulumi-lang-java=\"`deleteCompleted`\" pulumi-lang-hcl=\"`delete_completed`\"\u003e`deleteCompleted`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleteFailed`\" pulumi-lang-dotnet=\"`DeleteFailed`\" pulumi-lang-go=\"`deleteFailed`\" pulumi-lang-python=\"`delete_failed`\" pulumi-lang-yaml=\"`deleteFailed`\" pulumi-lang-java=\"`deleteFailed`\" pulumi-lang-hcl=\"`delete_failed`\"\u003e`deleteFailed`\u003c/span\u003e\n"
                },
                "handlers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/DistributionCustomWebhookHandler:DistributionCustomWebhookHandler"
                    },
                    "description": "At least one is required.\n"
                },
                "key": {
                    "type": "string",
                    "description": "The identity key of the webhook. Must be between 2 and 200 characters. Cannot contain spaces.\n"
                }
            },
            "required": [
                "criteria",
                "enabled",
                "eventTypes",
                "handlers",
                "key"
            ],
            "inputProperties": {
                "criteria": {
                    "$ref": "#/types/artifactory:index/DistributionCustomWebhookCriteria:DistributionCustomWebhookCriteria",
                    "description": "Specifies where the webhook will be applied on which repositories.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Webhook description. Max length 1000 characters.\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Status of webhook. Default to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                },
                "eventTypes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of Events in Artifactory, Distribution, Release Bundle that function as the event trigger for the Webhook. Allow values: \u003cspan pulumi-lang-nodejs=\"`distributeStarted`\" pulumi-lang-dotnet=\"`DistributeStarted`\" pulumi-lang-go=\"`distributeStarted`\" pulumi-lang-python=\"`distribute_started`\" pulumi-lang-yaml=\"`distributeStarted`\" pulumi-lang-java=\"`distributeStarted`\" pulumi-lang-hcl=\"`distribute_started`\"\u003e`distributeStarted`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`distributeCompleted`\" pulumi-lang-dotnet=\"`DistributeCompleted`\" pulumi-lang-go=\"`distributeCompleted`\" pulumi-lang-python=\"`distribute_completed`\" pulumi-lang-yaml=\"`distributeCompleted`\" pulumi-lang-java=\"`distributeCompleted`\" pulumi-lang-hcl=\"`distribute_completed`\"\u003e`distributeCompleted`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`distributeAborted`\" pulumi-lang-dotnet=\"`DistributeAborted`\" pulumi-lang-go=\"`distributeAborted`\" pulumi-lang-python=\"`distribute_aborted`\" pulumi-lang-yaml=\"`distributeAborted`\" pulumi-lang-java=\"`distributeAborted`\" pulumi-lang-hcl=\"`distribute_aborted`\"\u003e`distributeAborted`\u003c/span\u003e, `distribute_failed, \u003cspan pulumi-lang-nodejs=\"`deleteStarted`\" pulumi-lang-dotnet=\"`DeleteStarted`\" pulumi-lang-go=\"`deleteStarted`\" pulumi-lang-python=\"`delete_started`\" pulumi-lang-yaml=\"`deleteStarted`\" pulumi-lang-java=\"`deleteStarted`\" pulumi-lang-hcl=\"`delete_started`\"\u003e`deleteStarted`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleteCompleted`\" pulumi-lang-dotnet=\"`DeleteCompleted`\" pulumi-lang-go=\"`deleteCompleted`\" pulumi-lang-python=\"`delete_completed`\" pulumi-lang-yaml=\"`deleteCompleted`\" pulumi-lang-java=\"`deleteCompleted`\" pulumi-lang-hcl=\"`delete_completed`\"\u003e`deleteCompleted`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleteFailed`\" pulumi-lang-dotnet=\"`DeleteFailed`\" pulumi-lang-go=\"`deleteFailed`\" pulumi-lang-python=\"`delete_failed`\" pulumi-lang-yaml=\"`deleteFailed`\" pulumi-lang-java=\"`deleteFailed`\" pulumi-lang-hcl=\"`delete_failed`\"\u003e`deleteFailed`\u003c/span\u003e\n"
                },
                "handlers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/DistributionCustomWebhookHandler:DistributionCustomWebhookHandler"
                    },
                    "description": "At least one is required.\n"
                },
                "key": {
                    "type": "string",
                    "description": "The identity key of the webhook. Must be between 2 and 200 characters. Cannot contain spaces.\n"
                }
            },
            "requiredInputs": [
                "criteria",
                "eventTypes",
                "handlers",
                "key"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering DistributionCustomWebhook resources.\n",
                "properties": {
                    "criteria": {
                        "$ref": "#/types/artifactory:index/DistributionCustomWebhookCriteria:DistributionCustomWebhookCriteria",
                        "description": "Specifies where the webhook will be applied on which repositories.\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Webhook description. Max length 1000 characters.\n"
                    },
                    "enabled": {
                        "type": "boolean",
                        "description": "Status of webhook. Default to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                    },
                    "eventTypes": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of Events in Artifactory, Distribution, Release Bundle that function as the event trigger for the Webhook. Allow values: \u003cspan pulumi-lang-nodejs=\"`distributeStarted`\" pulumi-lang-dotnet=\"`DistributeStarted`\" pulumi-lang-go=\"`distributeStarted`\" pulumi-lang-python=\"`distribute_started`\" pulumi-lang-yaml=\"`distributeStarted`\" pulumi-lang-java=\"`distributeStarted`\" pulumi-lang-hcl=\"`distribute_started`\"\u003e`distributeStarted`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`distributeCompleted`\" pulumi-lang-dotnet=\"`DistributeCompleted`\" pulumi-lang-go=\"`distributeCompleted`\" pulumi-lang-python=\"`distribute_completed`\" pulumi-lang-yaml=\"`distributeCompleted`\" pulumi-lang-java=\"`distributeCompleted`\" pulumi-lang-hcl=\"`distribute_completed`\"\u003e`distributeCompleted`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`distributeAborted`\" pulumi-lang-dotnet=\"`DistributeAborted`\" pulumi-lang-go=\"`distributeAborted`\" pulumi-lang-python=\"`distribute_aborted`\" pulumi-lang-yaml=\"`distributeAborted`\" pulumi-lang-java=\"`distributeAborted`\" pulumi-lang-hcl=\"`distribute_aborted`\"\u003e`distributeAborted`\u003c/span\u003e, `distribute_failed, \u003cspan pulumi-lang-nodejs=\"`deleteStarted`\" pulumi-lang-dotnet=\"`DeleteStarted`\" pulumi-lang-go=\"`deleteStarted`\" pulumi-lang-python=\"`delete_started`\" pulumi-lang-yaml=\"`deleteStarted`\" pulumi-lang-java=\"`deleteStarted`\" pulumi-lang-hcl=\"`delete_started`\"\u003e`deleteStarted`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleteCompleted`\" pulumi-lang-dotnet=\"`DeleteCompleted`\" pulumi-lang-go=\"`deleteCompleted`\" pulumi-lang-python=\"`delete_completed`\" pulumi-lang-yaml=\"`deleteCompleted`\" pulumi-lang-java=\"`deleteCompleted`\" pulumi-lang-hcl=\"`delete_completed`\"\u003e`deleteCompleted`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleteFailed`\" pulumi-lang-dotnet=\"`DeleteFailed`\" pulumi-lang-go=\"`deleteFailed`\" pulumi-lang-python=\"`delete_failed`\" pulumi-lang-yaml=\"`deleteFailed`\" pulumi-lang-java=\"`deleteFailed`\" pulumi-lang-hcl=\"`delete_failed`\"\u003e`deleteFailed`\u003c/span\u003e\n"
                    },
                    "handlers": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/artifactory:index/DistributionCustomWebhookHandler:DistributionCustomWebhookHandler"
                        },
                        "description": "At least one is required.\n"
                    },
                    "key": {
                        "type": "string",
                        "description": "The identity key of the webhook. Must be between 2 and 200 characters. Cannot contain spaces.\n"
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/distributionPublicKey:DistributionPublicKey": {
            "description": "Provides an Artifactory Distribution Public Key resource. This can be used to create and manage Artifactory Distribution Public Keys.\n\nSee [API description](https://jfrog.com/help/r/jfrog-rest-apis/set-distributionpublic-gpg-key) in the Artifactory documentation for more details. Also the [UI documentation](https://jfrog.com/help/r/jfrog-platform-administration-documentation/managing-webstart-and-jar-signing) has further details on where to find these keys in Artifactory.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\nimport * as std from \"@pulumi/std\";\n\nconst my_key = new artifactory.DistributionPublicKey(\"my-key\", {\n    alias: \"my-key\",\n    publicKey: std.file({\n        input: \"samples/rsa.pub\",\n    }).then(invoke =\u003e invoke.result),\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\nimport pulumi_std as std\n\nmy_key = artifactory.DistributionPublicKey(\"my-key\",\n    alias=\"my-key\",\n    public_key=std.file(input=\"samples/rsa.pub\").result)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var my_key = new Artifactory.DistributionPublicKey(\"my-key\", new()\n    {\n        Alias = \"my-key\",\n        PublicKey = Std.File.Invoke(new()\n        {\n            Input = \"samples/rsa.pub\",\n        }).Apply(invoke =\u003e invoke.Result),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"samples/rsa.pub\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = artifactory.NewDistributionPublicKey(ctx, \"my-key\", \u0026artifactory.DistributionPublicKeyArgs{\n\t\t\tAlias:     pulumi.String(\"my-key\"),\n\t\t\tPublicKey: pulumi.String(invokeFile.Result),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n    std = {\n      source = \"pulumi/std\"\n    }\n  }\n}\n\nresource \"artifactory_distributionpublickey\" \"my-key\" {\n  alias      = \"my-key\"\n  public_key = file(\"samples/rsa.pub\")\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.DistributionPublicKey;\nimport com.pulumi.artifactory.DistributionPublicKeyArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FileArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 my_key = new DistributionPublicKey(\"my-key\", DistributionPublicKeyArgs.builder()\n            .alias(\"my-key\")\n            .publicKey(StdFunctions.file(FileArgs.builder()\n                .input(\"samples/rsa.pub\")\n                .build()).result())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  my-key:\n    type: artifactory:DistributionPublicKey\n    properties:\n      alias: my-key\n      publicKey:\n        fn::invoke:\n          function: std:file\n          arguments:\n            input: samples/rsa.pub\n          return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nDistribution Public Key can be imported using the key id, e.g.\n\n```sh\n$ pulumi import artifactory:index/distributionPublicKey:DistributionPublicKey my-key keyid\n```\n\n",
            "properties": {
                "alias": {
                    "type": "string",
                    "description": "Will be used as an identifier when uploading/retrieving the public key via REST API.\n"
                },
                "fingerprint": {
                    "type": "string",
                    "description": "Returns the computed key fingerprint\n"
                },
                "issuedBy": {
                    "type": "string",
                    "description": "Returns the name and eMail address of issuer\n"
                },
                "issuedOn": {
                    "type": "string",
                    "description": "Returns the date/time when this GPG key was created\n"
                },
                "keyId": {
                    "type": "string",
                    "description": "Returns the key id by which this key is referenced in Artifactory\n"
                },
                "publicKey": {
                    "type": "string",
                    "description": "The Public key to add as a trusted distribution GPG key.\n\nThe following additional attributes are exported:\n"
                },
                "validUntil": {
                    "type": "string",
                    "description": "Returns the date/time when this GPG key expires.\n"
                }
            },
            "required": [
                "alias",
                "fingerprint",
                "issuedBy",
                "issuedOn",
                "keyId",
                "publicKey",
                "validUntil"
            ],
            "inputProperties": {
                "alias": {
                    "type": "string",
                    "description": "Will be used as an identifier when uploading/retrieving the public key via REST API.\n"
                },
                "publicKey": {
                    "type": "string",
                    "description": "The Public key to add as a trusted distribution GPG key.\n\nThe following additional attributes are exported:\n"
                }
            },
            "requiredInputs": [
                "alias",
                "publicKey"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering DistributionPublicKey resources.\n",
                "properties": {
                    "alias": {
                        "type": "string",
                        "description": "Will be used as an identifier when uploading/retrieving the public key via REST API.\n"
                    },
                    "fingerprint": {
                        "type": "string",
                        "description": "Returns the computed key fingerprint\n"
                    },
                    "issuedBy": {
                        "type": "string",
                        "description": "Returns the name and eMail address of issuer\n"
                    },
                    "issuedOn": {
                        "type": "string",
                        "description": "Returns the date/time when this GPG key was created\n"
                    },
                    "keyId": {
                        "type": "string",
                        "description": "Returns the key id by which this key is referenced in Artifactory\n"
                    },
                    "publicKey": {
                        "type": "string",
                        "description": "The Public key to add as a trusted distribution GPG key.\n\nThe following additional attributes are exported:\n"
                    },
                    "validUntil": {
                        "type": "string",
                        "description": "Returns the date/time when this GPG key expires.\n"
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/distributionWebhook:DistributionWebhook": {
            "description": "Provides an Artifactory webhook resource. This can be used to register and manage Artifactory webhook subscription which enables you to be notified or notify other users when such events take place in Artifactory.\n\n## Example Usage\n\n.\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst distribution_webhook = new artifactory.DistributionWebhook(\"distribution-webhook\", {\n    key: \"distribution-webhook\",\n    eventTypes: [\n        \"distribute_started\",\n        \"distribute_completed\",\n        \"distribute_aborted\",\n        \"distribute_failed\",\n        \"delete_started\",\n        \"delete_completed\",\n        \"delete_failed\",\n    ],\n    criteria: {\n        anyReleaseBundle: false,\n        registeredReleaseBundleNames: [\"bundle-name\"],\n        includePatterns: [\"foo/**\"],\n        excludePatterns: [\"bar/**\"],\n    },\n    handlers: [{\n        url: \"http://tempurl.org/webhook\",\n        secret: \"some-secret\",\n        proxy: \"proxy-key\",\n        customHttpHeaders: {\n            \"header-1\": \"value-1\",\n            \"header-2\": \"value-2\",\n        },\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\ndistribution_webhook = artifactory.DistributionWebhook(\"distribution-webhook\",\n    key=\"distribution-webhook\",\n    event_types=[\n        \"distribute_started\",\n        \"distribute_completed\",\n        \"distribute_aborted\",\n        \"distribute_failed\",\n        \"delete_started\",\n        \"delete_completed\",\n        \"delete_failed\",\n    ],\n    criteria={\n        \"any_release_bundle\": False,\n        \"registered_release_bundle_names\": [\"bundle-name\"],\n        \"include_patterns\": [\"foo/**\"],\n        \"exclude_patterns\": [\"bar/**\"],\n    },\n    handlers=[{\n        \"url\": \"http://tempurl.org/webhook\",\n        \"secret\": \"some-secret\",\n        \"proxy\": \"proxy-key\",\n        \"custom_http_headers\": {\n            \"header-1\": \"value-1\",\n            \"header-2\": \"value-2\",\n        },\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var distribution_webhook = new Artifactory.DistributionWebhook(\"distribution-webhook\", new()\n    {\n        Key = \"distribution-webhook\",\n        EventTypes = new[]\n        {\n            \"distribute_started\",\n            \"distribute_completed\",\n            \"distribute_aborted\",\n            \"distribute_failed\",\n            \"delete_started\",\n            \"delete_completed\",\n            \"delete_failed\",\n        },\n        Criteria = new Artifactory.Inputs.DistributionWebhookCriteriaArgs\n        {\n            AnyReleaseBundle = false,\n            RegisteredReleaseBundleNames = new[]\n            {\n                \"bundle-name\",\n            },\n            IncludePatterns = new[]\n            {\n                \"foo/**\",\n            },\n            ExcludePatterns = new[]\n            {\n                \"bar/**\",\n            },\n        },\n        Handlers = new[]\n        {\n            new Artifactory.Inputs.DistributionWebhookHandlerArgs\n            {\n                Url = \"http://tempurl.org/webhook\",\n                Secret = \"some-secret\",\n                Proxy = \"proxy-key\",\n                CustomHttpHeaders = \n                {\n                    { \"header-1\", \"value-1\" },\n                    { \"header-2\", \"value-2\" },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewDistributionWebhook(ctx, \"distribution-webhook\", \u0026artifactory.DistributionWebhookArgs{\n\t\t\tKey: pulumi.String(\"distribution-webhook\"),\n\t\t\tEventTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"distribute_started\"),\n\t\t\t\tpulumi.String(\"distribute_completed\"),\n\t\t\t\tpulumi.String(\"distribute_aborted\"),\n\t\t\t\tpulumi.String(\"distribute_failed\"),\n\t\t\t\tpulumi.String(\"delete_started\"),\n\t\t\t\tpulumi.String(\"delete_completed\"),\n\t\t\t\tpulumi.String(\"delete_failed\"),\n\t\t\t},\n\t\t\tCriteria: \u0026artifactory.DistributionWebhookCriteriaArgs{\n\t\t\t\tAnyReleaseBundle: pulumi.Bool(false),\n\t\t\t\tRegisteredReleaseBundleNames: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"bundle-name\"),\n\t\t\t\t},\n\t\t\t\tIncludePatterns: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"foo/**\"),\n\t\t\t\t},\n\t\t\t\tExcludePatterns: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"bar/**\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tHandlers: artifactory.DistributionWebhookHandlerArray{\n\t\t\t\t\u0026artifactory.DistributionWebhookHandlerArgs{\n\t\t\t\t\tUrl:    pulumi.String(\"http://tempurl.org/webhook\"),\n\t\t\t\t\tSecret: pulumi.String(\"some-secret\"),\n\t\t\t\t\tProxy:  pulumi.String(\"proxy-key\"),\n\t\t\t\t\tCustomHttpHeaders: pulumi.StringMap{\n\t\t\t\t\t\t\"header-1\": pulumi.String(\"value-1\"),\n\t\t\t\t\t\t\"header-2\": pulumi.String(\"value-2\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_distributionwebhook\" \"distribution-webhook\" {\n  key         = \"distribution-webhook\"\n  event_types = [\"distribute_started\", \"distribute_completed\", \"distribute_aborted\", \"distribute_failed\", \"delete_started\", \"delete_completed\", \"delete_failed\"]\n  criteria = {\n    any_release_bundle              = false\n    registered_release_bundle_names = [\"bundle-name\"]\n    include_patterns                = [\"foo/**\"]\n    exclude_patterns                = [\"bar/**\"]\n  }\n  handlers {\n    url    = \"http://tempurl.org/webhook\"\n    secret = \"some-secret\"\n    proxy  = \"proxy-key\"\n    custom_http_headers = {\n      \"header-1\" = \"value-1\"\n      \"header-2\" = \"value-2\"\n    }\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.DistributionWebhook;\nimport com.pulumi.artifactory.DistributionWebhookArgs;\nimport com.pulumi.artifactory.inputs.DistributionWebhookCriteriaArgs;\nimport com.pulumi.artifactory.inputs.DistributionWebhookHandlerArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 distribution_webhook = new DistributionWebhook(\"distribution-webhook\", DistributionWebhookArgs.builder()\n            .key(\"distribution-webhook\")\n            .eventTypes(            \n                \"distribute_started\",\n                \"distribute_completed\",\n                \"distribute_aborted\",\n                \"distribute_failed\",\n                \"delete_started\",\n                \"delete_completed\",\n                \"delete_failed\")\n            .criteria(DistributionWebhookCriteriaArgs.builder()\n                .anyReleaseBundle(false)\n                .registeredReleaseBundleNames(\"bundle-name\")\n                .includePatterns(\"foo/**\")\n                .excludePatterns(\"bar/**\")\n                .build())\n            .handlers(DistributionWebhookHandlerArgs.builder()\n                .url(\"http://tempurl.org/webhook\")\n                .secret(\"some-secret\")\n                .proxy(\"proxy-key\")\n                .customHttpHeaders(Map.ofEntries(\n                    Map.entry(\"header-1\", \"value-1\"),\n                    Map.entry(\"header-2\", \"value-2\")\n                ))\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  distribution-webhook:\n    type: artifactory:DistributionWebhook\n    properties:\n      key: distribution-webhook\n      eventTypes:\n        - distribute_started\n        - distribute_completed\n        - distribute_aborted\n        - distribute_failed\n        - delete_started\n        - delete_completed\n        - delete_failed\n      criteria:\n        anyReleaseBundle: false\n        registeredReleaseBundleNames:\n          - bundle-name\n        includePatterns:\n          - foo/**\n        excludePatterns:\n          - bar/**\n      handlers:\n        - url: http://tempurl.org/webhook\n          secret: some-secret\n          proxy: proxy-key\n          customHttpHeaders:\n            header-1: value-1\n            header-2: value-2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "properties": {
                "criteria": {
                    "$ref": "#/types/artifactory:index/DistributionWebhookCriteria:DistributionWebhookCriteria",
                    "description": "Specifies where the webhook will be applied on which repositories.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Webhook description. Max length 1000 characters.\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Status of webhook. Default to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                },
                "eventTypes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of Events in Artifactory, Distribution, Release Bundle that function as the event trigger for the Webhook. Allow values: \u003cspan pulumi-lang-nodejs=\"`distributeStarted`\" pulumi-lang-dotnet=\"`DistributeStarted`\" pulumi-lang-go=\"`distributeStarted`\" pulumi-lang-python=\"`distribute_started`\" pulumi-lang-yaml=\"`distributeStarted`\" pulumi-lang-java=\"`distributeStarted`\" pulumi-lang-hcl=\"`distribute_started`\"\u003e`distributeStarted`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`distributeCompleted`\" pulumi-lang-dotnet=\"`DistributeCompleted`\" pulumi-lang-go=\"`distributeCompleted`\" pulumi-lang-python=\"`distribute_completed`\" pulumi-lang-yaml=\"`distributeCompleted`\" pulumi-lang-java=\"`distributeCompleted`\" pulumi-lang-hcl=\"`distribute_completed`\"\u003e`distributeCompleted`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`distributeAborted`\" pulumi-lang-dotnet=\"`DistributeAborted`\" pulumi-lang-go=\"`distributeAborted`\" pulumi-lang-python=\"`distribute_aborted`\" pulumi-lang-yaml=\"`distributeAborted`\" pulumi-lang-java=\"`distributeAborted`\" pulumi-lang-hcl=\"`distribute_aborted`\"\u003e`distributeAborted`\u003c/span\u003e, `distribute_failed, \u003cspan pulumi-lang-nodejs=\"`deleteStarted`\" pulumi-lang-dotnet=\"`DeleteStarted`\" pulumi-lang-go=\"`deleteStarted`\" pulumi-lang-python=\"`delete_started`\" pulumi-lang-yaml=\"`deleteStarted`\" pulumi-lang-java=\"`deleteStarted`\" pulumi-lang-hcl=\"`delete_started`\"\u003e`deleteStarted`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleteCompleted`\" pulumi-lang-dotnet=\"`DeleteCompleted`\" pulumi-lang-go=\"`deleteCompleted`\" pulumi-lang-python=\"`delete_completed`\" pulumi-lang-yaml=\"`deleteCompleted`\" pulumi-lang-java=\"`deleteCompleted`\" pulumi-lang-hcl=\"`delete_completed`\"\u003e`deleteCompleted`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleteFailed`\" pulumi-lang-dotnet=\"`DeleteFailed`\" pulumi-lang-go=\"`deleteFailed`\" pulumi-lang-python=\"`delete_failed`\" pulumi-lang-yaml=\"`deleteFailed`\" pulumi-lang-java=\"`deleteFailed`\" pulumi-lang-hcl=\"`delete_failed`\"\u003e`deleteFailed`\u003c/span\u003e\n"
                },
                "handlers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/DistributionWebhookHandler:DistributionWebhookHandler"
                    },
                    "description": "At least one is required.\n"
                },
                "key": {
                    "type": "string",
                    "description": "The identity key of the webhook. Must be between 2 and 200 characters. Cannot contain spaces.\n"
                }
            },
            "required": [
                "criteria",
                "enabled",
                "eventTypes",
                "handlers",
                "key"
            ],
            "inputProperties": {
                "criteria": {
                    "$ref": "#/types/artifactory:index/DistributionWebhookCriteria:DistributionWebhookCriteria",
                    "description": "Specifies where the webhook will be applied on which repositories.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Webhook description. Max length 1000 characters.\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Status of webhook. Default to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                },
                "eventTypes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of Events in Artifactory, Distribution, Release Bundle that function as the event trigger for the Webhook. Allow values: \u003cspan pulumi-lang-nodejs=\"`distributeStarted`\" pulumi-lang-dotnet=\"`DistributeStarted`\" pulumi-lang-go=\"`distributeStarted`\" pulumi-lang-python=\"`distribute_started`\" pulumi-lang-yaml=\"`distributeStarted`\" pulumi-lang-java=\"`distributeStarted`\" pulumi-lang-hcl=\"`distribute_started`\"\u003e`distributeStarted`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`distributeCompleted`\" pulumi-lang-dotnet=\"`DistributeCompleted`\" pulumi-lang-go=\"`distributeCompleted`\" pulumi-lang-python=\"`distribute_completed`\" pulumi-lang-yaml=\"`distributeCompleted`\" pulumi-lang-java=\"`distributeCompleted`\" pulumi-lang-hcl=\"`distribute_completed`\"\u003e`distributeCompleted`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`distributeAborted`\" pulumi-lang-dotnet=\"`DistributeAborted`\" pulumi-lang-go=\"`distributeAborted`\" pulumi-lang-python=\"`distribute_aborted`\" pulumi-lang-yaml=\"`distributeAborted`\" pulumi-lang-java=\"`distributeAborted`\" pulumi-lang-hcl=\"`distribute_aborted`\"\u003e`distributeAborted`\u003c/span\u003e, `distribute_failed, \u003cspan pulumi-lang-nodejs=\"`deleteStarted`\" pulumi-lang-dotnet=\"`DeleteStarted`\" pulumi-lang-go=\"`deleteStarted`\" pulumi-lang-python=\"`delete_started`\" pulumi-lang-yaml=\"`deleteStarted`\" pulumi-lang-java=\"`deleteStarted`\" pulumi-lang-hcl=\"`delete_started`\"\u003e`deleteStarted`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleteCompleted`\" pulumi-lang-dotnet=\"`DeleteCompleted`\" pulumi-lang-go=\"`deleteCompleted`\" pulumi-lang-python=\"`delete_completed`\" pulumi-lang-yaml=\"`deleteCompleted`\" pulumi-lang-java=\"`deleteCompleted`\" pulumi-lang-hcl=\"`delete_completed`\"\u003e`deleteCompleted`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleteFailed`\" pulumi-lang-dotnet=\"`DeleteFailed`\" pulumi-lang-go=\"`deleteFailed`\" pulumi-lang-python=\"`delete_failed`\" pulumi-lang-yaml=\"`deleteFailed`\" pulumi-lang-java=\"`deleteFailed`\" pulumi-lang-hcl=\"`delete_failed`\"\u003e`deleteFailed`\u003c/span\u003e\n"
                },
                "handlers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/DistributionWebhookHandler:DistributionWebhookHandler"
                    },
                    "description": "At least one is required.\n"
                },
                "key": {
                    "type": "string",
                    "description": "The identity key of the webhook. Must be between 2 and 200 characters. Cannot contain spaces.\n"
                }
            },
            "requiredInputs": [
                "criteria",
                "eventTypes",
                "handlers",
                "key"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering DistributionWebhook resources.\n",
                "properties": {
                    "criteria": {
                        "$ref": "#/types/artifactory:index/DistributionWebhookCriteria:DistributionWebhookCriteria",
                        "description": "Specifies where the webhook will be applied on which repositories.\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Webhook description. Max length 1000 characters.\n"
                    },
                    "enabled": {
                        "type": "boolean",
                        "description": "Status of webhook. Default to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                    },
                    "eventTypes": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of Events in Artifactory, Distribution, Release Bundle that function as the event trigger for the Webhook. Allow values: \u003cspan pulumi-lang-nodejs=\"`distributeStarted`\" pulumi-lang-dotnet=\"`DistributeStarted`\" pulumi-lang-go=\"`distributeStarted`\" pulumi-lang-python=\"`distribute_started`\" pulumi-lang-yaml=\"`distributeStarted`\" pulumi-lang-java=\"`distributeStarted`\" pulumi-lang-hcl=\"`distribute_started`\"\u003e`distributeStarted`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`distributeCompleted`\" pulumi-lang-dotnet=\"`DistributeCompleted`\" pulumi-lang-go=\"`distributeCompleted`\" pulumi-lang-python=\"`distribute_completed`\" pulumi-lang-yaml=\"`distributeCompleted`\" pulumi-lang-java=\"`distributeCompleted`\" pulumi-lang-hcl=\"`distribute_completed`\"\u003e`distributeCompleted`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`distributeAborted`\" pulumi-lang-dotnet=\"`DistributeAborted`\" pulumi-lang-go=\"`distributeAborted`\" pulumi-lang-python=\"`distribute_aborted`\" pulumi-lang-yaml=\"`distributeAborted`\" pulumi-lang-java=\"`distributeAborted`\" pulumi-lang-hcl=\"`distribute_aborted`\"\u003e`distributeAborted`\u003c/span\u003e, `distribute_failed, \u003cspan pulumi-lang-nodejs=\"`deleteStarted`\" pulumi-lang-dotnet=\"`DeleteStarted`\" pulumi-lang-go=\"`deleteStarted`\" pulumi-lang-python=\"`delete_started`\" pulumi-lang-yaml=\"`deleteStarted`\" pulumi-lang-java=\"`deleteStarted`\" pulumi-lang-hcl=\"`delete_started`\"\u003e`deleteStarted`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleteCompleted`\" pulumi-lang-dotnet=\"`DeleteCompleted`\" pulumi-lang-go=\"`deleteCompleted`\" pulumi-lang-python=\"`delete_completed`\" pulumi-lang-yaml=\"`deleteCompleted`\" pulumi-lang-java=\"`deleteCompleted`\" pulumi-lang-hcl=\"`delete_completed`\"\u003e`deleteCompleted`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleteFailed`\" pulumi-lang-dotnet=\"`DeleteFailed`\" pulumi-lang-go=\"`deleteFailed`\" pulumi-lang-python=\"`delete_failed`\" pulumi-lang-yaml=\"`deleteFailed`\" pulumi-lang-java=\"`deleteFailed`\" pulumi-lang-hcl=\"`delete_failed`\"\u003e`deleteFailed`\u003c/span\u003e\n"
                    },
                    "handlers": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/artifactory:index/DistributionWebhookHandler:DistributionWebhookHandler"
                        },
                        "description": "At least one is required.\n"
                    },
                    "key": {
                        "type": "string",
                        "description": "The identity key of the webhook. Must be between 2 and 200 characters. Cannot contain spaces.\n"
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/dockerCustomWebhook:DockerCustomWebhook": {
            "description": "Provides an Artifactory custom webhook resource. This can be used to register and manage Artifactory webhook subscription which enables you to be notified or notify other users when such events take place in Artifactory.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst my_docker_local = new artifactory.DockerV2Repository(\"my-docker-local\", {key: \"my-docker-local\"});\nconst docker_custom_webhook = new artifactory.DockerCustomWebhook(\"docker-custom-webhook\", {\n    key: \"docker-custom_webhook\",\n    eventTypes: [\n        \"pushed\",\n        \"deleted\",\n        \"promoted\",\n    ],\n    criteria: {\n        anyLocal: true,\n        anyRemote: false,\n        repoKeys: [my_docker_local.key],\n        includePatterns: [\"foo/**\"],\n        excludePatterns: [\"bar/**\"],\n    },\n    handlers: [{\n        url: \"https://tempurl.org\",\n        method: \"POST\",\n        secrets: {\n            secretName1: \"value1\",\n            secretName2: \"value2\",\n        },\n        httpHeaders: {\n            headerName1: \"value1\",\n            headerName2: \"value2\",\n        },\n        payload: \"{ \\\"ref\\\": \\\"main\\\" , \\\"inputs\\\": { \\\"artifact_path\\\": \\\"test-repo/repo-path\\\" } }\",\n    }],\n}, {\n    dependsOn: [my_docker_local],\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nmy_docker_local = artifactory.DockerV2Repository(\"my-docker-local\", key=\"my-docker-local\")\ndocker_custom_webhook = artifactory.DockerCustomWebhook(\"docker-custom-webhook\",\n    key=\"docker-custom_webhook\",\n    event_types=[\n        \"pushed\",\n        \"deleted\",\n        \"promoted\",\n    ],\n    criteria={\n        \"any_local\": True,\n        \"any_remote\": False,\n        \"repo_keys\": [my_docker_local.key],\n        \"include_patterns\": [\"foo/**\"],\n        \"exclude_patterns\": [\"bar/**\"],\n    },\n    handlers=[{\n        \"url\": \"https://tempurl.org\",\n        \"method\": \"POST\",\n        \"secrets\": {\n            \"secretName1\": \"value1\",\n            \"secretName2\": \"value2\",\n        },\n        \"http_headers\": {\n            \"headerName1\": \"value1\",\n            \"headerName2\": \"value2\",\n        },\n        \"payload\": \"{ \\\"ref\\\": \\\"main\\\" , \\\"inputs\\\": { \\\"artifact_path\\\": \\\"test-repo/repo-path\\\" } }\",\n    }],\n    opts = pulumi.ResourceOptions(depends_on=[my_docker_local]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var my_docker_local = new Artifactory.DockerV2Repository(\"my-docker-local\", new()\n    {\n        Key = \"my-docker-local\",\n    });\n\n    var docker_custom_webhook = new Artifactory.DockerCustomWebhook(\"docker-custom-webhook\", new()\n    {\n        Key = \"docker-custom_webhook\",\n        EventTypes = new[]\n        {\n            \"pushed\",\n            \"deleted\",\n            \"promoted\",\n        },\n        Criteria = new Artifactory.Inputs.DockerCustomWebhookCriteriaArgs\n        {\n            AnyLocal = true,\n            AnyRemote = false,\n            RepoKeys = new[]\n            {\n                my_docker_local.Key,\n            },\n            IncludePatterns = new[]\n            {\n                \"foo/**\",\n            },\n            ExcludePatterns = new[]\n            {\n                \"bar/**\",\n            },\n        },\n        Handlers = new[]\n        {\n            new Artifactory.Inputs.DockerCustomWebhookHandlerArgs\n            {\n                Url = \"https://tempurl.org\",\n                Method = \"POST\",\n                Secrets = \n                {\n                    { \"secretName1\", \"value1\" },\n                    { \"secretName2\", \"value2\" },\n                },\n                HttpHeaders = \n                {\n                    { \"headerName1\", \"value1\" },\n                    { \"headerName2\", \"value2\" },\n                },\n                Payload = \"{ \\\"ref\\\": \\\"main\\\" , \\\"inputs\\\": { \\\"artifact_path\\\": \\\"test-repo/repo-path\\\" } }\",\n            },\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            my_docker_local,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmy_docker_local, err := artifactory.NewDockerV2Repository(ctx, \"my-docker-local\", \u0026artifactory.DockerV2RepositoryArgs{\n\t\t\tKey: pulumi.String(\"my-docker-local\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = artifactory.NewDockerCustomWebhook(ctx, \"docker-custom-webhook\", \u0026artifactory.DockerCustomWebhookArgs{\n\t\t\tKey: pulumi.String(\"docker-custom_webhook\"),\n\t\t\tEventTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"pushed\"),\n\t\t\t\tpulumi.String(\"deleted\"),\n\t\t\t\tpulumi.String(\"promoted\"),\n\t\t\t},\n\t\t\tCriteria: \u0026artifactory.DockerCustomWebhookCriteriaArgs{\n\t\t\t\tAnyLocal:  pulumi.Bool(true),\n\t\t\t\tAnyRemote: pulumi.Bool(false),\n\t\t\t\tRepoKeys: pulumi.StringArray{\n\t\t\t\t\tmy_docker_local.Key,\n\t\t\t\t},\n\t\t\t\tIncludePatterns: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"foo/**\"),\n\t\t\t\t},\n\t\t\t\tExcludePatterns: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"bar/**\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tHandlers: artifactory.DockerCustomWebhookHandlerArray{\n\t\t\t\t\u0026artifactory.DockerCustomWebhookHandlerArgs{\n\t\t\t\t\tUrl:    pulumi.String(\"https://tempurl.org\"),\n\t\t\t\t\tMethod: pulumi.String(\"POST\"),\n\t\t\t\t\tSecrets: pulumi.StringMap{\n\t\t\t\t\t\t\"secretName1\": pulumi.String(\"value1\"),\n\t\t\t\t\t\t\"secretName2\": pulumi.String(\"value2\"),\n\t\t\t\t\t},\n\t\t\t\t\tHttpHeaders: pulumi.StringMap{\n\t\t\t\t\t\t\"headerName1\": pulumi.String(\"value1\"),\n\t\t\t\t\t\t\"headerName2\": pulumi.String(\"value2\"),\n\t\t\t\t\t},\n\t\t\t\t\tPayload: pulumi.String(\"{ \\\"ref\\\": \\\"main\\\" , \\\"inputs\\\": { \\\"artifact_path\\\": \\\"test-repo/repo-path\\\" } }\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tmy_docker_local,\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_dockerv2repository\" \"my-docker-local\" {\n  key = \"my-docker-local\"\n}\nresource \"artifactory_dockercustomwebhook\" \"docker-custom-webhook\" {\n  depends_on  = [artifactory_dockerv2repository.my-docker-local]\n  key         = \"docker-custom_webhook\"\n  event_types = [\"pushed\", \"deleted\", \"promoted\"]\n  criteria = {\n    any_local        = true\n    any_remote       = false\n    repo_keys        = [artifactory_dockerv2repository.my-docker-local.key]\n    include_patterns = [\"foo/**\"]\n    exclude_patterns = [\"bar/**\"]\n  }\n  handlers {\n    url    = \"https://tempurl.org\"\n    method = \"POST\"\n    secrets = {\n      \"secretName1\" = \"value1\"\n      \"secretName2\" = \"value2\"\n    }\n    http_headers = {\n      \"headerName1\" = \"value1\"\n      \"headerName2\" = \"value2\"\n    }\n    payload = \"{ \\\"ref\\\": \\\"main\\\" , \\\"inputs\\\": { \\\"artifact_path\\\": \\\"test-repo/repo-path\\\" } }\"\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.DockerV2Repository;\nimport com.pulumi.artifactory.DockerV2RepositoryArgs;\nimport com.pulumi.artifactory.DockerCustomWebhook;\nimport com.pulumi.artifactory.DockerCustomWebhookArgs;\nimport com.pulumi.artifactory.inputs.DockerCustomWebhookCriteriaArgs;\nimport com.pulumi.artifactory.inputs.DockerCustomWebhookHandlerArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 my_docker_local = new DockerV2Repository(\"my-docker-local\", DockerV2RepositoryArgs.builder()\n            .key(\"my-docker-local\")\n            .build());\n\n        var docker_custom_webhook = new DockerCustomWebhook(\"docker-custom-webhook\", DockerCustomWebhookArgs.builder()\n            .key(\"docker-custom_webhook\")\n            .eventTypes(            \n                \"pushed\",\n                \"deleted\",\n                \"promoted\")\n            .criteria(DockerCustomWebhookCriteriaArgs.builder()\n                .anyLocal(true)\n                .anyRemote(false)\n                .repoKeys(my_docker_local.key())\n                .includePatterns(\"foo/**\")\n                .excludePatterns(\"bar/**\")\n                .build())\n            .handlers(DockerCustomWebhookHandlerArgs.builder()\n                .url(\"https://tempurl.org\")\n                .method(\"POST\")\n                .secrets(Map.ofEntries(\n                    Map.entry(\"secretName1\", \"value1\"),\n                    Map.entry(\"secretName2\", \"value2\")\n                ))\n                .httpHeaders(Map.ofEntries(\n                    Map.entry(\"headerName1\", \"value1\"),\n                    Map.entry(\"headerName2\", \"value2\")\n                ))\n                .payload(\"{ \\\"ref\\\": \\\"main\\\" , \\\"inputs\\\": { \\\"artifact_path\\\": \\\"test-repo/repo-path\\\" } }\")\n                .build())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(my_docker_local)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  my-docker-local:\n    type: artifactory:DockerV2Repository\n    properties:\n      key: my-docker-local\n  docker-custom-webhook:\n    type: artifactory:DockerCustomWebhook\n    properties:\n      key: docker-custom_webhook\n      eventTypes:\n        - pushed\n        - deleted\n        - promoted\n      criteria:\n        anyLocal: true\n        anyRemote: false\n        repoKeys:\n          - ${[\"my-docker-local\"].key}\n        includePatterns:\n          - foo/**\n        excludePatterns:\n          - bar/**\n      handlers:\n        - url: https://tempurl.org\n          method: POST\n          secrets:\n            secretName1: value1\n            secretName2: value2\n          httpHeaders:\n            headerName1: value1\n            headerName2: value2\n          payload: '{ \"ref\": \"main\" , \"inputs\": { \"artifact_path\": \"test-repo/repo-path\" } }'\n    options:\n      dependsOn:\n        - ${[\"my-docker-local\"]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "properties": {
                "criteria": {
                    "$ref": "#/types/artifactory:index/DockerCustomWebhookCriteria:DockerCustomWebhookCriteria",
                    "description": "Specifies where the webhook will be applied on which repositories.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Webhook description. Max length 1000 characters.\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Status of webhook. Default to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                },
                "eventTypes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of Events in Artifactory, Distribution, Release Bundle that function as the event trigger for the Webhook. Allow values: \u003cspan pulumi-lang-nodejs=\"`pushed`\" pulumi-lang-dotnet=\"`Pushed`\" pulumi-lang-go=\"`pushed`\" pulumi-lang-python=\"`pushed`\" pulumi-lang-yaml=\"`pushed`\" pulumi-lang-java=\"`pushed`\" pulumi-lang-hcl=\"`pushed`\"\u003e`pushed`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleted`\" pulumi-lang-dotnet=\"`Deleted`\" pulumi-lang-go=\"`deleted`\" pulumi-lang-python=\"`deleted`\" pulumi-lang-yaml=\"`deleted`\" pulumi-lang-java=\"`deleted`\" pulumi-lang-hcl=\"`deleted`\"\u003e`deleted`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`promoted`\" pulumi-lang-dotnet=\"`Promoted`\" pulumi-lang-go=\"`promoted`\" pulumi-lang-python=\"`promoted`\" pulumi-lang-yaml=\"`promoted`\" pulumi-lang-java=\"`promoted`\" pulumi-lang-hcl=\"`promoted`\"\u003e`promoted`\u003c/span\u003e.\n"
                },
                "handlers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/DockerCustomWebhookHandler:DockerCustomWebhookHandler"
                    },
                    "description": "At least one is required.\n"
                },
                "key": {
                    "type": "string",
                    "description": "The identity key of the webhook. Must be between 2 and 200 characters. Cannot contain spaces.\n"
                }
            },
            "required": [
                "criteria",
                "enabled",
                "eventTypes",
                "handlers",
                "key"
            ],
            "inputProperties": {
                "criteria": {
                    "$ref": "#/types/artifactory:index/DockerCustomWebhookCriteria:DockerCustomWebhookCriteria",
                    "description": "Specifies where the webhook will be applied on which repositories.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Webhook description. Max length 1000 characters.\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Status of webhook. Default to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                },
                "eventTypes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of Events in Artifactory, Distribution, Release Bundle that function as the event trigger for the Webhook. Allow values: \u003cspan pulumi-lang-nodejs=\"`pushed`\" pulumi-lang-dotnet=\"`Pushed`\" pulumi-lang-go=\"`pushed`\" pulumi-lang-python=\"`pushed`\" pulumi-lang-yaml=\"`pushed`\" pulumi-lang-java=\"`pushed`\" pulumi-lang-hcl=\"`pushed`\"\u003e`pushed`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleted`\" pulumi-lang-dotnet=\"`Deleted`\" pulumi-lang-go=\"`deleted`\" pulumi-lang-python=\"`deleted`\" pulumi-lang-yaml=\"`deleted`\" pulumi-lang-java=\"`deleted`\" pulumi-lang-hcl=\"`deleted`\"\u003e`deleted`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`promoted`\" pulumi-lang-dotnet=\"`Promoted`\" pulumi-lang-go=\"`promoted`\" pulumi-lang-python=\"`promoted`\" pulumi-lang-yaml=\"`promoted`\" pulumi-lang-java=\"`promoted`\" pulumi-lang-hcl=\"`promoted`\"\u003e`promoted`\u003c/span\u003e.\n"
                },
                "handlers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/DockerCustomWebhookHandler:DockerCustomWebhookHandler"
                    },
                    "description": "At least one is required.\n"
                },
                "key": {
                    "type": "string",
                    "description": "The identity key of the webhook. Must be between 2 and 200 characters. Cannot contain spaces.\n"
                }
            },
            "requiredInputs": [
                "criteria",
                "eventTypes",
                "handlers",
                "key"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering DockerCustomWebhook resources.\n",
                "properties": {
                    "criteria": {
                        "$ref": "#/types/artifactory:index/DockerCustomWebhookCriteria:DockerCustomWebhookCriteria",
                        "description": "Specifies where the webhook will be applied on which repositories.\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Webhook description. Max length 1000 characters.\n"
                    },
                    "enabled": {
                        "type": "boolean",
                        "description": "Status of webhook. Default to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                    },
                    "eventTypes": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of Events in Artifactory, Distribution, Release Bundle that function as the event trigger for the Webhook. Allow values: \u003cspan pulumi-lang-nodejs=\"`pushed`\" pulumi-lang-dotnet=\"`Pushed`\" pulumi-lang-go=\"`pushed`\" pulumi-lang-python=\"`pushed`\" pulumi-lang-yaml=\"`pushed`\" pulumi-lang-java=\"`pushed`\" pulumi-lang-hcl=\"`pushed`\"\u003e`pushed`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleted`\" pulumi-lang-dotnet=\"`Deleted`\" pulumi-lang-go=\"`deleted`\" pulumi-lang-python=\"`deleted`\" pulumi-lang-yaml=\"`deleted`\" pulumi-lang-java=\"`deleted`\" pulumi-lang-hcl=\"`deleted`\"\u003e`deleted`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`promoted`\" pulumi-lang-dotnet=\"`Promoted`\" pulumi-lang-go=\"`promoted`\" pulumi-lang-python=\"`promoted`\" pulumi-lang-yaml=\"`promoted`\" pulumi-lang-java=\"`promoted`\" pulumi-lang-hcl=\"`promoted`\"\u003e`promoted`\u003c/span\u003e.\n"
                    },
                    "handlers": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/artifactory:index/DockerCustomWebhookHandler:DockerCustomWebhookHandler"
                        },
                        "description": "At least one is required.\n"
                    },
                    "key": {
                        "type": "string",
                        "description": "The identity key of the webhook. Must be between 2 and 200 characters. Cannot contain spaces.\n"
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/dockerV1Repository:DockerV1Repository": {
            "description": "Creates a local Docker v1 repository - By choosing a V1 repository, you don't really have many options.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst foo = new artifactory.DockerV1Repository(\"foo\", {key: \"foo\"});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nfoo = artifactory.DockerV1Repository(\"foo\", key=\"foo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var foo = new Artifactory.DockerV1Repository(\"foo\", new()\n    {\n        Key = \"foo\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewDockerV1Repository(ctx, \"foo\", \u0026artifactory.DockerV1RepositoryArgs{\n\t\t\tKey: pulumi.String(\"foo\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_dockerv1repository\" \"foo\" {\n  key = \"foo\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.DockerV1Repository;\nimport com.pulumi.artifactory.DockerV1RepositoryArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 foo = new DockerV1Repository(\"foo\", DockerV1RepositoryArgs.builder()\n            .key(\"foo\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  foo:\n    type: artifactory:DockerV1Repository\n    properties:\n      key: foo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLocal repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/dockerV1Repository:DockerV1Repository foo foo\n```\n\n",
            "properties": {
                "apiVersion": {
                    "type": "string"
                },
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "blockPushingSchema1": {
                    "type": "boolean"
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "maxUniqueTags": {
                    "type": "integer"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "tagRetention": {
                    "type": "integer"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "apiVersion",
                "archiveBrowsingEnabled",
                "blackedOut",
                "blockPushingSchema1",
                "cdnRedirect",
                "description",
                "downloadDirect",
                "excludesPattern",
                "includesPattern",
                "key",
                "maxUniqueTags",
                "notes",
                "priorityResolution",
                "projectEnvironments",
                "projectKey",
                "repoLayoutRef",
                "tagRetention",
                "xrayIndex"
            ],
            "inputProperties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering DockerV1Repository resources.\n",
                "properties": {
                    "apiVersion": {
                        "type": "string"
                    },
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                    },
                    "blockPushingSchema1": {
                        "type": "boolean"
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "the identity key of the repo.\n"
                    },
                    "maxUniqueTags": {
                        "type": "integer"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                    },
                    "tagRetention": {
                        "type": "integer"
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/dockerV2Repository:DockerV2Repository": {
            "description": "Creates a local Docker v2 repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst foo = new artifactory.DockerV2Repository(\"foo\", {\n    key: \"foo\",\n    tagRetention: 3,\n    maxUniqueTags: 5,\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nfoo = artifactory.DockerV2Repository(\"foo\",\n    key=\"foo\",\n    tag_retention=3,\n    max_unique_tags=5)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var foo = new Artifactory.DockerV2Repository(\"foo\", new()\n    {\n        Key = \"foo\",\n        TagRetention = 3,\n        MaxUniqueTags = 5,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewDockerV2Repository(ctx, \"foo\", \u0026artifactory.DockerV2RepositoryArgs{\n\t\t\tKey:           pulumi.String(\"foo\"),\n\t\t\tTagRetention:  pulumi.Int(3),\n\t\t\tMaxUniqueTags: pulumi.Int(5),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_dockerv2repository\" \"foo\" {\n  key             = \"foo\"\n  tag_retention   = 3\n  max_unique_tags = 5\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.DockerV2Repository;\nimport com.pulumi.artifactory.DockerV2RepositoryArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 foo = new DockerV2Repository(\"foo\", DockerV2RepositoryArgs.builder()\n            .key(\"foo\")\n            .tagRetention(3)\n            .maxUniqueTags(5)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  foo:\n    type: artifactory:DockerV2Repository\n    properties:\n      key: foo\n      tagRetention: 3\n      maxUniqueTags: 5\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLocal repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/dockerV2Repository:DockerV2Repository foo foo\n```\n\n",
            "properties": {
                "apiVersion": {
                    "type": "string",
                    "description": "The Docker API version to use."
                },
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "blockPushingSchema1": {
                    "type": "boolean",
                    "description": "When set, Artifactory will block the pushing of Docker images with manifest \nv2 schema 1 to this repository.\n"
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "maxUniqueTags": {
                    "type": "integer",
                    "description": "The maximum number of unique tags of a single Docker image to store in this \nrepository. Once the number tags for an image exceeds this setting, older tags are removed.\nA value of 0 (default) indicates there is no limit. This only applies to manifest v2.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "tagRetention": {
                    "type": "integer",
                    "description": "If greater than 1, overwritten tags will be saved by their digest, up to the set up \nnumber. This only applies to manifest V2.\n"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "apiVersion",
                "archiveBrowsingEnabled",
                "blackedOut",
                "blockPushingSchema1",
                "cdnRedirect",
                "description",
                "downloadDirect",
                "excludesPattern",
                "includesPattern",
                "key",
                "maxUniqueTags",
                "notes",
                "priorityResolution",
                "projectEnvironments",
                "projectKey",
                "repoLayoutRef",
                "tagRetention",
                "xrayIndex"
            ],
            "inputProperties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "blockPushingSchema1": {
                    "type": "boolean",
                    "description": "When set, Artifactory will block the pushing of Docker images with manifest \nv2 schema 1 to this repository.\n"
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "maxUniqueTags": {
                    "type": "integer",
                    "description": "The maximum number of unique tags of a single Docker image to store in this \nrepository. Once the number tags for an image exceeds this setting, older tags are removed.\nA value of 0 (default) indicates there is no limit. This only applies to manifest v2.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "tagRetention": {
                    "type": "integer",
                    "description": "If greater than 1, overwritten tags will be saved by their digest, up to the set up \nnumber. This only applies to manifest V2.\n"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering DockerV2Repository resources.\n",
                "properties": {
                    "apiVersion": {
                        "type": "string",
                        "description": "The Docker API version to use."
                    },
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                    },
                    "blockPushingSchema1": {
                        "type": "boolean",
                        "description": "When set, Artifactory will block the pushing of Docker images with manifest \nv2 schema 1 to this repository.\n"
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "the identity key of the repo.\n"
                    },
                    "maxUniqueTags": {
                        "type": "integer",
                        "description": "The maximum number of unique tags of a single Docker image to store in this \nrepository. Once the number tags for an image exceeds this setting, older tags are removed.\nA value of 0 (default) indicates there is no limit. This only applies to manifest v2.\n"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                    },
                    "tagRetention": {
                        "type": "integer",
                        "description": "If greater than 1, overwritten tags will be saved by their digest, up to the set up \nnumber. This only applies to manifest V2.\n"
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/dockerWebhook:DockerWebhook": {
            "description": "Provides an Artifactory webhook resource. This can be used to register and manage Artifactory webhook subscription which enables you to be notified or notify other users when such events take place in Artifactory.\n\n## Example Usage\n\n.\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst my_docker_local = new artifactory.DockerV2Repository(\"my-docker-local\", {key: \"my-docker-local\"});\nconst docker_webhook = new artifactory.DockerWebhook(\"docker-webhook\", {\n    key: \"docker-webhook\",\n    eventTypes: [\n        \"pushed\",\n        \"deleted\",\n        \"promoted\",\n    ],\n    criteria: {\n        anyLocal: true,\n        anyRemote: false,\n        anyFederated: false,\n        repoKeys: [my_docker_local.key],\n        includePatterns: [\"foo/**\"],\n        excludePatterns: [\"bar/**\"],\n    },\n    handlers: [{\n        url: \"http://tempurl.org/webhook\",\n        secret: \"some-secret\",\n        proxy: \"proxy-key\",\n        customHttpHeaders: {\n            \"header-1\": \"value-1\",\n            \"header-2\": \"value-2\",\n        },\n    }],\n}, {\n    dependsOn: [my_docker_local],\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nmy_docker_local = artifactory.DockerV2Repository(\"my-docker-local\", key=\"my-docker-local\")\ndocker_webhook = artifactory.DockerWebhook(\"docker-webhook\",\n    key=\"docker-webhook\",\n    event_types=[\n        \"pushed\",\n        \"deleted\",\n        \"promoted\",\n    ],\n    criteria={\n        \"any_local\": True,\n        \"any_remote\": False,\n        \"any_federated\": False,\n        \"repo_keys\": [my_docker_local.key],\n        \"include_patterns\": [\"foo/**\"],\n        \"exclude_patterns\": [\"bar/**\"],\n    },\n    handlers=[{\n        \"url\": \"http://tempurl.org/webhook\",\n        \"secret\": \"some-secret\",\n        \"proxy\": \"proxy-key\",\n        \"custom_http_headers\": {\n            \"header-1\": \"value-1\",\n            \"header-2\": \"value-2\",\n        },\n    }],\n    opts = pulumi.ResourceOptions(depends_on=[my_docker_local]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var my_docker_local = new Artifactory.DockerV2Repository(\"my-docker-local\", new()\n    {\n        Key = \"my-docker-local\",\n    });\n\n    var docker_webhook = new Artifactory.DockerWebhook(\"docker-webhook\", new()\n    {\n        Key = \"docker-webhook\",\n        EventTypes = new[]\n        {\n            \"pushed\",\n            \"deleted\",\n            \"promoted\",\n        },\n        Criteria = new Artifactory.Inputs.DockerWebhookCriteriaArgs\n        {\n            AnyLocal = true,\n            AnyRemote = false,\n            AnyFederated = false,\n            RepoKeys = new[]\n            {\n                my_docker_local.Key,\n            },\n            IncludePatterns = new[]\n            {\n                \"foo/**\",\n            },\n            ExcludePatterns = new[]\n            {\n                \"bar/**\",\n            },\n        },\n        Handlers = new[]\n        {\n            new Artifactory.Inputs.DockerWebhookHandlerArgs\n            {\n                Url = \"http://tempurl.org/webhook\",\n                Secret = \"some-secret\",\n                Proxy = \"proxy-key\",\n                CustomHttpHeaders = \n                {\n                    { \"header-1\", \"value-1\" },\n                    { \"header-2\", \"value-2\" },\n                },\n            },\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            my_docker_local,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmy_docker_local, err := artifactory.NewDockerV2Repository(ctx, \"my-docker-local\", \u0026artifactory.DockerV2RepositoryArgs{\n\t\t\tKey: pulumi.String(\"my-docker-local\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = artifactory.NewDockerWebhook(ctx, \"docker-webhook\", \u0026artifactory.DockerWebhookArgs{\n\t\t\tKey: pulumi.String(\"docker-webhook\"),\n\t\t\tEventTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"pushed\"),\n\t\t\t\tpulumi.String(\"deleted\"),\n\t\t\t\tpulumi.String(\"promoted\"),\n\t\t\t},\n\t\t\tCriteria: \u0026artifactory.DockerWebhookCriteriaArgs{\n\t\t\t\tAnyLocal:     pulumi.Bool(true),\n\t\t\t\tAnyRemote:    pulumi.Bool(false),\n\t\t\t\tAnyFederated: pulumi.Bool(false),\n\t\t\t\tRepoKeys: pulumi.StringArray{\n\t\t\t\t\tmy_docker_local.Key,\n\t\t\t\t},\n\t\t\t\tIncludePatterns: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"foo/**\"),\n\t\t\t\t},\n\t\t\t\tExcludePatterns: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"bar/**\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tHandlers: artifactory.DockerWebhookHandlerArray{\n\t\t\t\t\u0026artifactory.DockerWebhookHandlerArgs{\n\t\t\t\t\tUrl:    pulumi.String(\"http://tempurl.org/webhook\"),\n\t\t\t\t\tSecret: pulumi.String(\"some-secret\"),\n\t\t\t\t\tProxy:  pulumi.String(\"proxy-key\"),\n\t\t\t\t\tCustomHttpHeaders: pulumi.StringMap{\n\t\t\t\t\t\t\"header-1\": pulumi.String(\"value-1\"),\n\t\t\t\t\t\t\"header-2\": pulumi.String(\"value-2\"),\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\tmy_docker_local,\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_dockerv2repository\" \"my-docker-local\" {\n  key = \"my-docker-local\"\n}\nresource \"artifactory_dockerwebhook\" \"docker-webhook\" {\n  depends_on  = [artifactory_dockerv2repository.my-docker-local]\n  key         = \"docker-webhook\"\n  event_types = [\"pushed\", \"deleted\", \"promoted\"]\n  criteria = {\n    any_local        = true\n    any_remote       = false\n    any_federated    = false\n    repo_keys        = [artifactory_dockerv2repository.my-docker-local.key]\n    include_patterns = [\"foo/**\"]\n    exclude_patterns = [\"bar/**\"]\n  }\n  handlers {\n    url    = \"http://tempurl.org/webhook\"\n    secret = \"some-secret\"\n    proxy  = \"proxy-key\"\n    custom_http_headers = {\n      \"header-1\" = \"value-1\"\n      \"header-2\" = \"value-2\"\n    }\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.DockerV2Repository;\nimport com.pulumi.artifactory.DockerV2RepositoryArgs;\nimport com.pulumi.artifactory.DockerWebhook;\nimport com.pulumi.artifactory.DockerWebhookArgs;\nimport com.pulumi.artifactory.inputs.DockerWebhookCriteriaArgs;\nimport com.pulumi.artifactory.inputs.DockerWebhookHandlerArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 my_docker_local = new DockerV2Repository(\"my-docker-local\", DockerV2RepositoryArgs.builder()\n            .key(\"my-docker-local\")\n            .build());\n\n        var docker_webhook = new DockerWebhook(\"docker-webhook\", DockerWebhookArgs.builder()\n            .key(\"docker-webhook\")\n            .eventTypes(            \n                \"pushed\",\n                \"deleted\",\n                \"promoted\")\n            .criteria(DockerWebhookCriteriaArgs.builder()\n                .anyLocal(true)\n                .anyRemote(false)\n                .anyFederated(false)\n                .repoKeys(my_docker_local.key())\n                .includePatterns(\"foo/**\")\n                .excludePatterns(\"bar/**\")\n                .build())\n            .handlers(DockerWebhookHandlerArgs.builder()\n                .url(\"http://tempurl.org/webhook\")\n                .secret(\"some-secret\")\n                .proxy(\"proxy-key\")\n                .customHttpHeaders(Map.ofEntries(\n                    Map.entry(\"header-1\", \"value-1\"),\n                    Map.entry(\"header-2\", \"value-2\")\n                ))\n                .build())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(my_docker_local)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  my-docker-local:\n    type: artifactory:DockerV2Repository\n    properties:\n      key: my-docker-local\n  docker-webhook:\n    type: artifactory:DockerWebhook\n    properties:\n      key: docker-webhook\n      eventTypes:\n        - pushed\n        - deleted\n        - promoted\n      criteria:\n        anyLocal: true\n        anyRemote: false\n        anyFederated: false\n        repoKeys:\n          - ${[\"my-docker-local\"].key}\n        includePatterns:\n          - foo/**\n        excludePatterns:\n          - bar/**\n      handlers:\n        - url: http://tempurl.org/webhook\n          secret: some-secret\n          proxy: proxy-key\n          customHttpHeaders:\n            header-1: value-1\n            header-2: value-2\n    options:\n      dependsOn:\n        - ${[\"my-docker-local\"]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "properties": {
                "criteria": {
                    "$ref": "#/types/artifactory:index/DockerWebhookCriteria:DockerWebhookCriteria",
                    "description": "Specifies where the webhook will be applied on which repositories.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Webhook description. Max length 1000 characters.\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Status of webhook. Default to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                },
                "eventTypes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of Events in Artifactory, Distribution, Release Bundle that function as the event trigger for the Webhook. Allow values: \u003cspan pulumi-lang-nodejs=\"`pushed`\" pulumi-lang-dotnet=\"`Pushed`\" pulumi-lang-go=\"`pushed`\" pulumi-lang-python=\"`pushed`\" pulumi-lang-yaml=\"`pushed`\" pulumi-lang-java=\"`pushed`\" pulumi-lang-hcl=\"`pushed`\"\u003e`pushed`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleted`\" pulumi-lang-dotnet=\"`Deleted`\" pulumi-lang-go=\"`deleted`\" pulumi-lang-python=\"`deleted`\" pulumi-lang-yaml=\"`deleted`\" pulumi-lang-java=\"`deleted`\" pulumi-lang-hcl=\"`deleted`\"\u003e`deleted`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`promoted`\" pulumi-lang-dotnet=\"`Promoted`\" pulumi-lang-go=\"`promoted`\" pulumi-lang-python=\"`promoted`\" pulumi-lang-yaml=\"`promoted`\" pulumi-lang-java=\"`promoted`\" pulumi-lang-hcl=\"`promoted`\"\u003e`promoted`\u003c/span\u003e.\n"
                },
                "handlers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/DockerWebhookHandler:DockerWebhookHandler"
                    },
                    "description": "At least one is required.\n"
                },
                "key": {
                    "type": "string",
                    "description": "The identity key of the webhook. Must be between 2 and 200 characters. Cannot contain spaces.\n"
                }
            },
            "required": [
                "criteria",
                "enabled",
                "eventTypes",
                "handlers",
                "key"
            ],
            "inputProperties": {
                "criteria": {
                    "$ref": "#/types/artifactory:index/DockerWebhookCriteria:DockerWebhookCriteria",
                    "description": "Specifies where the webhook will be applied on which repositories.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Webhook description. Max length 1000 characters.\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Status of webhook. Default to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                },
                "eventTypes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of Events in Artifactory, Distribution, Release Bundle that function as the event trigger for the Webhook. Allow values: \u003cspan pulumi-lang-nodejs=\"`pushed`\" pulumi-lang-dotnet=\"`Pushed`\" pulumi-lang-go=\"`pushed`\" pulumi-lang-python=\"`pushed`\" pulumi-lang-yaml=\"`pushed`\" pulumi-lang-java=\"`pushed`\" pulumi-lang-hcl=\"`pushed`\"\u003e`pushed`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleted`\" pulumi-lang-dotnet=\"`Deleted`\" pulumi-lang-go=\"`deleted`\" pulumi-lang-python=\"`deleted`\" pulumi-lang-yaml=\"`deleted`\" pulumi-lang-java=\"`deleted`\" pulumi-lang-hcl=\"`deleted`\"\u003e`deleted`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`promoted`\" pulumi-lang-dotnet=\"`Promoted`\" pulumi-lang-go=\"`promoted`\" pulumi-lang-python=\"`promoted`\" pulumi-lang-yaml=\"`promoted`\" pulumi-lang-java=\"`promoted`\" pulumi-lang-hcl=\"`promoted`\"\u003e`promoted`\u003c/span\u003e.\n"
                },
                "handlers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/DockerWebhookHandler:DockerWebhookHandler"
                    },
                    "description": "At least one is required.\n"
                },
                "key": {
                    "type": "string",
                    "description": "The identity key of the webhook. Must be between 2 and 200 characters. Cannot contain spaces.\n"
                }
            },
            "requiredInputs": [
                "criteria",
                "eventTypes",
                "handlers",
                "key"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering DockerWebhook resources.\n",
                "properties": {
                    "criteria": {
                        "$ref": "#/types/artifactory:index/DockerWebhookCriteria:DockerWebhookCriteria",
                        "description": "Specifies where the webhook will be applied on which repositories.\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Webhook description. Max length 1000 characters.\n"
                    },
                    "enabled": {
                        "type": "boolean",
                        "description": "Status of webhook. Default to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                    },
                    "eventTypes": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of Events in Artifactory, Distribution, Release Bundle that function as the event trigger for the Webhook. Allow values: \u003cspan pulumi-lang-nodejs=\"`pushed`\" pulumi-lang-dotnet=\"`Pushed`\" pulumi-lang-go=\"`pushed`\" pulumi-lang-python=\"`pushed`\" pulumi-lang-yaml=\"`pushed`\" pulumi-lang-java=\"`pushed`\" pulumi-lang-hcl=\"`pushed`\"\u003e`pushed`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleted`\" pulumi-lang-dotnet=\"`Deleted`\" pulumi-lang-go=\"`deleted`\" pulumi-lang-python=\"`deleted`\" pulumi-lang-yaml=\"`deleted`\" pulumi-lang-java=\"`deleted`\" pulumi-lang-hcl=\"`deleted`\"\u003e`deleted`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`promoted`\" pulumi-lang-dotnet=\"`Promoted`\" pulumi-lang-go=\"`promoted`\" pulumi-lang-python=\"`promoted`\" pulumi-lang-yaml=\"`promoted`\" pulumi-lang-java=\"`promoted`\" pulumi-lang-hcl=\"`promoted`\"\u003e`promoted`\u003c/span\u003e.\n"
                    },
                    "handlers": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/artifactory:index/DockerWebhookHandler:DockerWebhookHandler"
                        },
                        "description": "At least one is required.\n"
                    },
                    "key": {
                        "type": "string",
                        "description": "The identity key of the webhook. Must be between 2 and 200 characters. Cannot contain spaces.\n"
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/federatedAlpineRepository:FederatedAlpineRepository": {
            "description": "Creates a federated Alpine repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst terraform_federated_test_alpine_repo = new artifactory.FederatedAlpineRepository(\"terraform-federated-test-alpine-repo\", {\n    key: \"terraform-federated-test-alpine-repo\",\n    members: [\n        {\n            url: \"http://tempurl.org/artifactory/terraform-federated-test-alpine-repo\",\n            enabled: true,\n        },\n        {\n            url: \"http://tempurl2.org/artifactory/terraform-federated-test-alpine-repo-2\",\n            enabled: true,\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nterraform_federated_test_alpine_repo = artifactory.FederatedAlpineRepository(\"terraform-federated-test-alpine-repo\",\n    key=\"terraform-federated-test-alpine-repo\",\n    members=[\n        {\n            \"url\": \"http://tempurl.org/artifactory/terraform-federated-test-alpine-repo\",\n            \"enabled\": True,\n        },\n        {\n            \"url\": \"http://tempurl2.org/artifactory/terraform-federated-test-alpine-repo-2\",\n            \"enabled\": True,\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var terraform_federated_test_alpine_repo = new Artifactory.FederatedAlpineRepository(\"terraform-federated-test-alpine-repo\", new()\n    {\n        Key = \"terraform-federated-test-alpine-repo\",\n        Members = new[]\n        {\n            new Artifactory.Inputs.FederatedAlpineRepositoryMemberArgs\n            {\n                Url = \"http://tempurl.org/artifactory/terraform-federated-test-alpine-repo\",\n                Enabled = true,\n            },\n            new Artifactory.Inputs.FederatedAlpineRepositoryMemberArgs\n            {\n                Url = \"http://tempurl2.org/artifactory/terraform-federated-test-alpine-repo-2\",\n                Enabled = true,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewFederatedAlpineRepository(ctx, \"terraform-federated-test-alpine-repo\", \u0026artifactory.FederatedAlpineRepositoryArgs{\n\t\t\tKey: pulumi.String(\"terraform-federated-test-alpine-repo\"),\n\t\t\tMembers: artifactory.FederatedAlpineRepositoryMemberArray{\n\t\t\t\t\u0026artifactory.FederatedAlpineRepositoryMemberArgs{\n\t\t\t\t\tUrl:     pulumi.String(\"http://tempurl.org/artifactory/terraform-federated-test-alpine-repo\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\t\u0026artifactory.FederatedAlpineRepositoryMemberArgs{\n\t\t\t\t\tUrl:     pulumi.String(\"http://tempurl2.org/artifactory/terraform-federated-test-alpine-repo-2\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_federatedalpinerepository\" \"terraform-federated-test-alpine-repo\" {\n  key = \"terraform-federated-test-alpine-repo\"\n  members {\n    url     = \"http://tempurl.org/artifactory/terraform-federated-test-alpine-repo\"\n    enabled = true\n  }\n  members {\n    url     = \"http://tempurl2.org/artifactory/terraform-federated-test-alpine-repo-2\"\n    enabled = true\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.FederatedAlpineRepository;\nimport com.pulumi.artifactory.FederatedAlpineRepositoryArgs;\nimport com.pulumi.artifactory.inputs.FederatedAlpineRepositoryMemberArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 terraform_federated_test_alpine_repo = new FederatedAlpineRepository(\"terraform-federated-test-alpine-repo\", FederatedAlpineRepositoryArgs.builder()\n            .key(\"terraform-federated-test-alpine-repo\")\n            .members(            \n                FederatedAlpineRepositoryMemberArgs.builder()\n                    .url(\"http://tempurl.org/artifactory/terraform-federated-test-alpine-repo\")\n                    .enabled(true)\n                    .build(),\n                FederatedAlpineRepositoryMemberArgs.builder()\n                    .url(\"http://tempurl2.org/artifactory/terraform-federated-test-alpine-repo-2\")\n                    .enabled(true)\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  terraform-federated-test-alpine-repo:\n    type: artifactory:FederatedAlpineRepository\n    properties:\n      key: terraform-federated-test-alpine-repo\n      members:\n        - url: http://tempurl.org/artifactory/terraform-federated-test-alpine-repo\n          enabled: true\n        - url: http://tempurl2.org/artifactory/terraform-federated-test-alpine-repo-2\n          enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFederated repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/federatedAlpineRepository:FederatedAlpineRepository terraform-federated-test-alpine-repo terraform-federated-test-alpine-repo\n```\n\n",
            "properties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "cleanupOnDelete": {
                    "type": "boolean",
                    "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "indexCompressionFormats": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "members": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/FederatedAlpineRepositoryMember:FederatedAlpineRepositoryMember"
                    },
                    "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "packageType": {
                    "type": "string"
                },
                "primaryKeypairRef": {
                    "type": "string",
                    "description": "Used to sign index files in Alpine Linux repositories. See: https://www.jfrog.com/confluence/display/JFROG/Alpine+Linux+Repositories#AlpineLinuxRepositories-SigningAlpineLinuxIndex"
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the federated repository"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "key",
                "members",
                "packageType",
                "projectEnvironments"
            ],
            "inputProperties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "cleanupOnDelete": {
                    "type": "boolean",
                    "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "indexCompressionFormats": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n",
                    "willReplaceOnChanges": true
                },
                "members": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/FederatedAlpineRepositoryMember:FederatedAlpineRepositoryMember"
                    },
                    "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "primaryKeypairRef": {
                    "type": "string",
                    "description": "Used to sign index files in Alpine Linux repositories. See: https://www.jfrog.com/confluence/display/JFROG/Alpine+Linux+Repositories#AlpineLinuxRepositories-SigningAlpineLinuxIndex"
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the federated repository"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key",
                "members"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering FederatedAlpineRepository resources.\n",
                "properties": {
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "cleanupOnDelete": {
                        "type": "boolean",
                        "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "disableProxy": {
                        "type": "boolean",
                        "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "indexCompressionFormats": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "key": {
                        "type": "string",
                        "description": "the identity key of the repo.\n",
                        "willReplaceOnChanges": true
                    },
                    "members": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/artifactory:index/FederatedAlpineRepositoryMember:FederatedAlpineRepositoryMember"
                        },
                        "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "packageType": {
                        "type": "string",
                        "willReplaceOnChanges": true
                    },
                    "primaryKeypairRef": {
                        "type": "string",
                        "description": "Used to sign index files in Alpine Linux repositories. See: https://www.jfrog.com/confluence/display/JFROG/Alpine+Linux+Repositories#AlpineLinuxRepositories-SigningAlpineLinuxIndex"
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "proxy": {
                        "type": "string",
                        "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Repository layout key for the federated repository"
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/federatedAnsibleRepository:FederatedAnsibleRepository": {
            "description": "Creates a federated Ansible repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst terraform_federated_test_ansible_repo = new artifactory.FederatedAnsibleRepository(\"terraform-federated-test-ansible-repo\", {\n    key: \"terraform-federated-test-ansible-repo\",\n    members: [\n        {\n            url: \"http://tempurl.org/artifactory/terraform-federated-test-ansible-repo\",\n            enabled: true,\n        },\n        {\n            url: \"http://tempurl2.org/artifactory/terraform-federated-test-ansible-repo-2\",\n            enabled: true,\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nterraform_federated_test_ansible_repo = artifactory.FederatedAnsibleRepository(\"terraform-federated-test-ansible-repo\",\n    key=\"terraform-federated-test-ansible-repo\",\n    members=[\n        {\n            \"url\": \"http://tempurl.org/artifactory/terraform-federated-test-ansible-repo\",\n            \"enabled\": True,\n        },\n        {\n            \"url\": \"http://tempurl2.org/artifactory/terraform-federated-test-ansible-repo-2\",\n            \"enabled\": True,\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var terraform_federated_test_ansible_repo = new Artifactory.FederatedAnsibleRepository(\"terraform-federated-test-ansible-repo\", new()\n    {\n        Key = \"terraform-federated-test-ansible-repo\",\n        Members = new[]\n        {\n            new Artifactory.Inputs.FederatedAnsibleRepositoryMemberArgs\n            {\n                Url = \"http://tempurl.org/artifactory/terraform-federated-test-ansible-repo\",\n                Enabled = true,\n            },\n            new Artifactory.Inputs.FederatedAnsibleRepositoryMemberArgs\n            {\n                Url = \"http://tempurl2.org/artifactory/terraform-federated-test-ansible-repo-2\",\n                Enabled = true,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewFederatedAnsibleRepository(ctx, \"terraform-federated-test-ansible-repo\", \u0026artifactory.FederatedAnsibleRepositoryArgs{\n\t\t\tKey: pulumi.String(\"terraform-federated-test-ansible-repo\"),\n\t\t\tMembers: artifactory.FederatedAnsibleRepositoryMemberArray{\n\t\t\t\t\u0026artifactory.FederatedAnsibleRepositoryMemberArgs{\n\t\t\t\t\tUrl:     pulumi.String(\"http://tempurl.org/artifactory/terraform-federated-test-ansible-repo\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\t\u0026artifactory.FederatedAnsibleRepositoryMemberArgs{\n\t\t\t\t\tUrl:     pulumi.String(\"http://tempurl2.org/artifactory/terraform-federated-test-ansible-repo-2\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_federatedansiblerepository\" \"terraform-federated-test-ansible-repo\" {\n  key = \"terraform-federated-test-ansible-repo\"\n  members {\n    url     = \"http://tempurl.org/artifactory/terraform-federated-test-ansible-repo\"\n    enabled = true\n  }\n  members {\n    url     = \"http://tempurl2.org/artifactory/terraform-federated-test-ansible-repo-2\"\n    enabled = true\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.FederatedAnsibleRepository;\nimport com.pulumi.artifactory.FederatedAnsibleRepositoryArgs;\nimport com.pulumi.artifactory.inputs.FederatedAnsibleRepositoryMemberArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 terraform_federated_test_ansible_repo = new FederatedAnsibleRepository(\"terraform-federated-test-ansible-repo\", FederatedAnsibleRepositoryArgs.builder()\n            .key(\"terraform-federated-test-ansible-repo\")\n            .members(            \n                FederatedAnsibleRepositoryMemberArgs.builder()\n                    .url(\"http://tempurl.org/artifactory/terraform-federated-test-ansible-repo\")\n                    .enabled(true)\n                    .build(),\n                FederatedAnsibleRepositoryMemberArgs.builder()\n                    .url(\"http://tempurl2.org/artifactory/terraform-federated-test-ansible-repo-2\")\n                    .enabled(true)\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  terraform-federated-test-ansible-repo:\n    type: artifactory:FederatedAnsibleRepository\n    properties:\n      key: terraform-federated-test-ansible-repo\n      members:\n        - url: http://tempurl.org/artifactory/terraform-federated-test-ansible-repo\n          enabled: true\n        - url: http://tempurl2.org/artifactory/terraform-federated-test-ansible-repo-2\n          enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFederated repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/federatedAnsibleRepository:FederatedAnsibleRepository test-ansible-federated-repo test-ansible-federated-repo\n```\n\n",
            "properties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "cleanupOnDelete": {
                    "type": "boolean",
                    "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "members": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/FederatedAnsibleRepositoryMember:FederatedAnsibleRepositoryMember"
                    },
                    "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "packageType": {
                    "type": "string"
                },
                "primaryKeypairRef": {
                    "type": "string",
                    "description": "Used to sign index files in Alpine Linux repositories. See: https://www.jfrog.com/confluence/display/JFROG/Alpine+Linux+Repositories#AlpineLinuxRepositories-SigningAlpineLinuxIndex"
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the federated repository"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "key",
                "members",
                "packageType",
                "projectEnvironments"
            ],
            "inputProperties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "cleanupOnDelete": {
                    "type": "boolean",
                    "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n",
                    "willReplaceOnChanges": true
                },
                "members": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/FederatedAnsibleRepositoryMember:FederatedAnsibleRepositoryMember"
                    },
                    "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "primaryKeypairRef": {
                    "type": "string",
                    "description": "Used to sign index files in Alpine Linux repositories. See: https://www.jfrog.com/confluence/display/JFROG/Alpine+Linux+Repositories#AlpineLinuxRepositories-SigningAlpineLinuxIndex"
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the federated repository"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key",
                "members"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering FederatedAnsibleRepository resources.\n",
                "properties": {
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "cleanupOnDelete": {
                        "type": "boolean",
                        "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "disableProxy": {
                        "type": "boolean",
                        "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "the identity key of the repo.\n",
                        "willReplaceOnChanges": true
                    },
                    "members": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/artifactory:index/FederatedAnsibleRepositoryMember:FederatedAnsibleRepositoryMember"
                        },
                        "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "packageType": {
                        "type": "string",
                        "willReplaceOnChanges": true
                    },
                    "primaryKeypairRef": {
                        "type": "string",
                        "description": "Used to sign index files in Alpine Linux repositories. See: https://www.jfrog.com/confluence/display/JFROG/Alpine+Linux+Repositories#AlpineLinuxRepositories-SigningAlpineLinuxIndex"
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "proxy": {
                        "type": "string",
                        "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Repository layout key for the federated repository"
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/federatedBowerRepository:FederatedBowerRepository": {
            "description": "Creates a federated Bower repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst terraform_federated_test_bower_repo = new artifactory.FederatedBowerRepository(\"terraform-federated-test-bower-repo\", {\n    key: \"terraform-federated-test-bower-repo\",\n    members: [\n        {\n            url: \"http://tempurl.org/artifactory/terraform-federated-test-bower-repo\",\n            enabled: true,\n        },\n        {\n            url: \"http://tempurl2.org/artifactory/terraform-federated-test-bower-repo-2\",\n            enabled: true,\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nterraform_federated_test_bower_repo = artifactory.FederatedBowerRepository(\"terraform-federated-test-bower-repo\",\n    key=\"terraform-federated-test-bower-repo\",\n    members=[\n        {\n            \"url\": \"http://tempurl.org/artifactory/terraform-federated-test-bower-repo\",\n            \"enabled\": True,\n        },\n        {\n            \"url\": \"http://tempurl2.org/artifactory/terraform-federated-test-bower-repo-2\",\n            \"enabled\": True,\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var terraform_federated_test_bower_repo = new Artifactory.FederatedBowerRepository(\"terraform-federated-test-bower-repo\", new()\n    {\n        Key = \"terraform-federated-test-bower-repo\",\n        Members = new[]\n        {\n            new Artifactory.Inputs.FederatedBowerRepositoryMemberArgs\n            {\n                Url = \"http://tempurl.org/artifactory/terraform-federated-test-bower-repo\",\n                Enabled = true,\n            },\n            new Artifactory.Inputs.FederatedBowerRepositoryMemberArgs\n            {\n                Url = \"http://tempurl2.org/artifactory/terraform-federated-test-bower-repo-2\",\n                Enabled = true,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewFederatedBowerRepository(ctx, \"terraform-federated-test-bower-repo\", \u0026artifactory.FederatedBowerRepositoryArgs{\n\t\t\tKey: pulumi.String(\"terraform-federated-test-bower-repo\"),\n\t\t\tMembers: artifactory.FederatedBowerRepositoryMemberArray{\n\t\t\t\t\u0026artifactory.FederatedBowerRepositoryMemberArgs{\n\t\t\t\t\tUrl:     pulumi.String(\"http://tempurl.org/artifactory/terraform-federated-test-bower-repo\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\t\u0026artifactory.FederatedBowerRepositoryMemberArgs{\n\t\t\t\t\tUrl:     pulumi.String(\"http://tempurl2.org/artifactory/terraform-federated-test-bower-repo-2\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_federatedbowerrepository\" \"terraform-federated-test-bower-repo\" {\n  key = \"terraform-federated-test-bower-repo\"\n  members {\n    url     = \"http://tempurl.org/artifactory/terraform-federated-test-bower-repo\"\n    enabled = true\n  }\n  members {\n    url     = \"http://tempurl2.org/artifactory/terraform-federated-test-bower-repo-2\"\n    enabled = true\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.FederatedBowerRepository;\nimport com.pulumi.artifactory.FederatedBowerRepositoryArgs;\nimport com.pulumi.artifactory.inputs.FederatedBowerRepositoryMemberArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 terraform_federated_test_bower_repo = new FederatedBowerRepository(\"terraform-federated-test-bower-repo\", FederatedBowerRepositoryArgs.builder()\n            .key(\"terraform-federated-test-bower-repo\")\n            .members(            \n                FederatedBowerRepositoryMemberArgs.builder()\n                    .url(\"http://tempurl.org/artifactory/terraform-federated-test-bower-repo\")\n                    .enabled(true)\n                    .build(),\n                FederatedBowerRepositoryMemberArgs.builder()\n                    .url(\"http://tempurl2.org/artifactory/terraform-federated-test-bower-repo-2\")\n                    .enabled(true)\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  terraform-federated-test-bower-repo:\n    type: artifactory:FederatedBowerRepository\n    properties:\n      key: terraform-federated-test-bower-repo\n      members:\n        - url: http://tempurl.org/artifactory/terraform-federated-test-bower-repo\n          enabled: true\n        - url: http://tempurl2.org/artifactory/terraform-federated-test-bower-repo-2\n          enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFederated repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/federatedBowerRepository:FederatedBowerRepository terraform-federated-test-bower-repo terraform-federated-test-bower-repo\n```\n\n",
            "properties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "cleanupOnDelete": {
                    "type": "boolean",
                    "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "members": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/FederatedBowerRepositoryMember:FederatedBowerRepositoryMember"
                    },
                    "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "packageType": {
                    "type": "string"
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the federated repository"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "key",
                "members",
                "packageType",
                "projectEnvironments"
            ],
            "inputProperties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "cleanupOnDelete": {
                    "type": "boolean",
                    "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n",
                    "willReplaceOnChanges": true
                },
                "members": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/FederatedBowerRepositoryMember:FederatedBowerRepositoryMember"
                    },
                    "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the federated repository"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key",
                "members"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering FederatedBowerRepository resources.\n",
                "properties": {
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "cleanupOnDelete": {
                        "type": "boolean",
                        "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "disableProxy": {
                        "type": "boolean",
                        "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "the identity key of the repo.\n",
                        "willReplaceOnChanges": true
                    },
                    "members": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/artifactory:index/FederatedBowerRepositoryMember:FederatedBowerRepositoryMember"
                        },
                        "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "packageType": {
                        "type": "string",
                        "willReplaceOnChanges": true
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "proxy": {
                        "type": "string",
                        "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Repository layout key for the federated repository"
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/federatedCargoRepository:FederatedCargoRepository": {
            "description": "Creates a federated Cargo repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst terraform_federated_test_cargo_repo = new artifactory.FederatedCargoRepository(\"terraform-federated-test-cargo-repo\", {\n    key: \"terraform-federated-test-cargo-repo\",\n    members: [\n        {\n            url: \"http://tempurl.org/artifactory/terraform-federated-test-cargo-repo\",\n            enabled: true,\n        },\n        {\n            url: \"http://tempurl2.org/artifactory/terraform-federated-test-cargo-repo-2\",\n            enabled: true,\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nterraform_federated_test_cargo_repo = artifactory.FederatedCargoRepository(\"terraform-federated-test-cargo-repo\",\n    key=\"terraform-federated-test-cargo-repo\",\n    members=[\n        {\n            \"url\": \"http://tempurl.org/artifactory/terraform-federated-test-cargo-repo\",\n            \"enabled\": True,\n        },\n        {\n            \"url\": \"http://tempurl2.org/artifactory/terraform-federated-test-cargo-repo-2\",\n            \"enabled\": True,\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var terraform_federated_test_cargo_repo = new Artifactory.FederatedCargoRepository(\"terraform-federated-test-cargo-repo\", new()\n    {\n        Key = \"terraform-federated-test-cargo-repo\",\n        Members = new[]\n        {\n            new Artifactory.Inputs.FederatedCargoRepositoryMemberArgs\n            {\n                Url = \"http://tempurl.org/artifactory/terraform-federated-test-cargo-repo\",\n                Enabled = true,\n            },\n            new Artifactory.Inputs.FederatedCargoRepositoryMemberArgs\n            {\n                Url = \"http://tempurl2.org/artifactory/terraform-federated-test-cargo-repo-2\",\n                Enabled = true,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewFederatedCargoRepository(ctx, \"terraform-federated-test-cargo-repo\", \u0026artifactory.FederatedCargoRepositoryArgs{\n\t\t\tKey: pulumi.String(\"terraform-federated-test-cargo-repo\"),\n\t\t\tMembers: artifactory.FederatedCargoRepositoryMemberArray{\n\t\t\t\t\u0026artifactory.FederatedCargoRepositoryMemberArgs{\n\t\t\t\t\tUrl:     pulumi.String(\"http://tempurl.org/artifactory/terraform-federated-test-cargo-repo\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\t\u0026artifactory.FederatedCargoRepositoryMemberArgs{\n\t\t\t\t\tUrl:     pulumi.String(\"http://tempurl2.org/artifactory/terraform-federated-test-cargo-repo-2\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_federatedcargorepository\" \"terraform-federated-test-cargo-repo\" {\n  key = \"terraform-federated-test-cargo-repo\"\n  members {\n    url     = \"http://tempurl.org/artifactory/terraform-federated-test-cargo-repo\"\n    enabled = true\n  }\n  members {\n    url     = \"http://tempurl2.org/artifactory/terraform-federated-test-cargo-repo-2\"\n    enabled = true\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.FederatedCargoRepository;\nimport com.pulumi.artifactory.FederatedCargoRepositoryArgs;\nimport com.pulumi.artifactory.inputs.FederatedCargoRepositoryMemberArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 terraform_federated_test_cargo_repo = new FederatedCargoRepository(\"terraform-federated-test-cargo-repo\", FederatedCargoRepositoryArgs.builder()\n            .key(\"terraform-federated-test-cargo-repo\")\n            .members(            \n                FederatedCargoRepositoryMemberArgs.builder()\n                    .url(\"http://tempurl.org/artifactory/terraform-federated-test-cargo-repo\")\n                    .enabled(true)\n                    .build(),\n                FederatedCargoRepositoryMemberArgs.builder()\n                    .url(\"http://tempurl2.org/artifactory/terraform-federated-test-cargo-repo-2\")\n                    .enabled(true)\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  terraform-federated-test-cargo-repo:\n    type: artifactory:FederatedCargoRepository\n    properties:\n      key: terraform-federated-test-cargo-repo\n      members:\n        - url: http://tempurl.org/artifactory/terraform-federated-test-cargo-repo\n          enabled: true\n        - url: http://tempurl2.org/artifactory/terraform-federated-test-cargo-repo-2\n          enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFederated repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/federatedCargoRepository:FederatedCargoRepository terraform-federated-test-cargo-repo terraform-federated-test-cargo-repo\n```\n\n",
            "properties": {
                "anonymousAccess": {
                    "type": "boolean",
                    "description": "Cargo client does not send credentials when performing download and search for crates. Enable this to allow anonymous access to these resources (only), note that this will override the security anonymous access option. Default value is 'false'."
                },
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "cleanupOnDelete": {
                    "type": "boolean",
                    "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "enableSparseIndex": {
                    "type": "boolean",
                    "description": "Enable internal index support based on Cargo sparse index specifications, instead of the default git index. Default value is 'false'."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "indexCompressionFormats": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "members": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/FederatedCargoRepositoryMember:FederatedCargoRepositoryMember"
                    },
                    "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "packageType": {
                    "type": "string"
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the federated repository"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "key",
                "members",
                "packageType",
                "projectEnvironments"
            ],
            "inputProperties": {
                "anonymousAccess": {
                    "type": "boolean",
                    "description": "Cargo client does not send credentials when performing download and search for crates. Enable this to allow anonymous access to these resources (only), note that this will override the security anonymous access option. Default value is 'false'."
                },
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "cleanupOnDelete": {
                    "type": "boolean",
                    "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "enableSparseIndex": {
                    "type": "boolean",
                    "description": "Enable internal index support based on Cargo sparse index specifications, instead of the default git index. Default value is 'false'."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "indexCompressionFormats": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n",
                    "willReplaceOnChanges": true
                },
                "members": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/FederatedCargoRepositoryMember:FederatedCargoRepositoryMember"
                    },
                    "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the federated repository"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key",
                "members"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering FederatedCargoRepository resources.\n",
                "properties": {
                    "anonymousAccess": {
                        "type": "boolean",
                        "description": "Cargo client does not send credentials when performing download and search for crates. Enable this to allow anonymous access to these resources (only), note that this will override the security anonymous access option. Default value is 'false'."
                    },
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "cleanupOnDelete": {
                        "type": "boolean",
                        "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "disableProxy": {
                        "type": "boolean",
                        "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                    },
                    "enableSparseIndex": {
                        "type": "boolean",
                        "description": "Enable internal index support based on Cargo sparse index specifications, instead of the default git index. Default value is 'false'."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "indexCompressionFormats": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "key": {
                        "type": "string",
                        "description": "the identity key of the repo.\n",
                        "willReplaceOnChanges": true
                    },
                    "members": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/artifactory:index/FederatedCargoRepositoryMember:FederatedCargoRepositoryMember"
                        },
                        "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "packageType": {
                        "type": "string",
                        "willReplaceOnChanges": true
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "proxy": {
                        "type": "string",
                        "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Repository layout key for the federated repository"
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/federatedChefRepository:FederatedChefRepository": {
            "description": "Creates a federated Chef repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst terraform_federated_test_chef_repo = new artifactory.FederatedChefRepository(\"terraform-federated-test-chef-repo\", {\n    key: \"terraform-federated-test-chef-repo\",\n    members: [\n        {\n            url: \"http://tempurl.org/artifactory/terraform-federated-test-chef-repo\",\n            enabled: true,\n        },\n        {\n            url: \"http://tempurl2.org/artifactory/terraform-federated-test-chef-repo-2\",\n            enabled: true,\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nterraform_federated_test_chef_repo = artifactory.FederatedChefRepository(\"terraform-federated-test-chef-repo\",\n    key=\"terraform-federated-test-chef-repo\",\n    members=[\n        {\n            \"url\": \"http://tempurl.org/artifactory/terraform-federated-test-chef-repo\",\n            \"enabled\": True,\n        },\n        {\n            \"url\": \"http://tempurl2.org/artifactory/terraform-federated-test-chef-repo-2\",\n            \"enabled\": True,\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var terraform_federated_test_chef_repo = new Artifactory.FederatedChefRepository(\"terraform-federated-test-chef-repo\", new()\n    {\n        Key = \"terraform-federated-test-chef-repo\",\n        Members = new[]\n        {\n            new Artifactory.Inputs.FederatedChefRepositoryMemberArgs\n            {\n                Url = \"http://tempurl.org/artifactory/terraform-federated-test-chef-repo\",\n                Enabled = true,\n            },\n            new Artifactory.Inputs.FederatedChefRepositoryMemberArgs\n            {\n                Url = \"http://tempurl2.org/artifactory/terraform-federated-test-chef-repo-2\",\n                Enabled = true,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewFederatedChefRepository(ctx, \"terraform-federated-test-chef-repo\", \u0026artifactory.FederatedChefRepositoryArgs{\n\t\t\tKey: pulumi.String(\"terraform-federated-test-chef-repo\"),\n\t\t\tMembers: artifactory.FederatedChefRepositoryMemberArray{\n\t\t\t\t\u0026artifactory.FederatedChefRepositoryMemberArgs{\n\t\t\t\t\tUrl:     pulumi.String(\"http://tempurl.org/artifactory/terraform-federated-test-chef-repo\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\t\u0026artifactory.FederatedChefRepositoryMemberArgs{\n\t\t\t\t\tUrl:     pulumi.String(\"http://tempurl2.org/artifactory/terraform-federated-test-chef-repo-2\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_federatedchefrepository\" \"terraform-federated-test-chef-repo\" {\n  key = \"terraform-federated-test-chef-repo\"\n  members {\n    url     = \"http://tempurl.org/artifactory/terraform-federated-test-chef-repo\"\n    enabled = true\n  }\n  members {\n    url     = \"http://tempurl2.org/artifactory/terraform-federated-test-chef-repo-2\"\n    enabled = true\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.FederatedChefRepository;\nimport com.pulumi.artifactory.FederatedChefRepositoryArgs;\nimport com.pulumi.artifactory.inputs.FederatedChefRepositoryMemberArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 terraform_federated_test_chef_repo = new FederatedChefRepository(\"terraform-federated-test-chef-repo\", FederatedChefRepositoryArgs.builder()\n            .key(\"terraform-federated-test-chef-repo\")\n            .members(            \n                FederatedChefRepositoryMemberArgs.builder()\n                    .url(\"http://tempurl.org/artifactory/terraform-federated-test-chef-repo\")\n                    .enabled(true)\n                    .build(),\n                FederatedChefRepositoryMemberArgs.builder()\n                    .url(\"http://tempurl2.org/artifactory/terraform-federated-test-chef-repo-2\")\n                    .enabled(true)\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  terraform-federated-test-chef-repo:\n    type: artifactory:FederatedChefRepository\n    properties:\n      key: terraform-federated-test-chef-repo\n      members:\n        - url: http://tempurl.org/artifactory/terraform-federated-test-chef-repo\n          enabled: true\n        - url: http://tempurl2.org/artifactory/terraform-federated-test-chef-repo-2\n          enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFederated repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/federatedChefRepository:FederatedChefRepository terraform-federated-test-chef-repo terraform-federated-test-chef-repo\n```\n\n",
            "properties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "cleanupOnDelete": {
                    "type": "boolean",
                    "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "members": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/FederatedChefRepositoryMember:FederatedChefRepositoryMember"
                    },
                    "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "packageType": {
                    "type": "string"
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the federated repository"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "key",
                "members",
                "packageType",
                "projectEnvironments"
            ],
            "inputProperties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "cleanupOnDelete": {
                    "type": "boolean",
                    "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n",
                    "willReplaceOnChanges": true
                },
                "members": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/FederatedChefRepositoryMember:FederatedChefRepositoryMember"
                    },
                    "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the federated repository"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key",
                "members"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering FederatedChefRepository resources.\n",
                "properties": {
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "cleanupOnDelete": {
                        "type": "boolean",
                        "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "disableProxy": {
                        "type": "boolean",
                        "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "the identity key of the repo.\n",
                        "willReplaceOnChanges": true
                    },
                    "members": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/artifactory:index/FederatedChefRepositoryMember:FederatedChefRepositoryMember"
                        },
                        "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "packageType": {
                        "type": "string",
                        "willReplaceOnChanges": true
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "proxy": {
                        "type": "string",
                        "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Repository layout key for the federated repository"
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/federatedCocoapodsRepository:FederatedCocoapodsRepository": {
            "description": "Creates a federated Cocoapods repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst terraform_federated_test_cocoapods_repo = new artifactory.FederatedCocoapodsRepository(\"terraform-federated-test-cocoapods-repo\", {\n    key: \"terraform-federated-test-cocoapods-repo\",\n    members: [\n        {\n            url: \"http://tempurl.org/artifactory/terraform-federated-test-cocoapods-repo\",\n            enabled: true,\n        },\n        {\n            url: \"http://tempurl2.org/artifactory/terraform-federated-test-cocoapods-repo-2\",\n            enabled: true,\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nterraform_federated_test_cocoapods_repo = artifactory.FederatedCocoapodsRepository(\"terraform-federated-test-cocoapods-repo\",\n    key=\"terraform-federated-test-cocoapods-repo\",\n    members=[\n        {\n            \"url\": \"http://tempurl.org/artifactory/terraform-federated-test-cocoapods-repo\",\n            \"enabled\": True,\n        },\n        {\n            \"url\": \"http://tempurl2.org/artifactory/terraform-federated-test-cocoapods-repo-2\",\n            \"enabled\": True,\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var terraform_federated_test_cocoapods_repo = new Artifactory.FederatedCocoapodsRepository(\"terraform-federated-test-cocoapods-repo\", new()\n    {\n        Key = \"terraform-federated-test-cocoapods-repo\",\n        Members = new[]\n        {\n            new Artifactory.Inputs.FederatedCocoapodsRepositoryMemberArgs\n            {\n                Url = \"http://tempurl.org/artifactory/terraform-federated-test-cocoapods-repo\",\n                Enabled = true,\n            },\n            new Artifactory.Inputs.FederatedCocoapodsRepositoryMemberArgs\n            {\n                Url = \"http://tempurl2.org/artifactory/terraform-federated-test-cocoapods-repo-2\",\n                Enabled = true,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewFederatedCocoapodsRepository(ctx, \"terraform-federated-test-cocoapods-repo\", \u0026artifactory.FederatedCocoapodsRepositoryArgs{\n\t\t\tKey: pulumi.String(\"terraform-federated-test-cocoapods-repo\"),\n\t\t\tMembers: artifactory.FederatedCocoapodsRepositoryMemberArray{\n\t\t\t\t\u0026artifactory.FederatedCocoapodsRepositoryMemberArgs{\n\t\t\t\t\tUrl:     pulumi.String(\"http://tempurl.org/artifactory/terraform-federated-test-cocoapods-repo\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\t\u0026artifactory.FederatedCocoapodsRepositoryMemberArgs{\n\t\t\t\t\tUrl:     pulumi.String(\"http://tempurl2.org/artifactory/terraform-federated-test-cocoapods-repo-2\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_federatedcocoapodsrepository\" \"terraform-federated-test-cocoapods-repo\" {\n  key = \"terraform-federated-test-cocoapods-repo\"\n  members {\n    url     = \"http://tempurl.org/artifactory/terraform-federated-test-cocoapods-repo\"\n    enabled = true\n  }\n  members {\n    url     = \"http://tempurl2.org/artifactory/terraform-federated-test-cocoapods-repo-2\"\n    enabled = true\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.FederatedCocoapodsRepository;\nimport com.pulumi.artifactory.FederatedCocoapodsRepositoryArgs;\nimport com.pulumi.artifactory.inputs.FederatedCocoapodsRepositoryMemberArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 terraform_federated_test_cocoapods_repo = new FederatedCocoapodsRepository(\"terraform-federated-test-cocoapods-repo\", FederatedCocoapodsRepositoryArgs.builder()\n            .key(\"terraform-federated-test-cocoapods-repo\")\n            .members(            \n                FederatedCocoapodsRepositoryMemberArgs.builder()\n                    .url(\"http://tempurl.org/artifactory/terraform-federated-test-cocoapods-repo\")\n                    .enabled(true)\n                    .build(),\n                FederatedCocoapodsRepositoryMemberArgs.builder()\n                    .url(\"http://tempurl2.org/artifactory/terraform-federated-test-cocoapods-repo-2\")\n                    .enabled(true)\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  terraform-federated-test-cocoapods-repo:\n    type: artifactory:FederatedCocoapodsRepository\n    properties:\n      key: terraform-federated-test-cocoapods-repo\n      members:\n        - url: http://tempurl.org/artifactory/terraform-federated-test-cocoapods-repo\n          enabled: true\n        - url: http://tempurl2.org/artifactory/terraform-federated-test-cocoapods-repo-2\n          enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFederated repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/federatedCocoapodsRepository:FederatedCocoapodsRepository terraform-federated-test-cocoapods-repo terraform-federated-test-cocoapods-repo\n```\n\n",
            "properties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "cleanupOnDelete": {
                    "type": "boolean",
                    "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "members": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/FederatedCocoapodsRepositoryMember:FederatedCocoapodsRepositoryMember"
                    },
                    "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "packageType": {
                    "type": "string"
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the federated repository"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "key",
                "members",
                "packageType",
                "projectEnvironments"
            ],
            "inputProperties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "cleanupOnDelete": {
                    "type": "boolean",
                    "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n",
                    "willReplaceOnChanges": true
                },
                "members": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/FederatedCocoapodsRepositoryMember:FederatedCocoapodsRepositoryMember"
                    },
                    "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the federated repository"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key",
                "members"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering FederatedCocoapodsRepository resources.\n",
                "properties": {
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "cleanupOnDelete": {
                        "type": "boolean",
                        "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "disableProxy": {
                        "type": "boolean",
                        "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "the identity key of the repo.\n",
                        "willReplaceOnChanges": true
                    },
                    "members": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/artifactory:index/FederatedCocoapodsRepositoryMember:FederatedCocoapodsRepositoryMember"
                        },
                        "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "packageType": {
                        "type": "string",
                        "willReplaceOnChanges": true
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "proxy": {
                        "type": "string",
                        "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Repository layout key for the federated repository"
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/federatedComposerRepository:FederatedComposerRepository": {
            "description": "Creates a federated Composer repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst terraform_federated_test_composer_repo = new artifactory.FederatedComposerRepository(\"terraform-federated-test-composer-repo\", {\n    key: \"terraform-federated-test-composer-repo\",\n    members: [\n        {\n            url: \"http://tempurl.org/artifactory/terraform-federated-test-composer-repo\",\n            enabled: true,\n        },\n        {\n            url: \"http://tempurl2.org/artifactory/terraform-federated-test-composer-repo-2\",\n            enabled: true,\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nterraform_federated_test_composer_repo = artifactory.FederatedComposerRepository(\"terraform-federated-test-composer-repo\",\n    key=\"terraform-federated-test-composer-repo\",\n    members=[\n        {\n            \"url\": \"http://tempurl.org/artifactory/terraform-federated-test-composer-repo\",\n            \"enabled\": True,\n        },\n        {\n            \"url\": \"http://tempurl2.org/artifactory/terraform-federated-test-composer-repo-2\",\n            \"enabled\": True,\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var terraform_federated_test_composer_repo = new Artifactory.FederatedComposerRepository(\"terraform-federated-test-composer-repo\", new()\n    {\n        Key = \"terraform-federated-test-composer-repo\",\n        Members = new[]\n        {\n            new Artifactory.Inputs.FederatedComposerRepositoryMemberArgs\n            {\n                Url = \"http://tempurl.org/artifactory/terraform-federated-test-composer-repo\",\n                Enabled = true,\n            },\n            new Artifactory.Inputs.FederatedComposerRepositoryMemberArgs\n            {\n                Url = \"http://tempurl2.org/artifactory/terraform-federated-test-composer-repo-2\",\n                Enabled = true,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewFederatedComposerRepository(ctx, \"terraform-federated-test-composer-repo\", \u0026artifactory.FederatedComposerRepositoryArgs{\n\t\t\tKey: pulumi.String(\"terraform-federated-test-composer-repo\"),\n\t\t\tMembers: artifactory.FederatedComposerRepositoryMemberArray{\n\t\t\t\t\u0026artifactory.FederatedComposerRepositoryMemberArgs{\n\t\t\t\t\tUrl:     pulumi.String(\"http://tempurl.org/artifactory/terraform-federated-test-composer-repo\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\t\u0026artifactory.FederatedComposerRepositoryMemberArgs{\n\t\t\t\t\tUrl:     pulumi.String(\"http://tempurl2.org/artifactory/terraform-federated-test-composer-repo-2\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_federatedcomposerrepository\" \"terraform-federated-test-composer-repo\" {\n  key = \"terraform-federated-test-composer-repo\"\n  members {\n    url     = \"http://tempurl.org/artifactory/terraform-federated-test-composer-repo\"\n    enabled = true\n  }\n  members {\n    url     = \"http://tempurl2.org/artifactory/terraform-federated-test-composer-repo-2\"\n    enabled = true\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.FederatedComposerRepository;\nimport com.pulumi.artifactory.FederatedComposerRepositoryArgs;\nimport com.pulumi.artifactory.inputs.FederatedComposerRepositoryMemberArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 terraform_federated_test_composer_repo = new FederatedComposerRepository(\"terraform-federated-test-composer-repo\", FederatedComposerRepositoryArgs.builder()\n            .key(\"terraform-federated-test-composer-repo\")\n            .members(            \n                FederatedComposerRepositoryMemberArgs.builder()\n                    .url(\"http://tempurl.org/artifactory/terraform-federated-test-composer-repo\")\n                    .enabled(true)\n                    .build(),\n                FederatedComposerRepositoryMemberArgs.builder()\n                    .url(\"http://tempurl2.org/artifactory/terraform-federated-test-composer-repo-2\")\n                    .enabled(true)\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  terraform-federated-test-composer-repo:\n    type: artifactory:FederatedComposerRepository\n    properties:\n      key: terraform-federated-test-composer-repo\n      members:\n        - url: http://tempurl.org/artifactory/terraform-federated-test-composer-repo\n          enabled: true\n        - url: http://tempurl2.org/artifactory/terraform-federated-test-composer-repo-2\n          enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFederated repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/federatedComposerRepository:FederatedComposerRepository terraform-federated-test-composer-repo terraform-federated-test-composer-repo\n```\n\n",
            "properties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "cleanupOnDelete": {
                    "type": "boolean",
                    "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "members": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/FederatedComposerRepositoryMember:FederatedComposerRepositoryMember"
                    },
                    "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "packageType": {
                    "type": "string"
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the federated repository"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "key",
                "members",
                "packageType",
                "projectEnvironments"
            ],
            "inputProperties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "cleanupOnDelete": {
                    "type": "boolean",
                    "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n",
                    "willReplaceOnChanges": true
                },
                "members": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/FederatedComposerRepositoryMember:FederatedComposerRepositoryMember"
                    },
                    "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the federated repository"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key",
                "members"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering FederatedComposerRepository resources.\n",
                "properties": {
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "cleanupOnDelete": {
                        "type": "boolean",
                        "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "disableProxy": {
                        "type": "boolean",
                        "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "the identity key of the repo.\n",
                        "willReplaceOnChanges": true
                    },
                    "members": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/artifactory:index/FederatedComposerRepositoryMember:FederatedComposerRepositoryMember"
                        },
                        "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "packageType": {
                        "type": "string",
                        "willReplaceOnChanges": true
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "proxy": {
                        "type": "string",
                        "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Repository layout key for the federated repository"
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/federatedConanRepository:FederatedConanRepository": {
            "description": "Creates a federated Conan repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst terraform_federated_test_conan_repo = new artifactory.FederatedConanRepository(\"terraform-federated-test-conan-repo\", {\n    key: \"terraform-federated-test-conan-repo\",\n    members: [\n        {\n            url: \"http://tempurl.org/artifactory/terraform-federated-test-conan-repo\",\n            enabled: true,\n        },\n        {\n            url: \"http://tempurl2.org/artifactory/terraform-federated-test-conan-repo-2\",\n            enabled: true,\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nterraform_federated_test_conan_repo = artifactory.FederatedConanRepository(\"terraform-federated-test-conan-repo\",\n    key=\"terraform-federated-test-conan-repo\",\n    members=[\n        {\n            \"url\": \"http://tempurl.org/artifactory/terraform-federated-test-conan-repo\",\n            \"enabled\": True,\n        },\n        {\n            \"url\": \"http://tempurl2.org/artifactory/terraform-federated-test-conan-repo-2\",\n            \"enabled\": True,\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var terraform_federated_test_conan_repo = new Artifactory.FederatedConanRepository(\"terraform-federated-test-conan-repo\", new()\n    {\n        Key = \"terraform-federated-test-conan-repo\",\n        Members = new[]\n        {\n            new Artifactory.Inputs.FederatedConanRepositoryMemberArgs\n            {\n                Url = \"http://tempurl.org/artifactory/terraform-federated-test-conan-repo\",\n                Enabled = true,\n            },\n            new Artifactory.Inputs.FederatedConanRepositoryMemberArgs\n            {\n                Url = \"http://tempurl2.org/artifactory/terraform-federated-test-conan-repo-2\",\n                Enabled = true,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewFederatedConanRepository(ctx, \"terraform-federated-test-conan-repo\", \u0026artifactory.FederatedConanRepositoryArgs{\n\t\t\tKey: pulumi.String(\"terraform-federated-test-conan-repo\"),\n\t\t\tMembers: artifactory.FederatedConanRepositoryMemberArray{\n\t\t\t\t\u0026artifactory.FederatedConanRepositoryMemberArgs{\n\t\t\t\t\tUrl:     pulumi.String(\"http://tempurl.org/artifactory/terraform-federated-test-conan-repo\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\t\u0026artifactory.FederatedConanRepositoryMemberArgs{\n\t\t\t\t\tUrl:     pulumi.String(\"http://tempurl2.org/artifactory/terraform-federated-test-conan-repo-2\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_federatedconanrepository\" \"terraform-federated-test-conan-repo\" {\n  key = \"terraform-federated-test-conan-repo\"\n  members {\n    url     = \"http://tempurl.org/artifactory/terraform-federated-test-conan-repo\"\n    enabled = true\n  }\n  members {\n    url     = \"http://tempurl2.org/artifactory/terraform-federated-test-conan-repo-2\"\n    enabled = true\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.FederatedConanRepository;\nimport com.pulumi.artifactory.FederatedConanRepositoryArgs;\nimport com.pulumi.artifactory.inputs.FederatedConanRepositoryMemberArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 terraform_federated_test_conan_repo = new FederatedConanRepository(\"terraform-federated-test-conan-repo\", FederatedConanRepositoryArgs.builder()\n            .key(\"terraform-federated-test-conan-repo\")\n            .members(            \n                FederatedConanRepositoryMemberArgs.builder()\n                    .url(\"http://tempurl.org/artifactory/terraform-federated-test-conan-repo\")\n                    .enabled(true)\n                    .build(),\n                FederatedConanRepositoryMemberArgs.builder()\n                    .url(\"http://tempurl2.org/artifactory/terraform-federated-test-conan-repo-2\")\n                    .enabled(true)\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  terraform-federated-test-conan-repo:\n    type: artifactory:FederatedConanRepository\n    properties:\n      key: terraform-federated-test-conan-repo\n      members:\n        - url: http://tempurl.org/artifactory/terraform-federated-test-conan-repo\n          enabled: true\n        - url: http://tempurl2.org/artifactory/terraform-federated-test-conan-repo-2\n          enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFederated repositories can be imported using their name, e.g.\n```sh\n$ terraform import resource \"artifactory_federated_conan_repository\" \"terraform-federated-test-conan-repo\" {\n.terraform-federated-test-conan-repo terraform-federated-test-conan-repo\n```\n\n",
            "properties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "cleanupOnDelete": {
                    "type": "boolean",
                    "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "forceConanAuthentication": {
                    "type": "boolean",
                    "description": "Force basic authentication credentials in order to use this repository. Default value is 'false'."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "members": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/FederatedConanRepositoryMember:FederatedConanRepositoryMember"
                    },
                    "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "packageType": {
                    "type": "string"
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the federated repository"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "key",
                "members",
                "packageType",
                "projectEnvironments"
            ],
            "inputProperties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "cleanupOnDelete": {
                    "type": "boolean",
                    "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "forceConanAuthentication": {
                    "type": "boolean",
                    "description": "Force basic authentication credentials in order to use this repository. Default value is 'false'."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n",
                    "willReplaceOnChanges": true
                },
                "members": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/FederatedConanRepositoryMember:FederatedConanRepositoryMember"
                    },
                    "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the federated repository"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key",
                "members"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering FederatedConanRepository resources.\n",
                "properties": {
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "cleanupOnDelete": {
                        "type": "boolean",
                        "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "disableProxy": {
                        "type": "boolean",
                        "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "forceConanAuthentication": {
                        "type": "boolean",
                        "description": "Force basic authentication credentials in order to use this repository. Default value is 'false'."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "the identity key of the repo.\n",
                        "willReplaceOnChanges": true
                    },
                    "members": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/artifactory:index/FederatedConanRepositoryMember:FederatedConanRepositoryMember"
                        },
                        "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "packageType": {
                        "type": "string",
                        "willReplaceOnChanges": true
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "proxy": {
                        "type": "string",
                        "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Repository layout key for the federated repository"
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/federatedCondaRepository:FederatedCondaRepository": {
            "description": "Creates a federated Conda repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst terraform_federated_test_conda_repo = new artifactory.FederatedCondaRepository(\"terraform-federated-test-conda-repo\", {\n    key: \"terraform-federated-test-conda-repo\",\n    members: [\n        {\n            url: \"http://tempurl.org/artifactory/terraform-federated-test-conda-repo\",\n            enabled: true,\n        },\n        {\n            url: \"http://tempurl2.org/artifactory/terraform-federated-test-conda-repo-2\",\n            enabled: true,\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nterraform_federated_test_conda_repo = artifactory.FederatedCondaRepository(\"terraform-federated-test-conda-repo\",\n    key=\"terraform-federated-test-conda-repo\",\n    members=[\n        {\n            \"url\": \"http://tempurl.org/artifactory/terraform-federated-test-conda-repo\",\n            \"enabled\": True,\n        },\n        {\n            \"url\": \"http://tempurl2.org/artifactory/terraform-federated-test-conda-repo-2\",\n            \"enabled\": True,\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var terraform_federated_test_conda_repo = new Artifactory.FederatedCondaRepository(\"terraform-federated-test-conda-repo\", new()\n    {\n        Key = \"terraform-federated-test-conda-repo\",\n        Members = new[]\n        {\n            new Artifactory.Inputs.FederatedCondaRepositoryMemberArgs\n            {\n                Url = \"http://tempurl.org/artifactory/terraform-federated-test-conda-repo\",\n                Enabled = true,\n            },\n            new Artifactory.Inputs.FederatedCondaRepositoryMemberArgs\n            {\n                Url = \"http://tempurl2.org/artifactory/terraform-federated-test-conda-repo-2\",\n                Enabled = true,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewFederatedCondaRepository(ctx, \"terraform-federated-test-conda-repo\", \u0026artifactory.FederatedCondaRepositoryArgs{\n\t\t\tKey: pulumi.String(\"terraform-federated-test-conda-repo\"),\n\t\t\tMembers: artifactory.FederatedCondaRepositoryMemberArray{\n\t\t\t\t\u0026artifactory.FederatedCondaRepositoryMemberArgs{\n\t\t\t\t\tUrl:     pulumi.String(\"http://tempurl.org/artifactory/terraform-federated-test-conda-repo\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\t\u0026artifactory.FederatedCondaRepositoryMemberArgs{\n\t\t\t\t\tUrl:     pulumi.String(\"http://tempurl2.org/artifactory/terraform-federated-test-conda-repo-2\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_federatedcondarepository\" \"terraform-federated-test-conda-repo\" {\n  key = \"terraform-federated-test-conda-repo\"\n  members {\n    url     = \"http://tempurl.org/artifactory/terraform-federated-test-conda-repo\"\n    enabled = true\n  }\n  members {\n    url     = \"http://tempurl2.org/artifactory/terraform-federated-test-conda-repo-2\"\n    enabled = true\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.FederatedCondaRepository;\nimport com.pulumi.artifactory.FederatedCondaRepositoryArgs;\nimport com.pulumi.artifactory.inputs.FederatedCondaRepositoryMemberArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 terraform_federated_test_conda_repo = new FederatedCondaRepository(\"terraform-federated-test-conda-repo\", FederatedCondaRepositoryArgs.builder()\n            .key(\"terraform-federated-test-conda-repo\")\n            .members(            \n                FederatedCondaRepositoryMemberArgs.builder()\n                    .url(\"http://tempurl.org/artifactory/terraform-federated-test-conda-repo\")\n                    .enabled(true)\n                    .build(),\n                FederatedCondaRepositoryMemberArgs.builder()\n                    .url(\"http://tempurl2.org/artifactory/terraform-federated-test-conda-repo-2\")\n                    .enabled(true)\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  terraform-federated-test-conda-repo:\n    type: artifactory:FederatedCondaRepository\n    properties:\n      key: terraform-federated-test-conda-repo\n      members:\n        - url: http://tempurl.org/artifactory/terraform-federated-test-conda-repo\n          enabled: true\n        - url: http://tempurl2.org/artifactory/terraform-federated-test-conda-repo-2\n          enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFederated repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/federatedCondaRepository:FederatedCondaRepository terraform-federated-test-conda-repo terraform-federated-test-conda-repo\n```\n\n",
            "properties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "cleanupOnDelete": {
                    "type": "boolean",
                    "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "members": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/FederatedCondaRepositoryMember:FederatedCondaRepositoryMember"
                    },
                    "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "packageType": {
                    "type": "string"
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the federated repository"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "key",
                "members",
                "packageType",
                "projectEnvironments"
            ],
            "inputProperties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "cleanupOnDelete": {
                    "type": "boolean",
                    "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n",
                    "willReplaceOnChanges": true
                },
                "members": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/FederatedCondaRepositoryMember:FederatedCondaRepositoryMember"
                    },
                    "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the federated repository"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key",
                "members"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering FederatedCondaRepository resources.\n",
                "properties": {
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "cleanupOnDelete": {
                        "type": "boolean",
                        "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "disableProxy": {
                        "type": "boolean",
                        "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "the identity key of the repo.\n",
                        "willReplaceOnChanges": true
                    },
                    "members": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/artifactory:index/FederatedCondaRepositoryMember:FederatedCondaRepositoryMember"
                        },
                        "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "packageType": {
                        "type": "string",
                        "willReplaceOnChanges": true
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "proxy": {
                        "type": "string",
                        "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Repository layout key for the federated repository"
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/federatedCranRepository:FederatedCranRepository": {
            "description": "Creates a federated Cran repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst terraform_federated_test_cran_repo = new artifactory.FederatedCranRepository(\"terraform-federated-test-cran-repo\", {\n    key: \"terraform-federated-test-cran-repo\",\n    members: [\n        {\n            url: \"http://tempurl.org/artifactory/terraform-federated-test-cran-repo\",\n            enabled: true,\n        },\n        {\n            url: \"http://tempurl2.org/artifactory/terraform-federated-test-cran-repo-2\",\n            enabled: true,\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nterraform_federated_test_cran_repo = artifactory.FederatedCranRepository(\"terraform-federated-test-cran-repo\",\n    key=\"terraform-federated-test-cran-repo\",\n    members=[\n        {\n            \"url\": \"http://tempurl.org/artifactory/terraform-federated-test-cran-repo\",\n            \"enabled\": True,\n        },\n        {\n            \"url\": \"http://tempurl2.org/artifactory/terraform-federated-test-cran-repo-2\",\n            \"enabled\": True,\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var terraform_federated_test_cran_repo = new Artifactory.FederatedCranRepository(\"terraform-federated-test-cran-repo\", new()\n    {\n        Key = \"terraform-federated-test-cran-repo\",\n        Members = new[]\n        {\n            new Artifactory.Inputs.FederatedCranRepositoryMemberArgs\n            {\n                Url = \"http://tempurl.org/artifactory/terraform-federated-test-cran-repo\",\n                Enabled = true,\n            },\n            new Artifactory.Inputs.FederatedCranRepositoryMemberArgs\n            {\n                Url = \"http://tempurl2.org/artifactory/terraform-federated-test-cran-repo-2\",\n                Enabled = true,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewFederatedCranRepository(ctx, \"terraform-federated-test-cran-repo\", \u0026artifactory.FederatedCranRepositoryArgs{\n\t\t\tKey: pulumi.String(\"terraform-federated-test-cran-repo\"),\n\t\t\tMembers: artifactory.FederatedCranRepositoryMemberArray{\n\t\t\t\t\u0026artifactory.FederatedCranRepositoryMemberArgs{\n\t\t\t\t\tUrl:     pulumi.String(\"http://tempurl.org/artifactory/terraform-federated-test-cran-repo\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\t\u0026artifactory.FederatedCranRepositoryMemberArgs{\n\t\t\t\t\tUrl:     pulumi.String(\"http://tempurl2.org/artifactory/terraform-federated-test-cran-repo-2\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_federatedcranrepository\" \"terraform-federated-test-cran-repo\" {\n  key = \"terraform-federated-test-cran-repo\"\n  members {\n    url     = \"http://tempurl.org/artifactory/terraform-federated-test-cran-repo\"\n    enabled = true\n  }\n  members {\n    url     = \"http://tempurl2.org/artifactory/terraform-federated-test-cran-repo-2\"\n    enabled = true\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.FederatedCranRepository;\nimport com.pulumi.artifactory.FederatedCranRepositoryArgs;\nimport com.pulumi.artifactory.inputs.FederatedCranRepositoryMemberArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 terraform_federated_test_cran_repo = new FederatedCranRepository(\"terraform-federated-test-cran-repo\", FederatedCranRepositoryArgs.builder()\n            .key(\"terraform-federated-test-cran-repo\")\n            .members(            \n                FederatedCranRepositoryMemberArgs.builder()\n                    .url(\"http://tempurl.org/artifactory/terraform-federated-test-cran-repo\")\n                    .enabled(true)\n                    .build(),\n                FederatedCranRepositoryMemberArgs.builder()\n                    .url(\"http://tempurl2.org/artifactory/terraform-federated-test-cran-repo-2\")\n                    .enabled(true)\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  terraform-federated-test-cran-repo:\n    type: artifactory:FederatedCranRepository\n    properties:\n      key: terraform-federated-test-cran-repo\n      members:\n        - url: http://tempurl.org/artifactory/terraform-federated-test-cran-repo\n          enabled: true\n        - url: http://tempurl2.org/artifactory/terraform-federated-test-cran-repo-2\n          enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFederated repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/federatedCranRepository:FederatedCranRepository terraform-federated-test-cran-repo terraform-federated-test-cran-repo\n```\n\n",
            "properties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "cleanupOnDelete": {
                    "type": "boolean",
                    "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "members": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/FederatedCranRepositoryMember:FederatedCranRepositoryMember"
                    },
                    "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "packageType": {
                    "type": "string"
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the federated repository"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "key",
                "members",
                "packageType",
                "projectEnvironments"
            ],
            "inputProperties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "cleanupOnDelete": {
                    "type": "boolean",
                    "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n",
                    "willReplaceOnChanges": true
                },
                "members": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/FederatedCranRepositoryMember:FederatedCranRepositoryMember"
                    },
                    "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the federated repository"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key",
                "members"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering FederatedCranRepository resources.\n",
                "properties": {
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "cleanupOnDelete": {
                        "type": "boolean",
                        "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "disableProxy": {
                        "type": "boolean",
                        "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "the identity key of the repo.\n",
                        "willReplaceOnChanges": true
                    },
                    "members": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/artifactory:index/FederatedCranRepositoryMember:FederatedCranRepositoryMember"
                        },
                        "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "packageType": {
                        "type": "string",
                        "willReplaceOnChanges": true
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "proxy": {
                        "type": "string",
                        "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Repository layout key for the federated repository"
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/federatedDebianRepository:FederatedDebianRepository": {
            "description": "Creates a federated Debian repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst terraform_federated_test_debian_repo = new artifactory.FederatedDebianRepository(\"terraform-federated-test-debian-repo\", {\n    key: \"terraform-federated-test-debian-repo\",\n    members: [\n        {\n            url: \"http://tempurl.org/artifactory/terraform-federated-test-debian-repo\",\n            enabled: true,\n        },\n        {\n            url: \"http://tempurl2.org/artifactory/terraform-federated-test-debian-repo-2\",\n            enabled: true,\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nterraform_federated_test_debian_repo = artifactory.FederatedDebianRepository(\"terraform-federated-test-debian-repo\",\n    key=\"terraform-federated-test-debian-repo\",\n    members=[\n        {\n            \"url\": \"http://tempurl.org/artifactory/terraform-federated-test-debian-repo\",\n            \"enabled\": True,\n        },\n        {\n            \"url\": \"http://tempurl2.org/artifactory/terraform-federated-test-debian-repo-2\",\n            \"enabled\": True,\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var terraform_federated_test_debian_repo = new Artifactory.FederatedDebianRepository(\"terraform-federated-test-debian-repo\", new()\n    {\n        Key = \"terraform-federated-test-debian-repo\",\n        Members = new[]\n        {\n            new Artifactory.Inputs.FederatedDebianRepositoryMemberArgs\n            {\n                Url = \"http://tempurl.org/artifactory/terraform-federated-test-debian-repo\",\n                Enabled = true,\n            },\n            new Artifactory.Inputs.FederatedDebianRepositoryMemberArgs\n            {\n                Url = \"http://tempurl2.org/artifactory/terraform-federated-test-debian-repo-2\",\n                Enabled = true,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewFederatedDebianRepository(ctx, \"terraform-federated-test-debian-repo\", \u0026artifactory.FederatedDebianRepositoryArgs{\n\t\t\tKey: pulumi.String(\"terraform-federated-test-debian-repo\"),\n\t\t\tMembers: artifactory.FederatedDebianRepositoryMemberArray{\n\t\t\t\t\u0026artifactory.FederatedDebianRepositoryMemberArgs{\n\t\t\t\t\tUrl:     pulumi.String(\"http://tempurl.org/artifactory/terraform-federated-test-debian-repo\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\t\u0026artifactory.FederatedDebianRepositoryMemberArgs{\n\t\t\t\t\tUrl:     pulumi.String(\"http://tempurl2.org/artifactory/terraform-federated-test-debian-repo-2\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_federateddebianrepository\" \"terraform-federated-test-debian-repo\" {\n  key = \"terraform-federated-test-debian-repo\"\n  members {\n    url     = \"http://tempurl.org/artifactory/terraform-federated-test-debian-repo\"\n    enabled = true\n  }\n  members {\n    url     = \"http://tempurl2.org/artifactory/terraform-federated-test-debian-repo-2\"\n    enabled = true\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.FederatedDebianRepository;\nimport com.pulumi.artifactory.FederatedDebianRepositoryArgs;\nimport com.pulumi.artifactory.inputs.FederatedDebianRepositoryMemberArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 terraform_federated_test_debian_repo = new FederatedDebianRepository(\"terraform-federated-test-debian-repo\", FederatedDebianRepositoryArgs.builder()\n            .key(\"terraform-federated-test-debian-repo\")\n            .members(            \n                FederatedDebianRepositoryMemberArgs.builder()\n                    .url(\"http://tempurl.org/artifactory/terraform-federated-test-debian-repo\")\n                    .enabled(true)\n                    .build(),\n                FederatedDebianRepositoryMemberArgs.builder()\n                    .url(\"http://tempurl2.org/artifactory/terraform-federated-test-debian-repo-2\")\n                    .enabled(true)\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  terraform-federated-test-debian-repo:\n    type: artifactory:FederatedDebianRepository\n    properties:\n      key: terraform-federated-test-debian-repo\n      members:\n        - url: http://tempurl.org/artifactory/terraform-federated-test-debian-repo\n          enabled: true\n        - url: http://tempurl2.org/artifactory/terraform-federated-test-debian-repo-2\n          enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFederated repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/federatedDebianRepository:FederatedDebianRepository terraform-federated-test-debian-repo terraform-federated-test-debian-repo\n```\n\n",
            "properties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "cleanupOnDelete": {
                    "type": "boolean",
                    "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "indexCompressionFormats": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "members": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/FederatedDebianRepositoryMember:FederatedDebianRepositoryMember"
                    },
                    "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "packageType": {
                    "type": "string"
                },
                "primaryKeypairRef": {
                    "type": "string",
                    "description": "Primary keypair used to sign artifacts. Default value is empty."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the federated repository"
                },
                "secondaryKeypairRef": {
                    "type": "string",
                    "description": "Secondary keypair used to sign artifacts."
                },
                "trivialLayout": {
                    "type": "boolean",
                    "description": "When set, the repository will use the deprecated trivial layout.",
                    "deprecationMessage": "You shouldn't be using this"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "key",
                "members",
                "packageType",
                "projectEnvironments"
            ],
            "inputProperties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "cleanupOnDelete": {
                    "type": "boolean",
                    "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "indexCompressionFormats": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n",
                    "willReplaceOnChanges": true
                },
                "members": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/FederatedDebianRepositoryMember:FederatedDebianRepositoryMember"
                    },
                    "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "primaryKeypairRef": {
                    "type": "string",
                    "description": "Primary keypair used to sign artifacts. Default value is empty."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the federated repository"
                },
                "secondaryKeypairRef": {
                    "type": "string",
                    "description": "Secondary keypair used to sign artifacts."
                },
                "trivialLayout": {
                    "type": "boolean",
                    "description": "When set, the repository will use the deprecated trivial layout.",
                    "deprecationMessage": "You shouldn't be using this"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key",
                "members"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering FederatedDebianRepository resources.\n",
                "properties": {
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "cleanupOnDelete": {
                        "type": "boolean",
                        "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "disableProxy": {
                        "type": "boolean",
                        "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "indexCompressionFormats": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "key": {
                        "type": "string",
                        "description": "the identity key of the repo.\n",
                        "willReplaceOnChanges": true
                    },
                    "members": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/artifactory:index/FederatedDebianRepositoryMember:FederatedDebianRepositoryMember"
                        },
                        "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "packageType": {
                        "type": "string",
                        "willReplaceOnChanges": true
                    },
                    "primaryKeypairRef": {
                        "type": "string",
                        "description": "Primary keypair used to sign artifacts. Default value is empty."
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "proxy": {
                        "type": "string",
                        "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Repository layout key for the federated repository"
                    },
                    "secondaryKeypairRef": {
                        "type": "string",
                        "description": "Secondary keypair used to sign artifacts."
                    },
                    "trivialLayout": {
                        "type": "boolean",
                        "description": "When set, the repository will use the deprecated trivial layout.",
                        "deprecationMessage": "You shouldn't be using this"
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/federatedDockerRepository:FederatedDockerRepository": {
            "description": "Creates a federated Docker repository.\n\n~\u003eThis resource has been superseded by the \u003cspan pulumi-lang-nodejs=\"`artifactory.FederatedDockerV2Repository`\" pulumi-lang-dotnet=\"`artifactory.FederatedDockerV2Repository`\" pulumi-lang-go=\"`FederatedDockerV2Repository`\" pulumi-lang-python=\"`FederatedDockerV2Repository`\" pulumi-lang-yaml=\"`artifactory.FederatedDockerV2Repository`\" pulumi-lang-java=\"`artifactory.FederatedDockerV2Repository`\" pulumi-lang-hcl=\"`artifactory_federated_docker_v2_repository`\"\u003e`artifactory.FederatedDockerV2Repository`\u003c/span\u003e resource. This resource will continue to be available in the provider for backward compatibility. For documentation, please refer to the new resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst terraform_federated_test_docker_repo = new artifactory.FederatedDockerRepository(\"terraform-federated-test-docker-repo\", {\n    key: \"terraform-federated-test-docker-repo\",\n    members: [\n        {\n            url: \"http://tempurl.org/artifactory/terraform-federated-test-docker-repo\",\n            enabled: true,\n        },\n        {\n            url: \"http://tempurl2.org/artifactory/terraform-federated-test-docker-repo-2\",\n            enabled: true,\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nterraform_federated_test_docker_repo = artifactory.FederatedDockerRepository(\"terraform-federated-test-docker-repo\",\n    key=\"terraform-federated-test-docker-repo\",\n    members=[\n        {\n            \"url\": \"http://tempurl.org/artifactory/terraform-federated-test-docker-repo\",\n            \"enabled\": True,\n        },\n        {\n            \"url\": \"http://tempurl2.org/artifactory/terraform-federated-test-docker-repo-2\",\n            \"enabled\": True,\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var terraform_federated_test_docker_repo = new Artifactory.FederatedDockerRepository(\"terraform-federated-test-docker-repo\", new()\n    {\n        Key = \"terraform-federated-test-docker-repo\",\n        Members = new[]\n        {\n            new Artifactory.Inputs.FederatedDockerRepositoryMemberArgs\n            {\n                Url = \"http://tempurl.org/artifactory/terraform-federated-test-docker-repo\",\n                Enabled = true,\n            },\n            new Artifactory.Inputs.FederatedDockerRepositoryMemberArgs\n            {\n                Url = \"http://tempurl2.org/artifactory/terraform-federated-test-docker-repo-2\",\n                Enabled = true,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewFederatedDockerRepository(ctx, \"terraform-federated-test-docker-repo\", \u0026artifactory.FederatedDockerRepositoryArgs{\n\t\t\tKey: pulumi.String(\"terraform-federated-test-docker-repo\"),\n\t\t\tMembers: artifactory.FederatedDockerRepositoryMemberArray{\n\t\t\t\t\u0026artifactory.FederatedDockerRepositoryMemberArgs{\n\t\t\t\t\tUrl:     pulumi.String(\"http://tempurl.org/artifactory/terraform-federated-test-docker-repo\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\t\u0026artifactory.FederatedDockerRepositoryMemberArgs{\n\t\t\t\t\tUrl:     pulumi.String(\"http://tempurl2.org/artifactory/terraform-federated-test-docker-repo-2\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_federateddockerrepository\" \"terraform-federated-test-docker-repo\" {\n  key = \"terraform-federated-test-docker-repo\"\n  members {\n    url     = \"http://tempurl.org/artifactory/terraform-federated-test-docker-repo\"\n    enabled = true\n  }\n  members {\n    url     = \"http://tempurl2.org/artifactory/terraform-federated-test-docker-repo-2\"\n    enabled = true\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.FederatedDockerRepository;\nimport com.pulumi.artifactory.FederatedDockerRepositoryArgs;\nimport com.pulumi.artifactory.inputs.FederatedDockerRepositoryMemberArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 terraform_federated_test_docker_repo = new FederatedDockerRepository(\"terraform-federated-test-docker-repo\", FederatedDockerRepositoryArgs.builder()\n            .key(\"terraform-federated-test-docker-repo\")\n            .members(            \n                FederatedDockerRepositoryMemberArgs.builder()\n                    .url(\"http://tempurl.org/artifactory/terraform-federated-test-docker-repo\")\n                    .enabled(true)\n                    .build(),\n                FederatedDockerRepositoryMemberArgs.builder()\n                    .url(\"http://tempurl2.org/artifactory/terraform-federated-test-docker-repo-2\")\n                    .enabled(true)\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  terraform-federated-test-docker-repo:\n    type: artifactory:FederatedDockerRepository\n    properties:\n      key: terraform-federated-test-docker-repo\n      members:\n        - url: http://tempurl.org/artifactory/terraform-federated-test-docker-repo\n          enabled: true\n        - url: http://tempurl2.org/artifactory/terraform-federated-test-docker-repo-2\n          enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFederated repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/federatedDockerRepository:FederatedDockerRepository terraform-federated-test-docker-repo terraform-federated-test-docker-repo\n```\n\n",
            "properties": {
                "apiVersion": {
                    "type": "string",
                    "description": "The Docker API version to use. This cannot be set"
                },
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "blockPushingSchema1": {
                    "type": "boolean",
                    "description": "When set, Artifactory will block the pushing of Docker images with manifest v2 schema 1 to this repository."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "cleanupOnDelete": {
                    "type": "boolean",
                    "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "maxUniqueTags": {
                    "type": "integer",
                    "description": "The maximum number of unique tags of a single Docker image to store in this repository.\nOnce the number tags for an image exceeds this setting, older tags are removed. A value of 0 (default) indicates there is no limit.\nThis only applies to manifest v2"
                },
                "members": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/FederatedDockerRepositoryMember:FederatedDockerRepositoryMember"
                    },
                    "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "packageType": {
                    "type": "string"
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the federated repository"
                },
                "tagRetention": {
                    "type": "integer",
                    "description": "If greater than 1, overwritten tags will be saved by their digest, up to the set up number. This only applies to manifest V2"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "apiVersion",
                "blockPushingSchema1",
                "key",
                "members",
                "packageType",
                "projectEnvironments"
            ],
            "inputProperties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "blockPushingSchema1": {
                    "type": "boolean",
                    "description": "When set, Artifactory will block the pushing of Docker images with manifest v2 schema 1 to this repository."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "cleanupOnDelete": {
                    "type": "boolean",
                    "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n",
                    "willReplaceOnChanges": true
                },
                "maxUniqueTags": {
                    "type": "integer",
                    "description": "The maximum number of unique tags of a single Docker image to store in this repository.\nOnce the number tags for an image exceeds this setting, older tags are removed. A value of 0 (default) indicates there is no limit.\nThis only applies to manifest v2"
                },
                "members": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/FederatedDockerRepositoryMember:FederatedDockerRepositoryMember"
                    },
                    "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the federated repository"
                },
                "tagRetention": {
                    "type": "integer",
                    "description": "If greater than 1, overwritten tags will be saved by their digest, up to the set up number. This only applies to manifest V2"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key",
                "members"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering FederatedDockerRepository resources.\n",
                "properties": {
                    "apiVersion": {
                        "type": "string",
                        "description": "The Docker API version to use. This cannot be set"
                    },
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                    },
                    "blockPushingSchema1": {
                        "type": "boolean",
                        "description": "When set, Artifactory will block the pushing of Docker images with manifest v2 schema 1 to this repository."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "cleanupOnDelete": {
                        "type": "boolean",
                        "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "disableProxy": {
                        "type": "boolean",
                        "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "the identity key of the repo.\n",
                        "willReplaceOnChanges": true
                    },
                    "maxUniqueTags": {
                        "type": "integer",
                        "description": "The maximum number of unique tags of a single Docker image to store in this repository.\nOnce the number tags for an image exceeds this setting, older tags are removed. A value of 0 (default) indicates there is no limit.\nThis only applies to manifest v2"
                    },
                    "members": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/artifactory:index/FederatedDockerRepositoryMember:FederatedDockerRepositoryMember"
                        },
                        "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "packageType": {
                        "type": "string",
                        "willReplaceOnChanges": true
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "proxy": {
                        "type": "string",
                        "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Repository layout key for the federated repository"
                    },
                    "tagRetention": {
                        "type": "integer",
                        "description": "If greater than 1, overwritten tags will be saved by their digest, up to the set up number. This only applies to manifest V2"
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/federatedDockerV1Repository:FederatedDockerV1Repository": {
            "description": "Creates a federated Docker repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst terraform_federated_test_docker_repo = new artifactory.FederatedDockerV1Repository(\"terraform-federated-test-docker-repo\", {\n    key: \"terraform-federated-test-docker-repo\",\n    members: [\n        {\n            url: \"http://tempurl.org/artifactory/terraform-federated-test-docker-repo\",\n            enabled: true,\n        },\n        {\n            url: \"http://tempurl2.org/artifactory/terraform-federated-test-docker-repo-2\",\n            enabled: true,\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nterraform_federated_test_docker_repo = artifactory.FederatedDockerV1Repository(\"terraform-federated-test-docker-repo\",\n    key=\"terraform-federated-test-docker-repo\",\n    members=[\n        {\n            \"url\": \"http://tempurl.org/artifactory/terraform-federated-test-docker-repo\",\n            \"enabled\": True,\n        },\n        {\n            \"url\": \"http://tempurl2.org/artifactory/terraform-federated-test-docker-repo-2\",\n            \"enabled\": True,\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var terraform_federated_test_docker_repo = new Artifactory.FederatedDockerV1Repository(\"terraform-federated-test-docker-repo\", new()\n    {\n        Key = \"terraform-federated-test-docker-repo\",\n        Members = new[]\n        {\n            new Artifactory.Inputs.FederatedDockerV1RepositoryMemberArgs\n            {\n                Url = \"http://tempurl.org/artifactory/terraform-federated-test-docker-repo\",\n                Enabled = true,\n            },\n            new Artifactory.Inputs.FederatedDockerV1RepositoryMemberArgs\n            {\n                Url = \"http://tempurl2.org/artifactory/terraform-federated-test-docker-repo-2\",\n                Enabled = true,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewFederatedDockerV1Repository(ctx, \"terraform-federated-test-docker-repo\", \u0026artifactory.FederatedDockerV1RepositoryArgs{\n\t\t\tKey: pulumi.String(\"terraform-federated-test-docker-repo\"),\n\t\t\tMembers: artifactory.FederatedDockerV1RepositoryMemberArray{\n\t\t\t\t\u0026artifactory.FederatedDockerV1RepositoryMemberArgs{\n\t\t\t\t\tUrl:     pulumi.String(\"http://tempurl.org/artifactory/terraform-federated-test-docker-repo\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\t\u0026artifactory.FederatedDockerV1RepositoryMemberArgs{\n\t\t\t\t\tUrl:     pulumi.String(\"http://tempurl2.org/artifactory/terraform-federated-test-docker-repo-2\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_federateddockerv1repository\" \"terraform-federated-test-docker-repo\" {\n  key = \"terraform-federated-test-docker-repo\"\n  members {\n    url     = \"http://tempurl.org/artifactory/terraform-federated-test-docker-repo\"\n    enabled = true\n  }\n  members {\n    url     = \"http://tempurl2.org/artifactory/terraform-federated-test-docker-repo-2\"\n    enabled = true\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.FederatedDockerV1Repository;\nimport com.pulumi.artifactory.FederatedDockerV1RepositoryArgs;\nimport com.pulumi.artifactory.inputs.FederatedDockerV1RepositoryMemberArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 terraform_federated_test_docker_repo = new FederatedDockerV1Repository(\"terraform-federated-test-docker-repo\", FederatedDockerV1RepositoryArgs.builder()\n            .key(\"terraform-federated-test-docker-repo\")\n            .members(            \n                FederatedDockerV1RepositoryMemberArgs.builder()\n                    .url(\"http://tempurl.org/artifactory/terraform-federated-test-docker-repo\")\n                    .enabled(true)\n                    .build(),\n                FederatedDockerV1RepositoryMemberArgs.builder()\n                    .url(\"http://tempurl2.org/artifactory/terraform-federated-test-docker-repo-2\")\n                    .enabled(true)\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  terraform-federated-test-docker-repo:\n    type: artifactory:FederatedDockerV1Repository\n    properties:\n      key: terraform-federated-test-docker-repo\n      members:\n        - url: http://tempurl.org/artifactory/terraform-federated-test-docker-repo\n          enabled: true\n        - url: http://tempurl2.org/artifactory/terraform-federated-test-docker-repo-2\n          enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFederated repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/federatedDockerV1Repository:FederatedDockerV1Repository terraform-federated-test-docker-repo terraform-federated-test-docker-repo\n```\n\n",
            "properties": {
                "apiVersion": {
                    "type": "string"
                },
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "blockPushingSchema1": {
                    "type": "boolean"
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "cleanupOnDelete": {
                    "type": "boolean",
                    "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "maxUniqueTags": {
                    "type": "integer"
                },
                "members": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/FederatedDockerV1RepositoryMember:FederatedDockerV1RepositoryMember"
                    },
                    "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "packageType": {
                    "type": "string"
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the federated repository"
                },
                "tagRetention": {
                    "type": "integer"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "apiVersion",
                "blockPushingSchema1",
                "key",
                "maxUniqueTags",
                "members",
                "packageType",
                "projectEnvironments",
                "tagRetention"
            ],
            "inputProperties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "cleanupOnDelete": {
                    "type": "boolean",
                    "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n",
                    "willReplaceOnChanges": true
                },
                "maxUniqueTags": {
                    "type": "integer"
                },
                "members": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/FederatedDockerV1RepositoryMember:FederatedDockerV1RepositoryMember"
                    },
                    "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the federated repository"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key",
                "members"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering FederatedDockerV1Repository resources.\n",
                "properties": {
                    "apiVersion": {
                        "type": "string"
                    },
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                    },
                    "blockPushingSchema1": {
                        "type": "boolean"
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "cleanupOnDelete": {
                        "type": "boolean",
                        "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "disableProxy": {
                        "type": "boolean",
                        "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "the identity key of the repo.\n",
                        "willReplaceOnChanges": true
                    },
                    "maxUniqueTags": {
                        "type": "integer"
                    },
                    "members": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/artifactory:index/FederatedDockerV1RepositoryMember:FederatedDockerV1RepositoryMember"
                        },
                        "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "packageType": {
                        "type": "string",
                        "willReplaceOnChanges": true
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "proxy": {
                        "type": "string",
                        "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Repository layout key for the federated repository"
                    },
                    "tagRetention": {
                        "type": "integer"
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/federatedDockerV2Repository:FederatedDockerV2Repository": {
            "description": "Creates a federated Docker repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst terraform_federated_test_docker_repo = new artifactory.FederatedDockerV2Repository(\"terraform-federated-test-docker-repo\", {\n    key: \"terraform-federated-test-docker-repo\",\n    members: [\n        {\n            url: \"http://tempurl.org/artifactory/terraform-federated-test-docker-repo\",\n            enabled: true,\n        },\n        {\n            url: \"http://tempurl2.org/artifactory/terraform-federated-test-docker-repo-2\",\n            enabled: true,\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nterraform_federated_test_docker_repo = artifactory.FederatedDockerV2Repository(\"terraform-federated-test-docker-repo\",\n    key=\"terraform-federated-test-docker-repo\",\n    members=[\n        {\n            \"url\": \"http://tempurl.org/artifactory/terraform-federated-test-docker-repo\",\n            \"enabled\": True,\n        },\n        {\n            \"url\": \"http://tempurl2.org/artifactory/terraform-federated-test-docker-repo-2\",\n            \"enabled\": True,\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var terraform_federated_test_docker_repo = new Artifactory.FederatedDockerV2Repository(\"terraform-federated-test-docker-repo\", new()\n    {\n        Key = \"terraform-federated-test-docker-repo\",\n        Members = new[]\n        {\n            new Artifactory.Inputs.FederatedDockerV2RepositoryMemberArgs\n            {\n                Url = \"http://tempurl.org/artifactory/terraform-federated-test-docker-repo\",\n                Enabled = true,\n            },\n            new Artifactory.Inputs.FederatedDockerV2RepositoryMemberArgs\n            {\n                Url = \"http://tempurl2.org/artifactory/terraform-federated-test-docker-repo-2\",\n                Enabled = true,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewFederatedDockerV2Repository(ctx, \"terraform-federated-test-docker-repo\", \u0026artifactory.FederatedDockerV2RepositoryArgs{\n\t\t\tKey: pulumi.String(\"terraform-federated-test-docker-repo\"),\n\t\t\tMembers: artifactory.FederatedDockerV2RepositoryMemberArray{\n\t\t\t\t\u0026artifactory.FederatedDockerV2RepositoryMemberArgs{\n\t\t\t\t\tUrl:     pulumi.String(\"http://tempurl.org/artifactory/terraform-federated-test-docker-repo\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\t\u0026artifactory.FederatedDockerV2RepositoryMemberArgs{\n\t\t\t\t\tUrl:     pulumi.String(\"http://tempurl2.org/artifactory/terraform-federated-test-docker-repo-2\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_federateddockerv2repository\" \"terraform-federated-test-docker-repo\" {\n  key = \"terraform-federated-test-docker-repo\"\n  members {\n    url     = \"http://tempurl.org/artifactory/terraform-federated-test-docker-repo\"\n    enabled = true\n  }\n  members {\n    url     = \"http://tempurl2.org/artifactory/terraform-federated-test-docker-repo-2\"\n    enabled = true\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.FederatedDockerV2Repository;\nimport com.pulumi.artifactory.FederatedDockerV2RepositoryArgs;\nimport com.pulumi.artifactory.inputs.FederatedDockerV2RepositoryMemberArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 terraform_federated_test_docker_repo = new FederatedDockerV2Repository(\"terraform-federated-test-docker-repo\", FederatedDockerV2RepositoryArgs.builder()\n            .key(\"terraform-federated-test-docker-repo\")\n            .members(            \n                FederatedDockerV2RepositoryMemberArgs.builder()\n                    .url(\"http://tempurl.org/artifactory/terraform-federated-test-docker-repo\")\n                    .enabled(true)\n                    .build(),\n                FederatedDockerV2RepositoryMemberArgs.builder()\n                    .url(\"http://tempurl2.org/artifactory/terraform-federated-test-docker-repo-2\")\n                    .enabled(true)\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  terraform-federated-test-docker-repo:\n    type: artifactory:FederatedDockerV2Repository\n    properties:\n      key: terraform-federated-test-docker-repo\n      members:\n        - url: http://tempurl.org/artifactory/terraform-federated-test-docker-repo\n          enabled: true\n        - url: http://tempurl2.org/artifactory/terraform-federated-test-docker-repo-2\n          enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFederated repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/federatedDockerV2Repository:FederatedDockerV2Repository terraform-federated-test-docker-repo terraform-federated-test-docker-repo\n```\n\n",
            "properties": {
                "apiVersion": {
                    "type": "string",
                    "description": "The Docker API version to use. This cannot be set"
                },
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "blockPushingSchema1": {
                    "type": "boolean",
                    "description": "When set, Artifactory will block the pushing of Docker images with manifest v2 schema 1 to this repository."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "cleanupOnDelete": {
                    "type": "boolean",
                    "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "maxUniqueTags": {
                    "type": "integer",
                    "description": "The maximum number of unique tags of a single Docker image to store in this repository.\nOnce the number tags for an image exceeds this setting, older tags are removed. A value of 0 (default) indicates there is no limit.\nThis only applies to manifest v2"
                },
                "members": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/FederatedDockerV2RepositoryMember:FederatedDockerV2RepositoryMember"
                    },
                    "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "packageType": {
                    "type": "string"
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the federated repository"
                },
                "tagRetention": {
                    "type": "integer",
                    "description": "If greater than 1, overwritten tags will be saved by their digest, up to the set up number. This only applies to manifest V2"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "apiVersion",
                "blockPushingSchema1",
                "key",
                "members",
                "packageType",
                "projectEnvironments"
            ],
            "inputProperties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "blockPushingSchema1": {
                    "type": "boolean",
                    "description": "When set, Artifactory will block the pushing of Docker images with manifest v2 schema 1 to this repository."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "cleanupOnDelete": {
                    "type": "boolean",
                    "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n",
                    "willReplaceOnChanges": true
                },
                "maxUniqueTags": {
                    "type": "integer",
                    "description": "The maximum number of unique tags of a single Docker image to store in this repository.\nOnce the number tags for an image exceeds this setting, older tags are removed. A value of 0 (default) indicates there is no limit.\nThis only applies to manifest v2"
                },
                "members": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/FederatedDockerV2RepositoryMember:FederatedDockerV2RepositoryMember"
                    },
                    "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the federated repository"
                },
                "tagRetention": {
                    "type": "integer",
                    "description": "If greater than 1, overwritten tags will be saved by their digest, up to the set up number. This only applies to manifest V2"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key",
                "members"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering FederatedDockerV2Repository resources.\n",
                "properties": {
                    "apiVersion": {
                        "type": "string",
                        "description": "The Docker API version to use. This cannot be set"
                    },
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                    },
                    "blockPushingSchema1": {
                        "type": "boolean",
                        "description": "When set, Artifactory will block the pushing of Docker images with manifest v2 schema 1 to this repository."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "cleanupOnDelete": {
                        "type": "boolean",
                        "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "disableProxy": {
                        "type": "boolean",
                        "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "the identity key of the repo.\n",
                        "willReplaceOnChanges": true
                    },
                    "maxUniqueTags": {
                        "type": "integer",
                        "description": "The maximum number of unique tags of a single Docker image to store in this repository.\nOnce the number tags for an image exceeds this setting, older tags are removed. A value of 0 (default) indicates there is no limit.\nThis only applies to manifest v2"
                    },
                    "members": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/artifactory:index/FederatedDockerV2RepositoryMember:FederatedDockerV2RepositoryMember"
                        },
                        "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "packageType": {
                        "type": "string",
                        "willReplaceOnChanges": true
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "proxy": {
                        "type": "string",
                        "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Repository layout key for the federated repository"
                    },
                    "tagRetention": {
                        "type": "integer",
                        "description": "If greater than 1, overwritten tags will be saved by their digest, up to the set up number. This only applies to manifest V2"
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/federatedGemsRepository:FederatedGemsRepository": {
            "description": "Creates a federated Gems repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst terraform_federated_test_gems_repo = new artifactory.FederatedGemsRepository(\"terraform-federated-test-gems-repo\", {\n    key: \"terraform-federated-test-gems-repo\",\n    members: [\n        {\n            url: \"http://tempurl.org/artifactory/terraform-federated-test-gems-repo\",\n            enabled: true,\n        },\n        {\n            url: \"http://tempurl2.org/artifactory/terraform-federated-test-gems-repo-2\",\n            enabled: true,\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nterraform_federated_test_gems_repo = artifactory.FederatedGemsRepository(\"terraform-federated-test-gems-repo\",\n    key=\"terraform-federated-test-gems-repo\",\n    members=[\n        {\n            \"url\": \"http://tempurl.org/artifactory/terraform-federated-test-gems-repo\",\n            \"enabled\": True,\n        },\n        {\n            \"url\": \"http://tempurl2.org/artifactory/terraform-federated-test-gems-repo-2\",\n            \"enabled\": True,\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var terraform_federated_test_gems_repo = new Artifactory.FederatedGemsRepository(\"terraform-federated-test-gems-repo\", new()\n    {\n        Key = \"terraform-federated-test-gems-repo\",\n        Members = new[]\n        {\n            new Artifactory.Inputs.FederatedGemsRepositoryMemberArgs\n            {\n                Url = \"http://tempurl.org/artifactory/terraform-federated-test-gems-repo\",\n                Enabled = true,\n            },\n            new Artifactory.Inputs.FederatedGemsRepositoryMemberArgs\n            {\n                Url = \"http://tempurl2.org/artifactory/terraform-federated-test-gems-repo-2\",\n                Enabled = true,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewFederatedGemsRepository(ctx, \"terraform-federated-test-gems-repo\", \u0026artifactory.FederatedGemsRepositoryArgs{\n\t\t\tKey: pulumi.String(\"terraform-federated-test-gems-repo\"),\n\t\t\tMembers: artifactory.FederatedGemsRepositoryMemberArray{\n\t\t\t\t\u0026artifactory.FederatedGemsRepositoryMemberArgs{\n\t\t\t\t\tUrl:     pulumi.String(\"http://tempurl.org/artifactory/terraform-federated-test-gems-repo\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\t\u0026artifactory.FederatedGemsRepositoryMemberArgs{\n\t\t\t\t\tUrl:     pulumi.String(\"http://tempurl2.org/artifactory/terraform-federated-test-gems-repo-2\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_federatedgemsrepository\" \"terraform-federated-test-gems-repo\" {\n  key = \"terraform-federated-test-gems-repo\"\n  members {\n    url     = \"http://tempurl.org/artifactory/terraform-federated-test-gems-repo\"\n    enabled = true\n  }\n  members {\n    url     = \"http://tempurl2.org/artifactory/terraform-federated-test-gems-repo-2\"\n    enabled = true\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.FederatedGemsRepository;\nimport com.pulumi.artifactory.FederatedGemsRepositoryArgs;\nimport com.pulumi.artifactory.inputs.FederatedGemsRepositoryMemberArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 terraform_federated_test_gems_repo = new FederatedGemsRepository(\"terraform-federated-test-gems-repo\", FederatedGemsRepositoryArgs.builder()\n            .key(\"terraform-federated-test-gems-repo\")\n            .members(            \n                FederatedGemsRepositoryMemberArgs.builder()\n                    .url(\"http://tempurl.org/artifactory/terraform-federated-test-gems-repo\")\n                    .enabled(true)\n                    .build(),\n                FederatedGemsRepositoryMemberArgs.builder()\n                    .url(\"http://tempurl2.org/artifactory/terraform-federated-test-gems-repo-2\")\n                    .enabled(true)\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  terraform-federated-test-gems-repo:\n    type: artifactory:FederatedGemsRepository\n    properties:\n      key: terraform-federated-test-gems-repo\n      members:\n        - url: http://tempurl.org/artifactory/terraform-federated-test-gems-repo\n          enabled: true\n        - url: http://tempurl2.org/artifactory/terraform-federated-test-gems-repo-2\n          enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFederated repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/federatedGemsRepository:FederatedGemsRepository terraform-federated-test-gems-repo terraform-federated-test-gems-repo\n```\n\n",
            "properties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "cleanupOnDelete": {
                    "type": "boolean",
                    "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "members": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/FederatedGemsRepositoryMember:FederatedGemsRepositoryMember"
                    },
                    "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "packageType": {
                    "type": "string"
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the federated repository"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "key",
                "members",
                "packageType",
                "projectEnvironments"
            ],
            "inputProperties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "cleanupOnDelete": {
                    "type": "boolean",
                    "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n",
                    "willReplaceOnChanges": true
                },
                "members": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/FederatedGemsRepositoryMember:FederatedGemsRepositoryMember"
                    },
                    "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the federated repository"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key",
                "members"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering FederatedGemsRepository resources.\n",
                "properties": {
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "cleanupOnDelete": {
                        "type": "boolean",
                        "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "disableProxy": {
                        "type": "boolean",
                        "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "the identity key of the repo.\n",
                        "willReplaceOnChanges": true
                    },
                    "members": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/artifactory:index/FederatedGemsRepositoryMember:FederatedGemsRepositoryMember"
                        },
                        "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "packageType": {
                        "type": "string",
                        "willReplaceOnChanges": true
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "proxy": {
                        "type": "string",
                        "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Repository layout key for the federated repository"
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/federatedGenericRepository:FederatedGenericRepository": {
            "description": "Creates a federated Generic repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst terraform_federated_test_generic_repo = new artifactory.FederatedGenericRepository(\"terraform-federated-test-generic-repo\", {\n    key: \"terraform-federated-test-generic-repo\",\n    members: [\n        {\n            url: \"http://tempurl.org/artifactory/terraform-federated-test-generic-repo\",\n            enabled: true,\n        },\n        {\n            url: \"http://tempurl2.org/artifactory/terraform-federated-test-generic-repo-2\",\n            enabled: true,\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nterraform_federated_test_generic_repo = artifactory.FederatedGenericRepository(\"terraform-federated-test-generic-repo\",\n    key=\"terraform-federated-test-generic-repo\",\n    members=[\n        {\n            \"url\": \"http://tempurl.org/artifactory/terraform-federated-test-generic-repo\",\n            \"enabled\": True,\n        },\n        {\n            \"url\": \"http://tempurl2.org/artifactory/terraform-federated-test-generic-repo-2\",\n            \"enabled\": True,\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var terraform_federated_test_generic_repo = new Artifactory.FederatedGenericRepository(\"terraform-federated-test-generic-repo\", new()\n    {\n        Key = \"terraform-federated-test-generic-repo\",\n        Members = new[]\n        {\n            new Artifactory.Inputs.FederatedGenericRepositoryMemberArgs\n            {\n                Url = \"http://tempurl.org/artifactory/terraform-federated-test-generic-repo\",\n                Enabled = true,\n            },\n            new Artifactory.Inputs.FederatedGenericRepositoryMemberArgs\n            {\n                Url = \"http://tempurl2.org/artifactory/terraform-federated-test-generic-repo-2\",\n                Enabled = true,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewFederatedGenericRepository(ctx, \"terraform-federated-test-generic-repo\", \u0026artifactory.FederatedGenericRepositoryArgs{\n\t\t\tKey: pulumi.String(\"terraform-federated-test-generic-repo\"),\n\t\t\tMembers: artifactory.FederatedGenericRepositoryMemberArray{\n\t\t\t\t\u0026artifactory.FederatedGenericRepositoryMemberArgs{\n\t\t\t\t\tUrl:     pulumi.String(\"http://tempurl.org/artifactory/terraform-federated-test-generic-repo\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\t\u0026artifactory.FederatedGenericRepositoryMemberArgs{\n\t\t\t\t\tUrl:     pulumi.String(\"http://tempurl2.org/artifactory/terraform-federated-test-generic-repo-2\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_federatedgenericrepository\" \"terraform-federated-test-generic-repo\" {\n  key = \"terraform-federated-test-generic-repo\"\n  members {\n    url     = \"http://tempurl.org/artifactory/terraform-federated-test-generic-repo\"\n    enabled = true\n  }\n  members {\n    url     = \"http://tempurl2.org/artifactory/terraform-federated-test-generic-repo-2\"\n    enabled = true\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.FederatedGenericRepository;\nimport com.pulumi.artifactory.FederatedGenericRepositoryArgs;\nimport com.pulumi.artifactory.inputs.FederatedGenericRepositoryMemberArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 terraform_federated_test_generic_repo = new FederatedGenericRepository(\"terraform-federated-test-generic-repo\", FederatedGenericRepositoryArgs.builder()\n            .key(\"terraform-federated-test-generic-repo\")\n            .members(            \n                FederatedGenericRepositoryMemberArgs.builder()\n                    .url(\"http://tempurl.org/artifactory/terraform-federated-test-generic-repo\")\n                    .enabled(true)\n                    .build(),\n                FederatedGenericRepositoryMemberArgs.builder()\n                    .url(\"http://tempurl2.org/artifactory/terraform-federated-test-generic-repo-2\")\n                    .enabled(true)\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  terraform-federated-test-generic-repo:\n    type: artifactory:FederatedGenericRepository\n    properties:\n      key: terraform-federated-test-generic-repo\n      members:\n        - url: http://tempurl.org/artifactory/terraform-federated-test-generic-repo\n          enabled: true\n        - url: http://tempurl2.org/artifactory/terraform-federated-test-generic-repo-2\n          enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFederated repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/federatedGenericRepository:FederatedGenericRepository terraform-federated-test-generic-repo terraform-federated-test-generic-repo\n```\n\n",
            "properties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "cleanupOnDelete": {
                    "type": "boolean",
                    "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "members": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/FederatedGenericRepositoryMember:FederatedGenericRepositoryMember"
                    },
                    "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "packageType": {
                    "type": "string"
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the federated repository"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "key",
                "members",
                "packageType",
                "projectEnvironments"
            ],
            "inputProperties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "cleanupOnDelete": {
                    "type": "boolean",
                    "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n",
                    "willReplaceOnChanges": true
                },
                "members": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/FederatedGenericRepositoryMember:FederatedGenericRepositoryMember"
                    },
                    "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the federated repository"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key",
                "members"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering FederatedGenericRepository resources.\n",
                "properties": {
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "cleanupOnDelete": {
                        "type": "boolean",
                        "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "disableProxy": {
                        "type": "boolean",
                        "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "the identity key of the repo.\n",
                        "willReplaceOnChanges": true
                    },
                    "members": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/artifactory:index/FederatedGenericRepositoryMember:FederatedGenericRepositoryMember"
                        },
                        "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "packageType": {
                        "type": "string",
                        "willReplaceOnChanges": true
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "proxy": {
                        "type": "string",
                        "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Repository layout key for the federated repository"
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/federatedGitltfsRepository:FederatedGitltfsRepository": {
            "description": "Creates a federated Gitlfs repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst terraform_federated_test_gitlfs_repo = new artifactory.FederatedGitltfsRepository(\"terraform-federated-test-gitlfs-repo\", {\n    key: \"terraform-federated-test-gitlfs-repo\",\n    members: [\n        {\n            url: \"http://tempurl.org/artifactory/terraform-federated-test-gitlfs-repo\",\n            enabled: true,\n        },\n        {\n            url: \"http://tempurl2.org/artifactory/terraform-federated-test-gitlfs-repo-2\",\n            enabled: true,\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nterraform_federated_test_gitlfs_repo = artifactory.FederatedGitltfsRepository(\"terraform-federated-test-gitlfs-repo\",\n    key=\"terraform-federated-test-gitlfs-repo\",\n    members=[\n        {\n            \"url\": \"http://tempurl.org/artifactory/terraform-federated-test-gitlfs-repo\",\n            \"enabled\": True,\n        },\n        {\n            \"url\": \"http://tempurl2.org/artifactory/terraform-federated-test-gitlfs-repo-2\",\n            \"enabled\": True,\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var terraform_federated_test_gitlfs_repo = new Artifactory.FederatedGitltfsRepository(\"terraform-federated-test-gitlfs-repo\", new()\n    {\n        Key = \"terraform-federated-test-gitlfs-repo\",\n        Members = new[]\n        {\n            new Artifactory.Inputs.FederatedGitltfsRepositoryMemberArgs\n            {\n                Url = \"http://tempurl.org/artifactory/terraform-federated-test-gitlfs-repo\",\n                Enabled = true,\n            },\n            new Artifactory.Inputs.FederatedGitltfsRepositoryMemberArgs\n            {\n                Url = \"http://tempurl2.org/artifactory/terraform-federated-test-gitlfs-repo-2\",\n                Enabled = true,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewFederatedGitltfsRepository(ctx, \"terraform-federated-test-gitlfs-repo\", \u0026artifactory.FederatedGitltfsRepositoryArgs{\n\t\t\tKey: pulumi.String(\"terraform-federated-test-gitlfs-repo\"),\n\t\t\tMembers: artifactory.FederatedGitltfsRepositoryMemberArray{\n\t\t\t\t\u0026artifactory.FederatedGitltfsRepositoryMemberArgs{\n\t\t\t\t\tUrl:     pulumi.String(\"http://tempurl.org/artifactory/terraform-federated-test-gitlfs-repo\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\t\u0026artifactory.FederatedGitltfsRepositoryMemberArgs{\n\t\t\t\t\tUrl:     pulumi.String(\"http://tempurl2.org/artifactory/terraform-federated-test-gitlfs-repo-2\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_federatedgitltfsrepository\" \"terraform-federated-test-gitlfs-repo\" {\n  key = \"terraform-federated-test-gitlfs-repo\"\n  members {\n    url     = \"http://tempurl.org/artifactory/terraform-federated-test-gitlfs-repo\"\n    enabled = true\n  }\n  members {\n    url     = \"http://tempurl2.org/artifactory/terraform-federated-test-gitlfs-repo-2\"\n    enabled = true\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.FederatedGitltfsRepository;\nimport com.pulumi.artifactory.FederatedGitltfsRepositoryArgs;\nimport com.pulumi.artifactory.inputs.FederatedGitltfsRepositoryMemberArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 terraform_federated_test_gitlfs_repo = new FederatedGitltfsRepository(\"terraform-federated-test-gitlfs-repo\", FederatedGitltfsRepositoryArgs.builder()\n            .key(\"terraform-federated-test-gitlfs-repo\")\n            .members(            \n                FederatedGitltfsRepositoryMemberArgs.builder()\n                    .url(\"http://tempurl.org/artifactory/terraform-federated-test-gitlfs-repo\")\n                    .enabled(true)\n                    .build(),\n                FederatedGitltfsRepositoryMemberArgs.builder()\n                    .url(\"http://tempurl2.org/artifactory/terraform-federated-test-gitlfs-repo-2\")\n                    .enabled(true)\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  terraform-federated-test-gitlfs-repo:\n    type: artifactory:FederatedGitltfsRepository\n    properties:\n      key: terraform-federated-test-gitlfs-repo\n      members:\n        - url: http://tempurl.org/artifactory/terraform-federated-test-gitlfs-repo\n          enabled: true\n        - url: http://tempurl2.org/artifactory/terraform-federated-test-gitlfs-repo-2\n          enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFederated repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/federatedGitltfsRepository:FederatedGitltfsRepository terraform-federated-test-gitlfs-repo terraform-federated-test-gitlfs-repo\n```\n\n",
            "properties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "cleanupOnDelete": {
                    "type": "boolean",
                    "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "members": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/FederatedGitltfsRepositoryMember:FederatedGitltfsRepositoryMember"
                    },
                    "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "packageType": {
                    "type": "string"
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the federated repository"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "key",
                "members",
                "packageType",
                "projectEnvironments"
            ],
            "inputProperties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "cleanupOnDelete": {
                    "type": "boolean",
                    "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n",
                    "willReplaceOnChanges": true
                },
                "members": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/FederatedGitltfsRepositoryMember:FederatedGitltfsRepositoryMember"
                    },
                    "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the federated repository"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key",
                "members"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering FederatedGitltfsRepository resources.\n",
                "properties": {
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "cleanupOnDelete": {
                        "type": "boolean",
                        "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "disableProxy": {
                        "type": "boolean",
                        "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "the identity key of the repo.\n",
                        "willReplaceOnChanges": true
                    },
                    "members": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/artifactory:index/FederatedGitltfsRepositoryMember:FederatedGitltfsRepositoryMember"
                        },
                        "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "packageType": {
                        "type": "string",
                        "willReplaceOnChanges": true
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "proxy": {
                        "type": "string",
                        "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Repository layout key for the federated repository"
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/federatedGoRepository:FederatedGoRepository": {
            "description": "Creates a federated Go repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst terraform_federated_test_go_repo = new artifactory.FederatedGoRepository(\"terraform-federated-test-go-repo\", {\n    key: \"terraform-federated-test-go-repo\",\n    members: [\n        {\n            url: \"http://tempurl.org/artifactory/terraform-federated-test-go-repo\",\n            enabled: true,\n        },\n        {\n            url: \"http://tempurl2.org/artifactory/terraform-federated-test-go-repo-2\",\n            enabled: true,\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nterraform_federated_test_go_repo = artifactory.FederatedGoRepository(\"terraform-federated-test-go-repo\",\n    key=\"terraform-federated-test-go-repo\",\n    members=[\n        {\n            \"url\": \"http://tempurl.org/artifactory/terraform-federated-test-go-repo\",\n            \"enabled\": True,\n        },\n        {\n            \"url\": \"http://tempurl2.org/artifactory/terraform-federated-test-go-repo-2\",\n            \"enabled\": True,\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var terraform_federated_test_go_repo = new Artifactory.FederatedGoRepository(\"terraform-federated-test-go-repo\", new()\n    {\n        Key = \"terraform-federated-test-go-repo\",\n        Members = new[]\n        {\n            new Artifactory.Inputs.FederatedGoRepositoryMemberArgs\n            {\n                Url = \"http://tempurl.org/artifactory/terraform-federated-test-go-repo\",\n                Enabled = true,\n            },\n            new Artifactory.Inputs.FederatedGoRepositoryMemberArgs\n            {\n                Url = \"http://tempurl2.org/artifactory/terraform-federated-test-go-repo-2\",\n                Enabled = true,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewFederatedGoRepository(ctx, \"terraform-federated-test-go-repo\", \u0026artifactory.FederatedGoRepositoryArgs{\n\t\t\tKey: pulumi.String(\"terraform-federated-test-go-repo\"),\n\t\t\tMembers: artifactory.FederatedGoRepositoryMemberArray{\n\t\t\t\t\u0026artifactory.FederatedGoRepositoryMemberArgs{\n\t\t\t\t\tUrl:     pulumi.String(\"http://tempurl.org/artifactory/terraform-federated-test-go-repo\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\t\u0026artifactory.FederatedGoRepositoryMemberArgs{\n\t\t\t\t\tUrl:     pulumi.String(\"http://tempurl2.org/artifactory/terraform-federated-test-go-repo-2\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_federatedgorepository\" \"terraform-federated-test-go-repo\" {\n  key = \"terraform-federated-test-go-repo\"\n  members {\n    url     = \"http://tempurl.org/artifactory/terraform-federated-test-go-repo\"\n    enabled = true\n  }\n  members {\n    url     = \"http://tempurl2.org/artifactory/terraform-federated-test-go-repo-2\"\n    enabled = true\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.FederatedGoRepository;\nimport com.pulumi.artifactory.FederatedGoRepositoryArgs;\nimport com.pulumi.artifactory.inputs.FederatedGoRepositoryMemberArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 terraform_federated_test_go_repo = new FederatedGoRepository(\"terraform-federated-test-go-repo\", FederatedGoRepositoryArgs.builder()\n            .key(\"terraform-federated-test-go-repo\")\n            .members(            \n                FederatedGoRepositoryMemberArgs.builder()\n                    .url(\"http://tempurl.org/artifactory/terraform-federated-test-go-repo\")\n                    .enabled(true)\n                    .build(),\n                FederatedGoRepositoryMemberArgs.builder()\n                    .url(\"http://tempurl2.org/artifactory/terraform-federated-test-go-repo-2\")\n                    .enabled(true)\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  terraform-federated-test-go-repo:\n    type: artifactory:FederatedGoRepository\n    properties:\n      key: terraform-federated-test-go-repo\n      members:\n        - url: http://tempurl.org/artifactory/terraform-federated-test-go-repo\n          enabled: true\n        - url: http://tempurl2.org/artifactory/terraform-federated-test-go-repo-2\n          enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFederated repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/federatedGoRepository:FederatedGoRepository terraform-federated-test-go-repo terraform-federated-test-go-repo\n```\n\n",
            "properties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "cleanupOnDelete": {
                    "type": "boolean",
                    "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "members": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/FederatedGoRepositoryMember:FederatedGoRepositoryMember"
                    },
                    "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "packageType": {
                    "type": "string"
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the federated repository"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "key",
                "members",
                "packageType",
                "projectEnvironments"
            ],
            "inputProperties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "cleanupOnDelete": {
                    "type": "boolean",
                    "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n",
                    "willReplaceOnChanges": true
                },
                "members": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/FederatedGoRepositoryMember:FederatedGoRepositoryMember"
                    },
                    "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the federated repository"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key",
                "members"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering FederatedGoRepository resources.\n",
                "properties": {
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "cleanupOnDelete": {
                        "type": "boolean",
                        "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "disableProxy": {
                        "type": "boolean",
                        "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "the identity key of the repo.\n",
                        "willReplaceOnChanges": true
                    },
                    "members": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/artifactory:index/FederatedGoRepositoryMember:FederatedGoRepositoryMember"
                        },
                        "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "packageType": {
                        "type": "string",
                        "willReplaceOnChanges": true
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "proxy": {
                        "type": "string",
                        "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Repository layout key for the federated repository"
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/federatedGradleRepository:FederatedGradleRepository": {
            "description": "Creates a federated Gradle repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst terraform_federated_test_gradle_repo = new artifactory.FederatedGradleRepository(\"terraform-federated-test-gradle-repo\", {\n    key: \"terraform-federated-test-gradle-repo\",\n    members: [\n        {\n            url: \"http://tempurl.org/artifactory/terraform-federated-test-gradle-repo\",\n            enabled: true,\n        },\n        {\n            url: \"http://tempurl2.org/artifactory/terraform-federated-test-gradle-repo-2\",\n            enabled: true,\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nterraform_federated_test_gradle_repo = artifactory.FederatedGradleRepository(\"terraform-federated-test-gradle-repo\",\n    key=\"terraform-federated-test-gradle-repo\",\n    members=[\n        {\n            \"url\": \"http://tempurl.org/artifactory/terraform-federated-test-gradle-repo\",\n            \"enabled\": True,\n        },\n        {\n            \"url\": \"http://tempurl2.org/artifactory/terraform-federated-test-gradle-repo-2\",\n            \"enabled\": True,\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var terraform_federated_test_gradle_repo = new Artifactory.FederatedGradleRepository(\"terraform-federated-test-gradle-repo\", new()\n    {\n        Key = \"terraform-federated-test-gradle-repo\",\n        Members = new[]\n        {\n            new Artifactory.Inputs.FederatedGradleRepositoryMemberArgs\n            {\n                Url = \"http://tempurl.org/artifactory/terraform-federated-test-gradle-repo\",\n                Enabled = true,\n            },\n            new Artifactory.Inputs.FederatedGradleRepositoryMemberArgs\n            {\n                Url = \"http://tempurl2.org/artifactory/terraform-federated-test-gradle-repo-2\",\n                Enabled = true,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewFederatedGradleRepository(ctx, \"terraform-federated-test-gradle-repo\", \u0026artifactory.FederatedGradleRepositoryArgs{\n\t\t\tKey: pulumi.String(\"terraform-federated-test-gradle-repo\"),\n\t\t\tMembers: artifactory.FederatedGradleRepositoryMemberArray{\n\t\t\t\t\u0026artifactory.FederatedGradleRepositoryMemberArgs{\n\t\t\t\t\tUrl:     pulumi.String(\"http://tempurl.org/artifactory/terraform-federated-test-gradle-repo\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\t\u0026artifactory.FederatedGradleRepositoryMemberArgs{\n\t\t\t\t\tUrl:     pulumi.String(\"http://tempurl2.org/artifactory/terraform-federated-test-gradle-repo-2\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_federatedgradlerepository\" \"terraform-federated-test-gradle-repo\" {\n  key = \"terraform-federated-test-gradle-repo\"\n  members {\n    url     = \"http://tempurl.org/artifactory/terraform-federated-test-gradle-repo\"\n    enabled = true\n  }\n  members {\n    url     = \"http://tempurl2.org/artifactory/terraform-federated-test-gradle-repo-2\"\n    enabled = true\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.FederatedGradleRepository;\nimport com.pulumi.artifactory.FederatedGradleRepositoryArgs;\nimport com.pulumi.artifactory.inputs.FederatedGradleRepositoryMemberArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 terraform_federated_test_gradle_repo = new FederatedGradleRepository(\"terraform-federated-test-gradle-repo\", FederatedGradleRepositoryArgs.builder()\n            .key(\"terraform-federated-test-gradle-repo\")\n            .members(            \n                FederatedGradleRepositoryMemberArgs.builder()\n                    .url(\"http://tempurl.org/artifactory/terraform-federated-test-gradle-repo\")\n                    .enabled(true)\n                    .build(),\n                FederatedGradleRepositoryMemberArgs.builder()\n                    .url(\"http://tempurl2.org/artifactory/terraform-federated-test-gradle-repo-2\")\n                    .enabled(true)\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  terraform-federated-test-gradle-repo:\n    type: artifactory:FederatedGradleRepository\n    properties:\n      key: terraform-federated-test-gradle-repo\n      members:\n        - url: http://tempurl.org/artifactory/terraform-federated-test-gradle-repo\n          enabled: true\n        - url: http://tempurl2.org/artifactory/terraform-federated-test-gradle-repo-2\n          enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFederated repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/federatedGradleRepository:FederatedGradleRepository terraform-federated-test-gradle-repo terraform-federated-test-gradle-repo\n```\n\n",
            "properties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "checksumPolicyType": {
                    "type": "string",
                    "description": "Checksum policy determines how Artifactory behaves when a client checksum for a deployed resource is missing or conflicts with the locally calculated checksum (bad checksum). Options are: \"client-checksums\", or \"server-generated-checksums\". Default: \"client-checksums\"\\n For more details, please refer to Checksum Policy - https://www.jfrog.com/confluence/display/JFROG/Local+Repositories#LocalRepositories-ChecksumPolicy"
                },
                "cleanupOnDelete": {
                    "type": "boolean",
                    "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "handleReleases": {
                    "type": "boolean",
                    "description": "If set, Artifactory allows you to deploy release artifacts into this repository."
                },
                "handleSnapshots": {
                    "type": "boolean",
                    "description": "If set, Artifactory allows you to deploy snapshot artifacts into this repository."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "maxUniqueSnapshots": {
                    "type": "integer",
                    "description": "The maximum number of unique snapshots of a single artifact to store.\nOnce the number of snapshots exceeds this setting, older versions are removed.\nA value of 0 (default) indicates there is no limit, and unique snapshots are not cleaned up."
                },
                "members": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/FederatedGradleRepositoryMember:FederatedGradleRepositoryMember"
                    },
                    "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "packageType": {
                    "type": "string"
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the federated repository"
                },
                "snapshotVersionBehavior": {
                    "type": "string",
                    "description": "Specifies the naming convention for Maven SNAPSHOT versions.\nThe options are -\nunique: Version number is based on a time-stamp (default)\nnon-unique: Version number uses a self-overriding naming pattern of artifactId-version-SNAPSHOT.type\ndeployer: Respects the settings in the Maven client that is deploying the artifact."
                },
                "suppressPomConsistencyChecks": {
                    "type": "boolean",
                    "description": "By default, Artifactory keeps your repositories healthy by refusing POMs with incorrect coordinates (path).\n  If the groupId:artifactId:version information inside the POM does not match the deployed path, Artifactory rejects the deployment with a \"409 Conflict\" error.\n  You can disable this behavior by setting the Suppress POM Consistency Checks checkbox."
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "key",
                "members",
                "packageType",
                "projectEnvironments"
            ],
            "inputProperties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "checksumPolicyType": {
                    "type": "string",
                    "description": "Checksum policy determines how Artifactory behaves when a client checksum for a deployed resource is missing or conflicts with the locally calculated checksum (bad checksum). Options are: \"client-checksums\", or \"server-generated-checksums\". Default: \"client-checksums\"\\n For more details, please refer to Checksum Policy - https://www.jfrog.com/confluence/display/JFROG/Local+Repositories#LocalRepositories-ChecksumPolicy"
                },
                "cleanupOnDelete": {
                    "type": "boolean",
                    "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "handleReleases": {
                    "type": "boolean",
                    "description": "If set, Artifactory allows you to deploy release artifacts into this repository."
                },
                "handleSnapshots": {
                    "type": "boolean",
                    "description": "If set, Artifactory allows you to deploy snapshot artifacts into this repository."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n",
                    "willReplaceOnChanges": true
                },
                "maxUniqueSnapshots": {
                    "type": "integer",
                    "description": "The maximum number of unique snapshots of a single artifact to store.\nOnce the number of snapshots exceeds this setting, older versions are removed.\nA value of 0 (default) indicates there is no limit, and unique snapshots are not cleaned up."
                },
                "members": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/FederatedGradleRepositoryMember:FederatedGradleRepositoryMember"
                    },
                    "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the federated repository"
                },
                "snapshotVersionBehavior": {
                    "type": "string",
                    "description": "Specifies the naming convention for Maven SNAPSHOT versions.\nThe options are -\nunique: Version number is based on a time-stamp (default)\nnon-unique: Version number uses a self-overriding naming pattern of artifactId-version-SNAPSHOT.type\ndeployer: Respects the settings in the Maven client that is deploying the artifact."
                },
                "suppressPomConsistencyChecks": {
                    "type": "boolean",
                    "description": "By default, Artifactory keeps your repositories healthy by refusing POMs with incorrect coordinates (path).\n  If the groupId:artifactId:version information inside the POM does not match the deployed path, Artifactory rejects the deployment with a \"409 Conflict\" error.\n  You can disable this behavior by setting the Suppress POM Consistency Checks checkbox."
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key",
                "members"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering FederatedGradleRepository resources.\n",
                "properties": {
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "checksumPolicyType": {
                        "type": "string",
                        "description": "Checksum policy determines how Artifactory behaves when a client checksum for a deployed resource is missing or conflicts with the locally calculated checksum (bad checksum). Options are: \"client-checksums\", or \"server-generated-checksums\". Default: \"client-checksums\"\\n For more details, please refer to Checksum Policy - https://www.jfrog.com/confluence/display/JFROG/Local+Repositories#LocalRepositories-ChecksumPolicy"
                    },
                    "cleanupOnDelete": {
                        "type": "boolean",
                        "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "disableProxy": {
                        "type": "boolean",
                        "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "handleReleases": {
                        "type": "boolean",
                        "description": "If set, Artifactory allows you to deploy release artifacts into this repository."
                    },
                    "handleSnapshots": {
                        "type": "boolean",
                        "description": "If set, Artifactory allows you to deploy snapshot artifacts into this repository."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "the identity key of the repo.\n",
                        "willReplaceOnChanges": true
                    },
                    "maxUniqueSnapshots": {
                        "type": "integer",
                        "description": "The maximum number of unique snapshots of a single artifact to store.\nOnce the number of snapshots exceeds this setting, older versions are removed.\nA value of 0 (default) indicates there is no limit, and unique snapshots are not cleaned up."
                    },
                    "members": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/artifactory:index/FederatedGradleRepositoryMember:FederatedGradleRepositoryMember"
                        },
                        "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "packageType": {
                        "type": "string",
                        "willReplaceOnChanges": true
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "proxy": {
                        "type": "string",
                        "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Repository layout key for the federated repository"
                    },
                    "snapshotVersionBehavior": {
                        "type": "string",
                        "description": "Specifies the naming convention for Maven SNAPSHOT versions.\nThe options are -\nunique: Version number is based on a time-stamp (default)\nnon-unique: Version number uses a self-overriding naming pattern of artifactId-version-SNAPSHOT.type\ndeployer: Respects the settings in the Maven client that is deploying the artifact."
                    },
                    "suppressPomConsistencyChecks": {
                        "type": "boolean",
                        "description": "By default, Artifactory keeps your repositories healthy by refusing POMs with incorrect coordinates (path).\n  If the groupId:artifactId:version information inside the POM does not match the deployed path, Artifactory rejects the deployment with a \"409 Conflict\" error.\n  You can disable this behavior by setting the Suppress POM Consistency Checks checkbox."
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/federatedHelmRepository:FederatedHelmRepository": {
            "description": "Creates a federated Helm repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst terraform_federated_test_helm_repo = new artifactory.FederatedHelmRepository(\"terraform-federated-test-helm-repo\", {\n    key: \"terraform-federated-test-helm-repo\",\n    members: [\n        {\n            url: \"http://tempurl.org/artifactory/terraform-federated-test-helm-repo\",\n            enabled: true,\n        },\n        {\n            url: \"http://tempurl2.org/artifactory/terraform-federated-test-helm-repo-2\",\n            enabled: true,\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nterraform_federated_test_helm_repo = artifactory.FederatedHelmRepository(\"terraform-federated-test-helm-repo\",\n    key=\"terraform-federated-test-helm-repo\",\n    members=[\n        {\n            \"url\": \"http://tempurl.org/artifactory/terraform-federated-test-helm-repo\",\n            \"enabled\": True,\n        },\n        {\n            \"url\": \"http://tempurl2.org/artifactory/terraform-federated-test-helm-repo-2\",\n            \"enabled\": True,\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var terraform_federated_test_helm_repo = new Artifactory.FederatedHelmRepository(\"terraform-federated-test-helm-repo\", new()\n    {\n        Key = \"terraform-federated-test-helm-repo\",\n        Members = new[]\n        {\n            new Artifactory.Inputs.FederatedHelmRepositoryMemberArgs\n            {\n                Url = \"http://tempurl.org/artifactory/terraform-federated-test-helm-repo\",\n                Enabled = true,\n            },\n            new Artifactory.Inputs.FederatedHelmRepositoryMemberArgs\n            {\n                Url = \"http://tempurl2.org/artifactory/terraform-federated-test-helm-repo-2\",\n                Enabled = true,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewFederatedHelmRepository(ctx, \"terraform-federated-test-helm-repo\", \u0026artifactory.FederatedHelmRepositoryArgs{\n\t\t\tKey: pulumi.String(\"terraform-federated-test-helm-repo\"),\n\t\t\tMembers: artifactory.FederatedHelmRepositoryMemberArray{\n\t\t\t\t\u0026artifactory.FederatedHelmRepositoryMemberArgs{\n\t\t\t\t\tUrl:     pulumi.String(\"http://tempurl.org/artifactory/terraform-federated-test-helm-repo\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\t\u0026artifactory.FederatedHelmRepositoryMemberArgs{\n\t\t\t\t\tUrl:     pulumi.String(\"http://tempurl2.org/artifactory/terraform-federated-test-helm-repo-2\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_federatedhelmrepository\" \"terraform-federated-test-helm-repo\" {\n  key = \"terraform-federated-test-helm-repo\"\n  members {\n    url     = \"http://tempurl.org/artifactory/terraform-federated-test-helm-repo\"\n    enabled = true\n  }\n  members {\n    url     = \"http://tempurl2.org/artifactory/terraform-federated-test-helm-repo-2\"\n    enabled = true\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.FederatedHelmRepository;\nimport com.pulumi.artifactory.FederatedHelmRepositoryArgs;\nimport com.pulumi.artifactory.inputs.FederatedHelmRepositoryMemberArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 terraform_federated_test_helm_repo = new FederatedHelmRepository(\"terraform-federated-test-helm-repo\", FederatedHelmRepositoryArgs.builder()\n            .key(\"terraform-federated-test-helm-repo\")\n            .members(            \n                FederatedHelmRepositoryMemberArgs.builder()\n                    .url(\"http://tempurl.org/artifactory/terraform-federated-test-helm-repo\")\n                    .enabled(true)\n                    .build(),\n                FederatedHelmRepositoryMemberArgs.builder()\n                    .url(\"http://tempurl2.org/artifactory/terraform-federated-test-helm-repo-2\")\n                    .enabled(true)\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  terraform-federated-test-helm-repo:\n    type: artifactory:FederatedHelmRepository\n    properties:\n      key: terraform-federated-test-helm-repo\n      members:\n        - url: http://tempurl.org/artifactory/terraform-federated-test-helm-repo\n          enabled: true\n        - url: http://tempurl2.org/artifactory/terraform-federated-test-helm-repo-2\n          enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFederated repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/federatedHelmRepository:FederatedHelmRepository terraform-federated-test-helm-repo terraform-federated-test-helm-repo\n```\n\n",
            "properties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "cleanupOnDelete": {
                    "type": "boolean",
                    "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "members": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/FederatedHelmRepositoryMember:FederatedHelmRepositoryMember"
                    },
                    "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "packageType": {
                    "type": "string"
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the federated repository"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "key",
                "members",
                "packageType",
                "projectEnvironments"
            ],
            "inputProperties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "cleanupOnDelete": {
                    "type": "boolean",
                    "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n",
                    "willReplaceOnChanges": true
                },
                "members": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/FederatedHelmRepositoryMember:FederatedHelmRepositoryMember"
                    },
                    "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the federated repository"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key",
                "members"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering FederatedHelmRepository resources.\n",
                "properties": {
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "cleanupOnDelete": {
                        "type": "boolean",
                        "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "disableProxy": {
                        "type": "boolean",
                        "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "the identity key of the repo.\n",
                        "willReplaceOnChanges": true
                    },
                    "members": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/artifactory:index/FederatedHelmRepositoryMember:FederatedHelmRepositoryMember"
                        },
                        "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "packageType": {
                        "type": "string",
                        "willReplaceOnChanges": true
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "proxy": {
                        "type": "string",
                        "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Repository layout key for the federated repository"
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/federatedHelmociRepository:FederatedHelmociRepository": {
            "description": "Creates a federated Helm OCI repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst my_helmoci_federated = new artifactory.FederatedHelmociRepository(\"my-helmoci-federated\", {\n    key: \"my-helmoci-federated\",\n    members: [\n        {\n            url: \"http://tempurl.org/artifactory/my-helmoci-federated\",\n            enabled: true,\n        },\n        {\n            url: \"http://tempurl2.org/artifactory/my-helmoci-federated-2\",\n            enabled: true,\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nmy_helmoci_federated = artifactory.FederatedHelmociRepository(\"my-helmoci-federated\",\n    key=\"my-helmoci-federated\",\n    members=[\n        {\n            \"url\": \"http://tempurl.org/artifactory/my-helmoci-federated\",\n            \"enabled\": True,\n        },\n        {\n            \"url\": \"http://tempurl2.org/artifactory/my-helmoci-federated-2\",\n            \"enabled\": True,\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var my_helmoci_federated = new Artifactory.FederatedHelmociRepository(\"my-helmoci-federated\", new()\n    {\n        Key = \"my-helmoci-federated\",\n        Members = new[]\n        {\n            new Artifactory.Inputs.FederatedHelmociRepositoryMemberArgs\n            {\n                Url = \"http://tempurl.org/artifactory/my-helmoci-federated\",\n                Enabled = true,\n            },\n            new Artifactory.Inputs.FederatedHelmociRepositoryMemberArgs\n            {\n                Url = \"http://tempurl2.org/artifactory/my-helmoci-federated-2\",\n                Enabled = true,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewFederatedHelmociRepository(ctx, \"my-helmoci-federated\", \u0026artifactory.FederatedHelmociRepositoryArgs{\n\t\t\tKey: pulumi.String(\"my-helmoci-federated\"),\n\t\t\tMembers: artifactory.FederatedHelmociRepositoryMemberArray{\n\t\t\t\t\u0026artifactory.FederatedHelmociRepositoryMemberArgs{\n\t\t\t\t\tUrl:     pulumi.String(\"http://tempurl.org/artifactory/my-helmoci-federated\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\t\u0026artifactory.FederatedHelmociRepositoryMemberArgs{\n\t\t\t\t\tUrl:     pulumi.String(\"http://tempurl2.org/artifactory/my-helmoci-federated-2\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_federatedhelmocirepository\" \"my-helmoci-federated\" {\n  key = \"my-helmoci-federated\"\n  members {\n    url     = \"http://tempurl.org/artifactory/my-helmoci-federated\"\n    enabled = true\n  }\n  members {\n    url     = \"http://tempurl2.org/artifactory/my-helmoci-federated-2\"\n    enabled = true\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.FederatedHelmociRepository;\nimport com.pulumi.artifactory.FederatedHelmociRepositoryArgs;\nimport com.pulumi.artifactory.inputs.FederatedHelmociRepositoryMemberArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 my_helmoci_federated = new FederatedHelmociRepository(\"my-helmoci-federated\", FederatedHelmociRepositoryArgs.builder()\n            .key(\"my-helmoci-federated\")\n            .members(            \n                FederatedHelmociRepositoryMemberArgs.builder()\n                    .url(\"http://tempurl.org/artifactory/my-helmoci-federated\")\n                    .enabled(true)\n                    .build(),\n                FederatedHelmociRepositoryMemberArgs.builder()\n                    .url(\"http://tempurl2.org/artifactory/my-helmoci-federated-2\")\n                    .enabled(true)\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  my-helmoci-federated:\n    type: artifactory:FederatedHelmociRepository\n    properties:\n      key: my-helmoci-federated\n      members:\n        - url: http://tempurl.org/artifactory/my-helmoci-federated\n          enabled: true\n        - url: http://tempurl2.org/artifactory/my-helmoci-federated-2\n          enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFederated repositories can be imported using their name, e.g.\n\n```sh\n$ pulumi import artifactory:index/federatedHelmociRepository:FederatedHelmociRepository my-helmoci-federated my-helmoci-federated\n```\n\n",
            "properties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "cleanupOnDelete": {
                    "type": "boolean",
                    "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "maxUniqueTags": {
                    "type": "integer",
                    "description": "The maximum number of unique tags of a single Docker image to store in this repository.\nOnce the number tags for an image exceeds this setting, older tags are removed. A value of 0 (default) indicates there is no limit.\nThis only applies to manifest v2"
                },
                "members": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/FederatedHelmociRepositoryMember:FederatedHelmociRepositoryMember"
                    },
                    "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "packageType": {
                    "type": "string"
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the federated repository"
                },
                "tagRetention": {
                    "type": "integer",
                    "description": "If greater than 1, overwritten tags will be saved by their digest, up to the set up number. This only applies to manifest V2"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "key",
                "members",
                "packageType",
                "projectEnvironments"
            ],
            "inputProperties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "cleanupOnDelete": {
                    "type": "boolean",
                    "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n",
                    "willReplaceOnChanges": true
                },
                "maxUniqueTags": {
                    "type": "integer",
                    "description": "The maximum number of unique tags of a single Docker image to store in this repository.\nOnce the number tags for an image exceeds this setting, older tags are removed. A value of 0 (default) indicates there is no limit.\nThis only applies to manifest v2"
                },
                "members": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/FederatedHelmociRepositoryMember:FederatedHelmociRepositoryMember"
                    },
                    "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the federated repository"
                },
                "tagRetention": {
                    "type": "integer",
                    "description": "If greater than 1, overwritten tags will be saved by their digest, up to the set up number. This only applies to manifest V2"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key",
                "members"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering FederatedHelmociRepository resources.\n",
                "properties": {
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "cleanupOnDelete": {
                        "type": "boolean",
                        "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "disableProxy": {
                        "type": "boolean",
                        "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "the identity key of the repo.\n",
                        "willReplaceOnChanges": true
                    },
                    "maxUniqueTags": {
                        "type": "integer",
                        "description": "The maximum number of unique tags of a single Docker image to store in this repository.\nOnce the number tags for an image exceeds this setting, older tags are removed. A value of 0 (default) indicates there is no limit.\nThis only applies to manifest v2"
                    },
                    "members": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/artifactory:index/FederatedHelmociRepositoryMember:FederatedHelmociRepositoryMember"
                        },
                        "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "packageType": {
                        "type": "string",
                        "willReplaceOnChanges": true
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "proxy": {
                        "type": "string",
                        "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Repository layout key for the federated repository"
                    },
                    "tagRetention": {
                        "type": "integer",
                        "description": "If greater than 1, overwritten tags will be saved by their digest, up to the set up number. This only applies to manifest V2"
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/federatedHuggingfacemlRepository:FederatedHuggingfacemlRepository": {
            "description": "Creates a federated Hugging Face ML repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst my_huggingfaceml_federated = new artifactory.FederatedHuggingfacemlRepository(\"my-huggingfaceml-federated\", {\n    key: \"my-huggingfaceml-federated\",\n    members: [\n        {\n            url: \"http://tempurl.org/artifactory/my-huggingfaceml-federated\",\n            enabled: true,\n        },\n        {\n            url: \"http://tempurl2.org/artifactory/my-huggingfaceml-federated-2\",\n            enabled: true,\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nmy_huggingfaceml_federated = artifactory.FederatedHuggingfacemlRepository(\"my-huggingfaceml-federated\",\n    key=\"my-huggingfaceml-federated\",\n    members=[\n        {\n            \"url\": \"http://tempurl.org/artifactory/my-huggingfaceml-federated\",\n            \"enabled\": True,\n        },\n        {\n            \"url\": \"http://tempurl2.org/artifactory/my-huggingfaceml-federated-2\",\n            \"enabled\": True,\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var my_huggingfaceml_federated = new Artifactory.FederatedHuggingfacemlRepository(\"my-huggingfaceml-federated\", new()\n    {\n        Key = \"my-huggingfaceml-federated\",\n        Members = new[]\n        {\n            new Artifactory.Inputs.FederatedHuggingfacemlRepositoryMemberArgs\n            {\n                Url = \"http://tempurl.org/artifactory/my-huggingfaceml-federated\",\n                Enabled = true,\n            },\n            new Artifactory.Inputs.FederatedHuggingfacemlRepositoryMemberArgs\n            {\n                Url = \"http://tempurl2.org/artifactory/my-huggingfaceml-federated-2\",\n                Enabled = true,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewFederatedHuggingfacemlRepository(ctx, \"my-huggingfaceml-federated\", \u0026artifactory.FederatedHuggingfacemlRepositoryArgs{\n\t\t\tKey: pulumi.String(\"my-huggingfaceml-federated\"),\n\t\t\tMembers: artifactory.FederatedHuggingfacemlRepositoryMemberArray{\n\t\t\t\t\u0026artifactory.FederatedHuggingfacemlRepositoryMemberArgs{\n\t\t\t\t\tUrl:     pulumi.String(\"http://tempurl.org/artifactory/my-huggingfaceml-federated\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\t\u0026artifactory.FederatedHuggingfacemlRepositoryMemberArgs{\n\t\t\t\t\tUrl:     pulumi.String(\"http://tempurl2.org/artifactory/my-huggingfaceml-federated-2\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_federatedhuggingfacemlrepository\" \"my-huggingfaceml-federated\" {\n  key = \"my-huggingfaceml-federated\"\n  members {\n    url     = \"http://tempurl.org/artifactory/my-huggingfaceml-federated\"\n    enabled = true\n  }\n  members {\n    url     = \"http://tempurl2.org/artifactory/my-huggingfaceml-federated-2\"\n    enabled = true\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.FederatedHuggingfacemlRepository;\nimport com.pulumi.artifactory.FederatedHuggingfacemlRepositoryArgs;\nimport com.pulumi.artifactory.inputs.FederatedHuggingfacemlRepositoryMemberArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 my_huggingfaceml_federated = new FederatedHuggingfacemlRepository(\"my-huggingfaceml-federated\", FederatedHuggingfacemlRepositoryArgs.builder()\n            .key(\"my-huggingfaceml-federated\")\n            .members(            \n                FederatedHuggingfacemlRepositoryMemberArgs.builder()\n                    .url(\"http://tempurl.org/artifactory/my-huggingfaceml-federated\")\n                    .enabled(true)\n                    .build(),\n                FederatedHuggingfacemlRepositoryMemberArgs.builder()\n                    .url(\"http://tempurl2.org/artifactory/my-huggingfaceml-federated-2\")\n                    .enabled(true)\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  my-huggingfaceml-federated:\n    type: artifactory:FederatedHuggingfacemlRepository\n    properties:\n      key: my-huggingfaceml-federated\n      members:\n        - url: http://tempurl.org/artifactory/my-huggingfaceml-federated\n          enabled: true\n        - url: http://tempurl2.org/artifactory/my-huggingfaceml-federated-2\n          enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFederated repositories can be imported using their name, e.g.\n\n```sh\n$ pulumi import artifactory:index/federatedHuggingfacemlRepository:FederatedHuggingfacemlRepository my-huggingfaceml-federated my-huggingfaceml-federated\n```\n\n",
            "properties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "cleanupOnDelete": {
                    "type": "boolean",
                    "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "members": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/FederatedHuggingfacemlRepositoryMember:FederatedHuggingfacemlRepositoryMember"
                    },
                    "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "packageType": {
                    "type": "string"
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the federated repository"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "key",
                "members",
                "packageType",
                "projectEnvironments"
            ],
            "inputProperties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "cleanupOnDelete": {
                    "type": "boolean",
                    "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n",
                    "willReplaceOnChanges": true
                },
                "members": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/FederatedHuggingfacemlRepositoryMember:FederatedHuggingfacemlRepositoryMember"
                    },
                    "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the federated repository"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key",
                "members"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering FederatedHuggingfacemlRepository resources.\n",
                "properties": {
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "cleanupOnDelete": {
                        "type": "boolean",
                        "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "disableProxy": {
                        "type": "boolean",
                        "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "the identity key of the repo.\n",
                        "willReplaceOnChanges": true
                    },
                    "members": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/artifactory:index/FederatedHuggingfacemlRepositoryMember:FederatedHuggingfacemlRepositoryMember"
                        },
                        "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "packageType": {
                        "type": "string",
                        "willReplaceOnChanges": true
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "proxy": {
                        "type": "string",
                        "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Repository layout key for the federated repository"
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/federatedIvyRepository:FederatedIvyRepository": {
            "description": "Creates a federated Ivy repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst terraform_federated_test_ivy_repo = new artifactory.FederatedIvyRepository(\"terraform-federated-test-ivy-repo\", {\n    key: \"terraform-federated-test-ivy-repo\",\n    members: [\n        {\n            url: \"http://tempurl.org/artifactory/terraform-federated-test-ivy-repo\",\n            enabled: true,\n        },\n        {\n            url: \"http://tempurl2.org/artifactory/terraform-federated-test-ivy-repo-2\",\n            enabled: true,\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nterraform_federated_test_ivy_repo = artifactory.FederatedIvyRepository(\"terraform-federated-test-ivy-repo\",\n    key=\"terraform-federated-test-ivy-repo\",\n    members=[\n        {\n            \"url\": \"http://tempurl.org/artifactory/terraform-federated-test-ivy-repo\",\n            \"enabled\": True,\n        },\n        {\n            \"url\": \"http://tempurl2.org/artifactory/terraform-federated-test-ivy-repo-2\",\n            \"enabled\": True,\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var terraform_federated_test_ivy_repo = new Artifactory.FederatedIvyRepository(\"terraform-federated-test-ivy-repo\", new()\n    {\n        Key = \"terraform-federated-test-ivy-repo\",\n        Members = new[]\n        {\n            new Artifactory.Inputs.FederatedIvyRepositoryMemberArgs\n            {\n                Url = \"http://tempurl.org/artifactory/terraform-federated-test-ivy-repo\",\n                Enabled = true,\n            },\n            new Artifactory.Inputs.FederatedIvyRepositoryMemberArgs\n            {\n                Url = \"http://tempurl2.org/artifactory/terraform-federated-test-ivy-repo-2\",\n                Enabled = true,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewFederatedIvyRepository(ctx, \"terraform-federated-test-ivy-repo\", \u0026artifactory.FederatedIvyRepositoryArgs{\n\t\t\tKey: pulumi.String(\"terraform-federated-test-ivy-repo\"),\n\t\t\tMembers: artifactory.FederatedIvyRepositoryMemberArray{\n\t\t\t\t\u0026artifactory.FederatedIvyRepositoryMemberArgs{\n\t\t\t\t\tUrl:     pulumi.String(\"http://tempurl.org/artifactory/terraform-federated-test-ivy-repo\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\t\u0026artifactory.FederatedIvyRepositoryMemberArgs{\n\t\t\t\t\tUrl:     pulumi.String(\"http://tempurl2.org/artifactory/terraform-federated-test-ivy-repo-2\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_federatedivyrepository\" \"terraform-federated-test-ivy-repo\" {\n  key = \"terraform-federated-test-ivy-repo\"\n  members {\n    url     = \"http://tempurl.org/artifactory/terraform-federated-test-ivy-repo\"\n    enabled = true\n  }\n  members {\n    url     = \"http://tempurl2.org/artifactory/terraform-federated-test-ivy-repo-2\"\n    enabled = true\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.FederatedIvyRepository;\nimport com.pulumi.artifactory.FederatedIvyRepositoryArgs;\nimport com.pulumi.artifactory.inputs.FederatedIvyRepositoryMemberArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 terraform_federated_test_ivy_repo = new FederatedIvyRepository(\"terraform-federated-test-ivy-repo\", FederatedIvyRepositoryArgs.builder()\n            .key(\"terraform-federated-test-ivy-repo\")\n            .members(            \n                FederatedIvyRepositoryMemberArgs.builder()\n                    .url(\"http://tempurl.org/artifactory/terraform-federated-test-ivy-repo\")\n                    .enabled(true)\n                    .build(),\n                FederatedIvyRepositoryMemberArgs.builder()\n                    .url(\"http://tempurl2.org/artifactory/terraform-federated-test-ivy-repo-2\")\n                    .enabled(true)\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  terraform-federated-test-ivy-repo:\n    type: artifactory:FederatedIvyRepository\n    properties:\n      key: terraform-federated-test-ivy-repo\n      members:\n        - url: http://tempurl.org/artifactory/terraform-federated-test-ivy-repo\n          enabled: true\n        - url: http://tempurl2.org/artifactory/terraform-federated-test-ivy-repo-2\n          enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFederated repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/federatedIvyRepository:FederatedIvyRepository terraform-federated-test-ivy-repo terraform-federated-test-ivy-repo\n```\n\n",
            "properties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "checksumPolicyType": {
                    "type": "string",
                    "description": "Checksum policy determines how Artifactory behaves when a client checksum for a deployed resource is missing or conflicts with the locally calculated checksum (bad checksum). Options are: \"client-checksums\", or \"server-generated-checksums\". Default: \"client-checksums\"\\n For more details, please refer to Checksum Policy - https://www.jfrog.com/confluence/display/JFROG/Local+Repositories#LocalRepositories-ChecksumPolicy"
                },
                "cleanupOnDelete": {
                    "type": "boolean",
                    "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "handleReleases": {
                    "type": "boolean",
                    "description": "If set, Artifactory allows you to deploy release artifacts into this repository."
                },
                "handleSnapshots": {
                    "type": "boolean",
                    "description": "If set, Artifactory allows you to deploy snapshot artifacts into this repository."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "maxUniqueSnapshots": {
                    "type": "integer",
                    "description": "The maximum number of unique snapshots of a single artifact to store.\nOnce the number of snapshots exceeds this setting, older versions are removed.\nA value of 0 (default) indicates there is no limit, and unique snapshots are not cleaned up."
                },
                "members": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/FederatedIvyRepositoryMember:FederatedIvyRepositoryMember"
                    },
                    "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "packageType": {
                    "type": "string"
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the federated repository"
                },
                "snapshotVersionBehavior": {
                    "type": "string",
                    "description": "Specifies the naming convention for Maven SNAPSHOT versions.\nThe options are -\nunique: Version number is based on a time-stamp (default)\nnon-unique: Version number uses a self-overriding naming pattern of artifactId-version-SNAPSHOT.type\ndeployer: Respects the settings in the Maven client that is deploying the artifact."
                },
                "suppressPomConsistencyChecks": {
                    "type": "boolean",
                    "description": "By default, Artifactory keeps your repositories healthy by refusing POMs with incorrect coordinates (path).\n  If the groupId:artifactId:version information inside the POM does not match the deployed path, Artifactory rejects the deployment with a \"409 Conflict\" error.\n  You can disable this behavior by setting the Suppress POM Consistency Checks checkbox."
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "key",
                "members",
                "packageType",
                "projectEnvironments"
            ],
            "inputProperties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "checksumPolicyType": {
                    "type": "string",
                    "description": "Checksum policy determines how Artifactory behaves when a client checksum for a deployed resource is missing or conflicts with the locally calculated checksum (bad checksum). Options are: \"client-checksums\", or \"server-generated-checksums\". Default: \"client-checksums\"\\n For more details, please refer to Checksum Policy - https://www.jfrog.com/confluence/display/JFROG/Local+Repositories#LocalRepositories-ChecksumPolicy"
                },
                "cleanupOnDelete": {
                    "type": "boolean",
                    "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "handleReleases": {
                    "type": "boolean",
                    "description": "If set, Artifactory allows you to deploy release artifacts into this repository."
                },
                "handleSnapshots": {
                    "type": "boolean",
                    "description": "If set, Artifactory allows you to deploy snapshot artifacts into this repository."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n",
                    "willReplaceOnChanges": true
                },
                "maxUniqueSnapshots": {
                    "type": "integer",
                    "description": "The maximum number of unique snapshots of a single artifact to store.\nOnce the number of snapshots exceeds this setting, older versions are removed.\nA value of 0 (default) indicates there is no limit, and unique snapshots are not cleaned up."
                },
                "members": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/FederatedIvyRepositoryMember:FederatedIvyRepositoryMember"
                    },
                    "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the federated repository"
                },
                "snapshotVersionBehavior": {
                    "type": "string",
                    "description": "Specifies the naming convention for Maven SNAPSHOT versions.\nThe options are -\nunique: Version number is based on a time-stamp (default)\nnon-unique: Version number uses a self-overriding naming pattern of artifactId-version-SNAPSHOT.type\ndeployer: Respects the settings in the Maven client that is deploying the artifact."
                },
                "suppressPomConsistencyChecks": {
                    "type": "boolean",
                    "description": "By default, Artifactory keeps your repositories healthy by refusing POMs with incorrect coordinates (path).\n  If the groupId:artifactId:version information inside the POM does not match the deployed path, Artifactory rejects the deployment with a \"409 Conflict\" error.\n  You can disable this behavior by setting the Suppress POM Consistency Checks checkbox."
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key",
                "members"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering FederatedIvyRepository resources.\n",
                "properties": {
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "checksumPolicyType": {
                        "type": "string",
                        "description": "Checksum policy determines how Artifactory behaves when a client checksum for a deployed resource is missing or conflicts with the locally calculated checksum (bad checksum). Options are: \"client-checksums\", or \"server-generated-checksums\". Default: \"client-checksums\"\\n For more details, please refer to Checksum Policy - https://www.jfrog.com/confluence/display/JFROG/Local+Repositories#LocalRepositories-ChecksumPolicy"
                    },
                    "cleanupOnDelete": {
                        "type": "boolean",
                        "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "disableProxy": {
                        "type": "boolean",
                        "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "handleReleases": {
                        "type": "boolean",
                        "description": "If set, Artifactory allows you to deploy release artifacts into this repository."
                    },
                    "handleSnapshots": {
                        "type": "boolean",
                        "description": "If set, Artifactory allows you to deploy snapshot artifacts into this repository."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "the identity key of the repo.\n",
                        "willReplaceOnChanges": true
                    },
                    "maxUniqueSnapshots": {
                        "type": "integer",
                        "description": "The maximum number of unique snapshots of a single artifact to store.\nOnce the number of snapshots exceeds this setting, older versions are removed.\nA value of 0 (default) indicates there is no limit, and unique snapshots are not cleaned up."
                    },
                    "members": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/artifactory:index/FederatedIvyRepositoryMember:FederatedIvyRepositoryMember"
                        },
                        "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "packageType": {
                        "type": "string",
                        "willReplaceOnChanges": true
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "proxy": {
                        "type": "string",
                        "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Repository layout key for the federated repository"
                    },
                    "snapshotVersionBehavior": {
                        "type": "string",
                        "description": "Specifies the naming convention for Maven SNAPSHOT versions.\nThe options are -\nunique: Version number is based on a time-stamp (default)\nnon-unique: Version number uses a self-overriding naming pattern of artifactId-version-SNAPSHOT.type\ndeployer: Respects the settings in the Maven client that is deploying the artifact."
                    },
                    "suppressPomConsistencyChecks": {
                        "type": "boolean",
                        "description": "By default, Artifactory keeps your repositories healthy by refusing POMs with incorrect coordinates (path).\n  If the groupId:artifactId:version information inside the POM does not match the deployed path, Artifactory rejects the deployment with a \"409 Conflict\" error.\n  You can disable this behavior by setting the Suppress POM Consistency Checks checkbox."
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/federatedMavenRepository:FederatedMavenRepository": {
            "description": "Creates a federated Maven repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst terraform_federated_test_maven_repo = new artifactory.FederatedMavenRepository(\"terraform-federated-test-maven-repo\", {\n    key: \"terraform-federated-test-maven-repo\",\n    members: [\n        {\n            url: \"http://tempurl.org/artifactory/terraform-federated-test-maven-repo\",\n            enabled: true,\n        },\n        {\n            url: \"http://tempurl2.org/artifactory/terraform-federated-test-maven-repo-2\",\n            enabled: true,\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nterraform_federated_test_maven_repo = artifactory.FederatedMavenRepository(\"terraform-federated-test-maven-repo\",\n    key=\"terraform-federated-test-maven-repo\",\n    members=[\n        {\n            \"url\": \"http://tempurl.org/artifactory/terraform-federated-test-maven-repo\",\n            \"enabled\": True,\n        },\n        {\n            \"url\": \"http://tempurl2.org/artifactory/terraform-federated-test-maven-repo-2\",\n            \"enabled\": True,\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var terraform_federated_test_maven_repo = new Artifactory.FederatedMavenRepository(\"terraform-federated-test-maven-repo\", new()\n    {\n        Key = \"terraform-federated-test-maven-repo\",\n        Members = new[]\n        {\n            new Artifactory.Inputs.FederatedMavenRepositoryMemberArgs\n            {\n                Url = \"http://tempurl.org/artifactory/terraform-federated-test-maven-repo\",\n                Enabled = true,\n            },\n            new Artifactory.Inputs.FederatedMavenRepositoryMemberArgs\n            {\n                Url = \"http://tempurl2.org/artifactory/terraform-federated-test-maven-repo-2\",\n                Enabled = true,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewFederatedMavenRepository(ctx, \"terraform-federated-test-maven-repo\", \u0026artifactory.FederatedMavenRepositoryArgs{\n\t\t\tKey: pulumi.String(\"terraform-federated-test-maven-repo\"),\n\t\t\tMembers: artifactory.FederatedMavenRepositoryMemberArray{\n\t\t\t\t\u0026artifactory.FederatedMavenRepositoryMemberArgs{\n\t\t\t\t\tUrl:     pulumi.String(\"http://tempurl.org/artifactory/terraform-federated-test-maven-repo\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\t\u0026artifactory.FederatedMavenRepositoryMemberArgs{\n\t\t\t\t\tUrl:     pulumi.String(\"http://tempurl2.org/artifactory/terraform-federated-test-maven-repo-2\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_federatedmavenrepository\" \"terraform-federated-test-maven-repo\" {\n  key = \"terraform-federated-test-maven-repo\"\n  members {\n    url     = \"http://tempurl.org/artifactory/terraform-federated-test-maven-repo\"\n    enabled = true\n  }\n  members {\n    url     = \"http://tempurl2.org/artifactory/terraform-federated-test-maven-repo-2\"\n    enabled = true\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.FederatedMavenRepository;\nimport com.pulumi.artifactory.FederatedMavenRepositoryArgs;\nimport com.pulumi.artifactory.inputs.FederatedMavenRepositoryMemberArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 terraform_federated_test_maven_repo = new FederatedMavenRepository(\"terraform-federated-test-maven-repo\", FederatedMavenRepositoryArgs.builder()\n            .key(\"terraform-federated-test-maven-repo\")\n            .members(            \n                FederatedMavenRepositoryMemberArgs.builder()\n                    .url(\"http://tempurl.org/artifactory/terraform-federated-test-maven-repo\")\n                    .enabled(true)\n                    .build(),\n                FederatedMavenRepositoryMemberArgs.builder()\n                    .url(\"http://tempurl2.org/artifactory/terraform-federated-test-maven-repo-2\")\n                    .enabled(true)\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  terraform-federated-test-maven-repo:\n    type: artifactory:FederatedMavenRepository\n    properties:\n      key: terraform-federated-test-maven-repo\n      members:\n        - url: http://tempurl.org/artifactory/terraform-federated-test-maven-repo\n          enabled: true\n        - url: http://tempurl2.org/artifactory/terraform-federated-test-maven-repo-2\n          enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFederated repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/federatedMavenRepository:FederatedMavenRepository terraform-federated-test-maven-repo terraform-federated-test-maven-repo\n```\n\n",
            "properties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "checksumPolicyType": {
                    "type": "string",
                    "description": "Checksum policy determines how Artifactory behaves when a client checksum for a deployed resource is missing or conflicts with the locally calculated checksum (bad checksum). Options are: \"client-checksums\", or \"server-generated-checksums\". Default: \"client-checksums\"\\n For more details, please refer to Checksum Policy - https://www.jfrog.com/confluence/display/JFROG/Local+Repositories#LocalRepositories-ChecksumPolicy"
                },
                "cleanupOnDelete": {
                    "type": "boolean",
                    "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "handleReleases": {
                    "type": "boolean",
                    "description": "If set, Artifactory allows you to deploy release artifacts into this repository."
                },
                "handleSnapshots": {
                    "type": "boolean",
                    "description": "If set, Artifactory allows you to deploy snapshot artifacts into this repository."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "maxUniqueSnapshots": {
                    "type": "integer",
                    "description": "The maximum number of unique snapshots of a single artifact to store.\nOnce the number of snapshots exceeds this setting, older versions are removed.\nA value of 0 (default) indicates there is no limit, and unique snapshots are not cleaned up."
                },
                "members": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/FederatedMavenRepositoryMember:FederatedMavenRepositoryMember"
                    },
                    "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "packageType": {
                    "type": "string"
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the federated repository"
                },
                "snapshotVersionBehavior": {
                    "type": "string",
                    "description": "Specifies the naming convention for Maven SNAPSHOT versions.\nThe options are -\nunique: Version number is based on a time-stamp (default)\nnon-unique: Version number uses a self-overriding naming pattern of artifactId-version-SNAPSHOT.type\ndeployer: Respects the settings in the Maven client that is deploying the artifact."
                },
                "suppressPomConsistencyChecks": {
                    "type": "boolean",
                    "description": "By default, Artifactory keeps your repositories healthy by refusing POMs with incorrect coordinates (path).\n  If the groupId:artifactId:version information inside the POM does not match the deployed path, Artifactory rejects the deployment with a \"409 Conflict\" error.\n  You can disable this behavior by setting the Suppress POM Consistency Checks checkbox."
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "key",
                "members",
                "packageType",
                "projectEnvironments"
            ],
            "inputProperties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "checksumPolicyType": {
                    "type": "string",
                    "description": "Checksum policy determines how Artifactory behaves when a client checksum for a deployed resource is missing or conflicts with the locally calculated checksum (bad checksum). Options are: \"client-checksums\", or \"server-generated-checksums\". Default: \"client-checksums\"\\n For more details, please refer to Checksum Policy - https://www.jfrog.com/confluence/display/JFROG/Local+Repositories#LocalRepositories-ChecksumPolicy"
                },
                "cleanupOnDelete": {
                    "type": "boolean",
                    "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "handleReleases": {
                    "type": "boolean",
                    "description": "If set, Artifactory allows you to deploy release artifacts into this repository."
                },
                "handleSnapshots": {
                    "type": "boolean",
                    "description": "If set, Artifactory allows you to deploy snapshot artifacts into this repository."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n",
                    "willReplaceOnChanges": true
                },
                "maxUniqueSnapshots": {
                    "type": "integer",
                    "description": "The maximum number of unique snapshots of a single artifact to store.\nOnce the number of snapshots exceeds this setting, older versions are removed.\nA value of 0 (default) indicates there is no limit, and unique snapshots are not cleaned up."
                },
                "members": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/FederatedMavenRepositoryMember:FederatedMavenRepositoryMember"
                    },
                    "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the federated repository"
                },
                "snapshotVersionBehavior": {
                    "type": "string",
                    "description": "Specifies the naming convention for Maven SNAPSHOT versions.\nThe options are -\nunique: Version number is based on a time-stamp (default)\nnon-unique: Version number uses a self-overriding naming pattern of artifactId-version-SNAPSHOT.type\ndeployer: Respects the settings in the Maven client that is deploying the artifact."
                },
                "suppressPomConsistencyChecks": {
                    "type": "boolean",
                    "description": "By default, Artifactory keeps your repositories healthy by refusing POMs with incorrect coordinates (path).\n  If the groupId:artifactId:version information inside the POM does not match the deployed path, Artifactory rejects the deployment with a \"409 Conflict\" error.\n  You can disable this behavior by setting the Suppress POM Consistency Checks checkbox."
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key",
                "members"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering FederatedMavenRepository resources.\n",
                "properties": {
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "checksumPolicyType": {
                        "type": "string",
                        "description": "Checksum policy determines how Artifactory behaves when a client checksum for a deployed resource is missing or conflicts with the locally calculated checksum (bad checksum). Options are: \"client-checksums\", or \"server-generated-checksums\". Default: \"client-checksums\"\\n For more details, please refer to Checksum Policy - https://www.jfrog.com/confluence/display/JFROG/Local+Repositories#LocalRepositories-ChecksumPolicy"
                    },
                    "cleanupOnDelete": {
                        "type": "boolean",
                        "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "disableProxy": {
                        "type": "boolean",
                        "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "handleReleases": {
                        "type": "boolean",
                        "description": "If set, Artifactory allows you to deploy release artifacts into this repository."
                    },
                    "handleSnapshots": {
                        "type": "boolean",
                        "description": "If set, Artifactory allows you to deploy snapshot artifacts into this repository."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "the identity key of the repo.\n",
                        "willReplaceOnChanges": true
                    },
                    "maxUniqueSnapshots": {
                        "type": "integer",
                        "description": "The maximum number of unique snapshots of a single artifact to store.\nOnce the number of snapshots exceeds this setting, older versions are removed.\nA value of 0 (default) indicates there is no limit, and unique snapshots are not cleaned up."
                    },
                    "members": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/artifactory:index/FederatedMavenRepositoryMember:FederatedMavenRepositoryMember"
                        },
                        "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "packageType": {
                        "type": "string",
                        "willReplaceOnChanges": true
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "proxy": {
                        "type": "string",
                        "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Repository layout key for the federated repository"
                    },
                    "snapshotVersionBehavior": {
                        "type": "string",
                        "description": "Specifies the naming convention for Maven SNAPSHOT versions.\nThe options are -\nunique: Version number is based on a time-stamp (default)\nnon-unique: Version number uses a self-overriding naming pattern of artifactId-version-SNAPSHOT.type\ndeployer: Respects the settings in the Maven client that is deploying the artifact."
                    },
                    "suppressPomConsistencyChecks": {
                        "type": "boolean",
                        "description": "By default, Artifactory keeps your repositories healthy by refusing POMs with incorrect coordinates (path).\n  If the groupId:artifactId:version information inside the POM does not match the deployed path, Artifactory rejects the deployment with a \"409 Conflict\" error.\n  You can disable this behavior by setting the Suppress POM Consistency Checks checkbox."
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/federatedNpmRepository:FederatedNpmRepository": {
            "description": "Creates a federated Npm repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst terraform_federated_test_npm_repo = new artifactory.FederatedNpmRepository(\"terraform-federated-test-npm-repo\", {\n    key: \"terraform-federated-test-npm-repo\",\n    members: [\n        {\n            url: \"http://tempurl.org/artifactory/terraform-federated-test-npm-repo\",\n            enabled: true,\n        },\n        {\n            url: \"http://tempurl2.org/artifactory/terraform-federated-test-npm-repo-2\",\n            enabled: true,\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nterraform_federated_test_npm_repo = artifactory.FederatedNpmRepository(\"terraform-federated-test-npm-repo\",\n    key=\"terraform-federated-test-npm-repo\",\n    members=[\n        {\n            \"url\": \"http://tempurl.org/artifactory/terraform-federated-test-npm-repo\",\n            \"enabled\": True,\n        },\n        {\n            \"url\": \"http://tempurl2.org/artifactory/terraform-federated-test-npm-repo-2\",\n            \"enabled\": True,\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var terraform_federated_test_npm_repo = new Artifactory.FederatedNpmRepository(\"terraform-federated-test-npm-repo\", new()\n    {\n        Key = \"terraform-federated-test-npm-repo\",\n        Members = new[]\n        {\n            new Artifactory.Inputs.FederatedNpmRepositoryMemberArgs\n            {\n                Url = \"http://tempurl.org/artifactory/terraform-federated-test-npm-repo\",\n                Enabled = true,\n            },\n            new Artifactory.Inputs.FederatedNpmRepositoryMemberArgs\n            {\n                Url = \"http://tempurl2.org/artifactory/terraform-federated-test-npm-repo-2\",\n                Enabled = true,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewFederatedNpmRepository(ctx, \"terraform-federated-test-npm-repo\", \u0026artifactory.FederatedNpmRepositoryArgs{\n\t\t\tKey: pulumi.String(\"terraform-federated-test-npm-repo\"),\n\t\t\tMembers: artifactory.FederatedNpmRepositoryMemberArray{\n\t\t\t\t\u0026artifactory.FederatedNpmRepositoryMemberArgs{\n\t\t\t\t\tUrl:     pulumi.String(\"http://tempurl.org/artifactory/terraform-federated-test-npm-repo\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\t\u0026artifactory.FederatedNpmRepositoryMemberArgs{\n\t\t\t\t\tUrl:     pulumi.String(\"http://tempurl2.org/artifactory/terraform-federated-test-npm-repo-2\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_federatednpmrepository\" \"terraform-federated-test-npm-repo\" {\n  key = \"terraform-federated-test-npm-repo\"\n  members {\n    url     = \"http://tempurl.org/artifactory/terraform-federated-test-npm-repo\"\n    enabled = true\n  }\n  members {\n    url     = \"http://tempurl2.org/artifactory/terraform-federated-test-npm-repo-2\"\n    enabled = true\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.FederatedNpmRepository;\nimport com.pulumi.artifactory.FederatedNpmRepositoryArgs;\nimport com.pulumi.artifactory.inputs.FederatedNpmRepositoryMemberArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 terraform_federated_test_npm_repo = new FederatedNpmRepository(\"terraform-federated-test-npm-repo\", FederatedNpmRepositoryArgs.builder()\n            .key(\"terraform-federated-test-npm-repo\")\n            .members(            \n                FederatedNpmRepositoryMemberArgs.builder()\n                    .url(\"http://tempurl.org/artifactory/terraform-federated-test-npm-repo\")\n                    .enabled(true)\n                    .build(),\n                FederatedNpmRepositoryMemberArgs.builder()\n                    .url(\"http://tempurl2.org/artifactory/terraform-federated-test-npm-repo-2\")\n                    .enabled(true)\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  terraform-federated-test-npm-repo:\n    type: artifactory:FederatedNpmRepository\n    properties:\n      key: terraform-federated-test-npm-repo\n      members:\n        - url: http://tempurl.org/artifactory/terraform-federated-test-npm-repo\n          enabled: true\n        - url: http://tempurl2.org/artifactory/terraform-federated-test-npm-repo-2\n          enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFederated repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/federatedNpmRepository:FederatedNpmRepository terraform-federated-test-npm-repo terraform-federated-test-npm-repo\n```\n\n",
            "properties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "cleanupOnDelete": {
                    "type": "boolean",
                    "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "members": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/FederatedNpmRepositoryMember:FederatedNpmRepositoryMember"
                    },
                    "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "packageType": {
                    "type": "string"
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the federated repository"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "key",
                "members",
                "packageType",
                "projectEnvironments"
            ],
            "inputProperties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "cleanupOnDelete": {
                    "type": "boolean",
                    "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n",
                    "willReplaceOnChanges": true
                },
                "members": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/FederatedNpmRepositoryMember:FederatedNpmRepositoryMember"
                    },
                    "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the federated repository"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key",
                "members"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering FederatedNpmRepository resources.\n",
                "properties": {
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "cleanupOnDelete": {
                        "type": "boolean",
                        "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "disableProxy": {
                        "type": "boolean",
                        "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "the identity key of the repo.\n",
                        "willReplaceOnChanges": true
                    },
                    "members": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/artifactory:index/FederatedNpmRepositoryMember:FederatedNpmRepositoryMember"
                        },
                        "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "packageType": {
                        "type": "string",
                        "willReplaceOnChanges": true
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "proxy": {
                        "type": "string",
                        "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Repository layout key for the federated repository"
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/federatedNugetRepository:FederatedNugetRepository": {
            "description": "Creates a federated Nuget repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst terraform_federated_test_nuget_repo = new artifactory.FederatedNugetRepository(\"terraform-federated-test-nuget-repo\", {\n    key: \"terraform-federated-test-nuget-repo\",\n    members: [\n        {\n            url: \"http://tempurl.org/artifactory/terraform-federated-test-nuget-repo\",\n            enabled: true,\n        },\n        {\n            url: \"http://tempurl2.org/artifactory/terraform-federated-test-nuget-repo-2\",\n            enabled: true,\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nterraform_federated_test_nuget_repo = artifactory.FederatedNugetRepository(\"terraform-federated-test-nuget-repo\",\n    key=\"terraform-federated-test-nuget-repo\",\n    members=[\n        {\n            \"url\": \"http://tempurl.org/artifactory/terraform-federated-test-nuget-repo\",\n            \"enabled\": True,\n        },\n        {\n            \"url\": \"http://tempurl2.org/artifactory/terraform-federated-test-nuget-repo-2\",\n            \"enabled\": True,\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var terraform_federated_test_nuget_repo = new Artifactory.FederatedNugetRepository(\"terraform-federated-test-nuget-repo\", new()\n    {\n        Key = \"terraform-federated-test-nuget-repo\",\n        Members = new[]\n        {\n            new Artifactory.Inputs.FederatedNugetRepositoryMemberArgs\n            {\n                Url = \"http://tempurl.org/artifactory/terraform-federated-test-nuget-repo\",\n                Enabled = true,\n            },\n            new Artifactory.Inputs.FederatedNugetRepositoryMemberArgs\n            {\n                Url = \"http://tempurl2.org/artifactory/terraform-federated-test-nuget-repo-2\",\n                Enabled = true,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewFederatedNugetRepository(ctx, \"terraform-federated-test-nuget-repo\", \u0026artifactory.FederatedNugetRepositoryArgs{\n\t\t\tKey: pulumi.String(\"terraform-federated-test-nuget-repo\"),\n\t\t\tMembers: artifactory.FederatedNugetRepositoryMemberArray{\n\t\t\t\t\u0026artifactory.FederatedNugetRepositoryMemberArgs{\n\t\t\t\t\tUrl:     pulumi.String(\"http://tempurl.org/artifactory/terraform-federated-test-nuget-repo\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\t\u0026artifactory.FederatedNugetRepositoryMemberArgs{\n\t\t\t\t\tUrl:     pulumi.String(\"http://tempurl2.org/artifactory/terraform-federated-test-nuget-repo-2\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_federatednugetrepository\" \"terraform-federated-test-nuget-repo\" {\n  key = \"terraform-federated-test-nuget-repo\"\n  members {\n    url     = \"http://tempurl.org/artifactory/terraform-federated-test-nuget-repo\"\n    enabled = true\n  }\n  members {\n    url     = \"http://tempurl2.org/artifactory/terraform-federated-test-nuget-repo-2\"\n    enabled = true\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.FederatedNugetRepository;\nimport com.pulumi.artifactory.FederatedNugetRepositoryArgs;\nimport com.pulumi.artifactory.inputs.FederatedNugetRepositoryMemberArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 terraform_federated_test_nuget_repo = new FederatedNugetRepository(\"terraform-federated-test-nuget-repo\", FederatedNugetRepositoryArgs.builder()\n            .key(\"terraform-federated-test-nuget-repo\")\n            .members(            \n                FederatedNugetRepositoryMemberArgs.builder()\n                    .url(\"http://tempurl.org/artifactory/terraform-federated-test-nuget-repo\")\n                    .enabled(true)\n                    .build(),\n                FederatedNugetRepositoryMemberArgs.builder()\n                    .url(\"http://tempurl2.org/artifactory/terraform-federated-test-nuget-repo-2\")\n                    .enabled(true)\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  terraform-federated-test-nuget-repo:\n    type: artifactory:FederatedNugetRepository\n    properties:\n      key: terraform-federated-test-nuget-repo\n      members:\n        - url: http://tempurl.org/artifactory/terraform-federated-test-nuget-repo\n          enabled: true\n        - url: http://tempurl2.org/artifactory/terraform-federated-test-nuget-repo-2\n          enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFederated repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/federatedNugetRepository:FederatedNugetRepository terraform-federated-test-nuget-repo terraform-federated-test-nuget-repo\n```\n\n",
            "properties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "cleanupOnDelete": {
                    "type": "boolean",
                    "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "forceNugetAuthentication": {
                    "type": "boolean",
                    "description": "Force basic authentication credentials in order to use this repository."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "maxUniqueSnapshots": {
                    "type": "integer",
                    "description": "The maximum number of unique snapshots of a single artifact to store.\nOnce the number of snapshots exceeds this setting, older versions are removed.\nA value of 0 (default) indicates there is no limit, and unique snapshots are not cleaned up."
                },
                "members": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/FederatedNugetRepositoryMember:FederatedNugetRepositoryMember"
                    },
                    "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "packageType": {
                    "type": "string"
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the federated repository"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "key",
                "members",
                "packageType",
                "projectEnvironments"
            ],
            "inputProperties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "cleanupOnDelete": {
                    "type": "boolean",
                    "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "forceNugetAuthentication": {
                    "type": "boolean",
                    "description": "Force basic authentication credentials in order to use this repository."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n",
                    "willReplaceOnChanges": true
                },
                "maxUniqueSnapshots": {
                    "type": "integer",
                    "description": "The maximum number of unique snapshots of a single artifact to store.\nOnce the number of snapshots exceeds this setting, older versions are removed.\nA value of 0 (default) indicates there is no limit, and unique snapshots are not cleaned up."
                },
                "members": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/FederatedNugetRepositoryMember:FederatedNugetRepositoryMember"
                    },
                    "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the federated repository"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key",
                "members"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering FederatedNugetRepository resources.\n",
                "properties": {
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "cleanupOnDelete": {
                        "type": "boolean",
                        "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "disableProxy": {
                        "type": "boolean",
                        "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "forceNugetAuthentication": {
                        "type": "boolean",
                        "description": "Force basic authentication credentials in order to use this repository."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "the identity key of the repo.\n",
                        "willReplaceOnChanges": true
                    },
                    "maxUniqueSnapshots": {
                        "type": "integer",
                        "description": "The maximum number of unique snapshots of a single artifact to store.\nOnce the number of snapshots exceeds this setting, older versions are removed.\nA value of 0 (default) indicates there is no limit, and unique snapshots are not cleaned up."
                    },
                    "members": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/artifactory:index/FederatedNugetRepositoryMember:FederatedNugetRepositoryMember"
                        },
                        "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "packageType": {
                        "type": "string",
                        "willReplaceOnChanges": true
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "proxy": {
                        "type": "string",
                        "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Repository layout key for the federated repository"
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/federatedOciRepository:FederatedOciRepository": {
            "description": "Creates a federated OCI repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst my_oci_federated = new artifactory.FederatedOciRepository(\"my-oci-federated\", {\n    key: \"my-oci-federated\",\n    members: [\n        {\n            url: \"http://tempurl.org/artifactory/my-oci-federated\",\n            enabled: true,\n        },\n        {\n            url: \"http://tempurl2.org/artifactory/my-oci-federated-2\",\n            enabled: true,\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nmy_oci_federated = artifactory.FederatedOciRepository(\"my-oci-federated\",\n    key=\"my-oci-federated\",\n    members=[\n        {\n            \"url\": \"http://tempurl.org/artifactory/my-oci-federated\",\n            \"enabled\": True,\n        },\n        {\n            \"url\": \"http://tempurl2.org/artifactory/my-oci-federated-2\",\n            \"enabled\": True,\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var my_oci_federated = new Artifactory.FederatedOciRepository(\"my-oci-federated\", new()\n    {\n        Key = \"my-oci-federated\",\n        Members = new[]\n        {\n            new Artifactory.Inputs.FederatedOciRepositoryMemberArgs\n            {\n                Url = \"http://tempurl.org/artifactory/my-oci-federated\",\n                Enabled = true,\n            },\n            new Artifactory.Inputs.FederatedOciRepositoryMemberArgs\n            {\n                Url = \"http://tempurl2.org/artifactory/my-oci-federated-2\",\n                Enabled = true,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewFederatedOciRepository(ctx, \"my-oci-federated\", \u0026artifactory.FederatedOciRepositoryArgs{\n\t\t\tKey: pulumi.String(\"my-oci-federated\"),\n\t\t\tMembers: artifactory.FederatedOciRepositoryMemberArray{\n\t\t\t\t\u0026artifactory.FederatedOciRepositoryMemberArgs{\n\t\t\t\t\tUrl:     pulumi.String(\"http://tempurl.org/artifactory/my-oci-federated\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\t\u0026artifactory.FederatedOciRepositoryMemberArgs{\n\t\t\t\t\tUrl:     pulumi.String(\"http://tempurl2.org/artifactory/my-oci-federated-2\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_federatedocirepository\" \"my-oci-federated\" {\n  key = \"my-oci-federated\"\n  members {\n    url     = \"http://tempurl.org/artifactory/my-oci-federated\"\n    enabled = true\n  }\n  members {\n    url     = \"http://tempurl2.org/artifactory/my-oci-federated-2\"\n    enabled = true\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.FederatedOciRepository;\nimport com.pulumi.artifactory.FederatedOciRepositoryArgs;\nimport com.pulumi.artifactory.inputs.FederatedOciRepositoryMemberArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 my_oci_federated = new FederatedOciRepository(\"my-oci-federated\", FederatedOciRepositoryArgs.builder()\n            .key(\"my-oci-federated\")\n            .members(            \n                FederatedOciRepositoryMemberArgs.builder()\n                    .url(\"http://tempurl.org/artifactory/my-oci-federated\")\n                    .enabled(true)\n                    .build(),\n                FederatedOciRepositoryMemberArgs.builder()\n                    .url(\"http://tempurl2.org/artifactory/my-oci-federated-2\")\n                    .enabled(true)\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  my-oci-federated:\n    type: artifactory:FederatedOciRepository\n    properties:\n      key: my-oci-federated\n      members:\n        - url: http://tempurl.org/artifactory/my-oci-federated\n          enabled: true\n        - url: http://tempurl2.org/artifactory/my-oci-federated-2\n          enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFederated OCI repositories can be imported using their name, e.g.\n\n```sh\n$ pulumi import artifactory:index/federatedOciRepository:FederatedOciRepository my-oci-federated my-oci-federated\n```\n\n",
            "properties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "cleanupOnDelete": {
                    "type": "boolean",
                    "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "maxUniqueTags": {
                    "type": "integer",
                    "description": "The maximum number of unique tags of a single OCI image to store in this repository.\nOnce the number tags for an image exceeds this setting, older tags are removed. A value of 0 (default) indicates there is no limit."
                },
                "members": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/FederatedOciRepositoryMember:FederatedOciRepositoryMember"
                    },
                    "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "packageType": {
                    "type": "string"
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the federated repository"
                },
                "tagRetention": {
                    "type": "integer",
                    "description": "If greater than 1, overwritten tags will be saved by their digest, up to the set up number."
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "key",
                "members",
                "packageType",
                "projectEnvironments"
            ],
            "inputProperties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "cleanupOnDelete": {
                    "type": "boolean",
                    "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n",
                    "willReplaceOnChanges": true
                },
                "maxUniqueTags": {
                    "type": "integer",
                    "description": "The maximum number of unique tags of a single OCI image to store in this repository.\nOnce the number tags for an image exceeds this setting, older tags are removed. A value of 0 (default) indicates there is no limit."
                },
                "members": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/FederatedOciRepositoryMember:FederatedOciRepositoryMember"
                    },
                    "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the federated repository"
                },
                "tagRetention": {
                    "type": "integer",
                    "description": "If greater than 1, overwritten tags will be saved by their digest, up to the set up number."
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key",
                "members"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering FederatedOciRepository resources.\n",
                "properties": {
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "cleanupOnDelete": {
                        "type": "boolean",
                        "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "disableProxy": {
                        "type": "boolean",
                        "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "the identity key of the repo.\n",
                        "willReplaceOnChanges": true
                    },
                    "maxUniqueTags": {
                        "type": "integer",
                        "description": "The maximum number of unique tags of a single OCI image to store in this repository.\nOnce the number tags for an image exceeds this setting, older tags are removed. A value of 0 (default) indicates there is no limit."
                    },
                    "members": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/artifactory:index/FederatedOciRepositoryMember:FederatedOciRepositoryMember"
                        },
                        "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "packageType": {
                        "type": "string",
                        "willReplaceOnChanges": true
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "proxy": {
                        "type": "string",
                        "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Repository layout key for the federated repository"
                    },
                    "tagRetention": {
                        "type": "integer",
                        "description": "If greater than 1, overwritten tags will be saved by their digest, up to the set up number."
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/federatedOpkgRepository:FederatedOpkgRepository": {
            "description": "Creates a federated Opkg repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst terraform_federated_test_opkg_repo = new artifactory.FederatedOpkgRepository(\"terraform-federated-test-opkg-repo\", {\n    key: \"terraform-federated-test-opkg-repo\",\n    members: [\n        {\n            url: \"http://tempurl.org/artifactory/terraform-federated-test-opkg-repo\",\n            enabled: true,\n        },\n        {\n            url: \"http://tempurl2.org/artifactory/terraform-federated-test-opkg-repo-2\",\n            enabled: true,\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nterraform_federated_test_opkg_repo = artifactory.FederatedOpkgRepository(\"terraform-federated-test-opkg-repo\",\n    key=\"terraform-federated-test-opkg-repo\",\n    members=[\n        {\n            \"url\": \"http://tempurl.org/artifactory/terraform-federated-test-opkg-repo\",\n            \"enabled\": True,\n        },\n        {\n            \"url\": \"http://tempurl2.org/artifactory/terraform-federated-test-opkg-repo-2\",\n            \"enabled\": True,\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var terraform_federated_test_opkg_repo = new Artifactory.FederatedOpkgRepository(\"terraform-federated-test-opkg-repo\", new()\n    {\n        Key = \"terraform-federated-test-opkg-repo\",\n        Members = new[]\n        {\n            new Artifactory.Inputs.FederatedOpkgRepositoryMemberArgs\n            {\n                Url = \"http://tempurl.org/artifactory/terraform-federated-test-opkg-repo\",\n                Enabled = true,\n            },\n            new Artifactory.Inputs.FederatedOpkgRepositoryMemberArgs\n            {\n                Url = \"http://tempurl2.org/artifactory/terraform-federated-test-opkg-repo-2\",\n                Enabled = true,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewFederatedOpkgRepository(ctx, \"terraform-federated-test-opkg-repo\", \u0026artifactory.FederatedOpkgRepositoryArgs{\n\t\t\tKey: pulumi.String(\"terraform-federated-test-opkg-repo\"),\n\t\t\tMembers: artifactory.FederatedOpkgRepositoryMemberArray{\n\t\t\t\t\u0026artifactory.FederatedOpkgRepositoryMemberArgs{\n\t\t\t\t\tUrl:     pulumi.String(\"http://tempurl.org/artifactory/terraform-federated-test-opkg-repo\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\t\u0026artifactory.FederatedOpkgRepositoryMemberArgs{\n\t\t\t\t\tUrl:     pulumi.String(\"http://tempurl2.org/artifactory/terraform-federated-test-opkg-repo-2\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_federatedopkgrepository\" \"terraform-federated-test-opkg-repo\" {\n  key = \"terraform-federated-test-opkg-repo\"\n  members {\n    url     = \"http://tempurl.org/artifactory/terraform-federated-test-opkg-repo\"\n    enabled = true\n  }\n  members {\n    url     = \"http://tempurl2.org/artifactory/terraform-federated-test-opkg-repo-2\"\n    enabled = true\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.FederatedOpkgRepository;\nimport com.pulumi.artifactory.FederatedOpkgRepositoryArgs;\nimport com.pulumi.artifactory.inputs.FederatedOpkgRepositoryMemberArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 terraform_federated_test_opkg_repo = new FederatedOpkgRepository(\"terraform-federated-test-opkg-repo\", FederatedOpkgRepositoryArgs.builder()\n            .key(\"terraform-federated-test-opkg-repo\")\n            .members(            \n                FederatedOpkgRepositoryMemberArgs.builder()\n                    .url(\"http://tempurl.org/artifactory/terraform-federated-test-opkg-repo\")\n                    .enabled(true)\n                    .build(),\n                FederatedOpkgRepositoryMemberArgs.builder()\n                    .url(\"http://tempurl2.org/artifactory/terraform-federated-test-opkg-repo-2\")\n                    .enabled(true)\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  terraform-federated-test-opkg-repo:\n    type: artifactory:FederatedOpkgRepository\n    properties:\n      key: terraform-federated-test-opkg-repo\n      members:\n        - url: http://tempurl.org/artifactory/terraform-federated-test-opkg-repo\n          enabled: true\n        - url: http://tempurl2.org/artifactory/terraform-federated-test-opkg-repo-2\n          enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFederated repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/federatedOpkgRepository:FederatedOpkgRepository terraform-federated-test-opkg-repo terraform-federated-test-opkg-repo\n```\n\n",
            "properties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "cleanupOnDelete": {
                    "type": "boolean",
                    "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "members": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/FederatedOpkgRepositoryMember:FederatedOpkgRepositoryMember"
                    },
                    "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "packageType": {
                    "type": "string"
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the federated repository"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "key",
                "members",
                "packageType",
                "projectEnvironments"
            ],
            "inputProperties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "cleanupOnDelete": {
                    "type": "boolean",
                    "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n",
                    "willReplaceOnChanges": true
                },
                "members": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/FederatedOpkgRepositoryMember:FederatedOpkgRepositoryMember"
                    },
                    "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the federated repository"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key",
                "members"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering FederatedOpkgRepository resources.\n",
                "properties": {
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "cleanupOnDelete": {
                        "type": "boolean",
                        "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "disableProxy": {
                        "type": "boolean",
                        "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "the identity key of the repo.\n",
                        "willReplaceOnChanges": true
                    },
                    "members": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/artifactory:index/FederatedOpkgRepositoryMember:FederatedOpkgRepositoryMember"
                        },
                        "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "packageType": {
                        "type": "string",
                        "willReplaceOnChanges": true
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "proxy": {
                        "type": "string",
                        "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Repository layout key for the federated repository"
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/federatedPuppetRepository:FederatedPuppetRepository": {
            "description": "Creates a federated Puppet repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst terraform_federated_test_puppet_repo = new artifactory.FederatedPuppetRepository(\"terraform-federated-test-puppet-repo\", {\n    key: \"terraform-federated-test-puppet-repo\",\n    members: [\n        {\n            url: \"http://tempurl.org/artifactory/terraform-federated-test-puppet-repo\",\n            enabled: true,\n        },\n        {\n            url: \"http://tempurl2.org/artifactory/terraform-federated-test-puppet-repo-2\",\n            enabled: true,\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nterraform_federated_test_puppet_repo = artifactory.FederatedPuppetRepository(\"terraform-federated-test-puppet-repo\",\n    key=\"terraform-federated-test-puppet-repo\",\n    members=[\n        {\n            \"url\": \"http://tempurl.org/artifactory/terraform-federated-test-puppet-repo\",\n            \"enabled\": True,\n        },\n        {\n            \"url\": \"http://tempurl2.org/artifactory/terraform-federated-test-puppet-repo-2\",\n            \"enabled\": True,\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var terraform_federated_test_puppet_repo = new Artifactory.FederatedPuppetRepository(\"terraform-federated-test-puppet-repo\", new()\n    {\n        Key = \"terraform-federated-test-puppet-repo\",\n        Members = new[]\n        {\n            new Artifactory.Inputs.FederatedPuppetRepositoryMemberArgs\n            {\n                Url = \"http://tempurl.org/artifactory/terraform-federated-test-puppet-repo\",\n                Enabled = true,\n            },\n            new Artifactory.Inputs.FederatedPuppetRepositoryMemberArgs\n            {\n                Url = \"http://tempurl2.org/artifactory/terraform-federated-test-puppet-repo-2\",\n                Enabled = true,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewFederatedPuppetRepository(ctx, \"terraform-federated-test-puppet-repo\", \u0026artifactory.FederatedPuppetRepositoryArgs{\n\t\t\tKey: pulumi.String(\"terraform-federated-test-puppet-repo\"),\n\t\t\tMembers: artifactory.FederatedPuppetRepositoryMemberArray{\n\t\t\t\t\u0026artifactory.FederatedPuppetRepositoryMemberArgs{\n\t\t\t\t\tUrl:     pulumi.String(\"http://tempurl.org/artifactory/terraform-federated-test-puppet-repo\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\t\u0026artifactory.FederatedPuppetRepositoryMemberArgs{\n\t\t\t\t\tUrl:     pulumi.String(\"http://tempurl2.org/artifactory/terraform-federated-test-puppet-repo-2\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_federatedpuppetrepository\" \"terraform-federated-test-puppet-repo\" {\n  key = \"terraform-federated-test-puppet-repo\"\n  members {\n    url     = \"http://tempurl.org/artifactory/terraform-federated-test-puppet-repo\"\n    enabled = true\n  }\n  members {\n    url     = \"http://tempurl2.org/artifactory/terraform-federated-test-puppet-repo-2\"\n    enabled = true\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.FederatedPuppetRepository;\nimport com.pulumi.artifactory.FederatedPuppetRepositoryArgs;\nimport com.pulumi.artifactory.inputs.FederatedPuppetRepositoryMemberArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 terraform_federated_test_puppet_repo = new FederatedPuppetRepository(\"terraform-federated-test-puppet-repo\", FederatedPuppetRepositoryArgs.builder()\n            .key(\"terraform-federated-test-puppet-repo\")\n            .members(            \n                FederatedPuppetRepositoryMemberArgs.builder()\n                    .url(\"http://tempurl.org/artifactory/terraform-federated-test-puppet-repo\")\n                    .enabled(true)\n                    .build(),\n                FederatedPuppetRepositoryMemberArgs.builder()\n                    .url(\"http://tempurl2.org/artifactory/terraform-federated-test-puppet-repo-2\")\n                    .enabled(true)\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  terraform-federated-test-puppet-repo:\n    type: artifactory:FederatedPuppetRepository\n    properties:\n      key: terraform-federated-test-puppet-repo\n      members:\n        - url: http://tempurl.org/artifactory/terraform-federated-test-puppet-repo\n          enabled: true\n        - url: http://tempurl2.org/artifactory/terraform-federated-test-puppet-repo-2\n          enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFederated repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/federatedPuppetRepository:FederatedPuppetRepository terraform-federated-test-puppet-repo terraform-federated-test-puppet-repo\n```\n\n",
            "properties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "cleanupOnDelete": {
                    "type": "boolean",
                    "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "members": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/FederatedPuppetRepositoryMember:FederatedPuppetRepositoryMember"
                    },
                    "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "packageType": {
                    "type": "string"
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the federated repository"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "key",
                "members",
                "packageType",
                "projectEnvironments"
            ],
            "inputProperties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "cleanupOnDelete": {
                    "type": "boolean",
                    "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n",
                    "willReplaceOnChanges": true
                },
                "members": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/FederatedPuppetRepositoryMember:FederatedPuppetRepositoryMember"
                    },
                    "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the federated repository"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key",
                "members"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering FederatedPuppetRepository resources.\n",
                "properties": {
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "cleanupOnDelete": {
                        "type": "boolean",
                        "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "disableProxy": {
                        "type": "boolean",
                        "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "the identity key of the repo.\n",
                        "willReplaceOnChanges": true
                    },
                    "members": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/artifactory:index/FederatedPuppetRepositoryMember:FederatedPuppetRepositoryMember"
                        },
                        "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "packageType": {
                        "type": "string",
                        "willReplaceOnChanges": true
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "proxy": {
                        "type": "string",
                        "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Repository layout key for the federated repository"
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/federatedPypiRepository:FederatedPypiRepository": {
            "description": "Creates a federated Pypi repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst terraform_federated_test_pypi_repo = new artifactory.FederatedPypiRepository(\"terraform-federated-test-pypi-repo\", {\n    key: \"terraform-federated-test-pypi-repo\",\n    members: [\n        {\n            url: \"http://tempurl.org/artifactory/terraform-federated-test-pypi-repo\",\n            enabled: true,\n        },\n        {\n            url: \"http://tempurl2.org/artifactory/terraform-federated-test-pypi-repo-2\",\n            enabled: true,\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nterraform_federated_test_pypi_repo = artifactory.FederatedPypiRepository(\"terraform-federated-test-pypi-repo\",\n    key=\"terraform-federated-test-pypi-repo\",\n    members=[\n        {\n            \"url\": \"http://tempurl.org/artifactory/terraform-federated-test-pypi-repo\",\n            \"enabled\": True,\n        },\n        {\n            \"url\": \"http://tempurl2.org/artifactory/terraform-federated-test-pypi-repo-2\",\n            \"enabled\": True,\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var terraform_federated_test_pypi_repo = new Artifactory.FederatedPypiRepository(\"terraform-federated-test-pypi-repo\", new()\n    {\n        Key = \"terraform-federated-test-pypi-repo\",\n        Members = new[]\n        {\n            new Artifactory.Inputs.FederatedPypiRepositoryMemberArgs\n            {\n                Url = \"http://tempurl.org/artifactory/terraform-federated-test-pypi-repo\",\n                Enabled = true,\n            },\n            new Artifactory.Inputs.FederatedPypiRepositoryMemberArgs\n            {\n                Url = \"http://tempurl2.org/artifactory/terraform-federated-test-pypi-repo-2\",\n                Enabled = true,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewFederatedPypiRepository(ctx, \"terraform-federated-test-pypi-repo\", \u0026artifactory.FederatedPypiRepositoryArgs{\n\t\t\tKey: pulumi.String(\"terraform-federated-test-pypi-repo\"),\n\t\t\tMembers: artifactory.FederatedPypiRepositoryMemberArray{\n\t\t\t\t\u0026artifactory.FederatedPypiRepositoryMemberArgs{\n\t\t\t\t\tUrl:     pulumi.String(\"http://tempurl.org/artifactory/terraform-federated-test-pypi-repo\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\t\u0026artifactory.FederatedPypiRepositoryMemberArgs{\n\t\t\t\t\tUrl:     pulumi.String(\"http://tempurl2.org/artifactory/terraform-federated-test-pypi-repo-2\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_federatedpypirepository\" \"terraform-federated-test-pypi-repo\" {\n  key = \"terraform-federated-test-pypi-repo\"\n  members {\n    url     = \"http://tempurl.org/artifactory/terraform-federated-test-pypi-repo\"\n    enabled = true\n  }\n  members {\n    url     = \"http://tempurl2.org/artifactory/terraform-federated-test-pypi-repo-2\"\n    enabled = true\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.FederatedPypiRepository;\nimport com.pulumi.artifactory.FederatedPypiRepositoryArgs;\nimport com.pulumi.artifactory.inputs.FederatedPypiRepositoryMemberArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 terraform_federated_test_pypi_repo = new FederatedPypiRepository(\"terraform-federated-test-pypi-repo\", FederatedPypiRepositoryArgs.builder()\n            .key(\"terraform-federated-test-pypi-repo\")\n            .members(            \n                FederatedPypiRepositoryMemberArgs.builder()\n                    .url(\"http://tempurl.org/artifactory/terraform-federated-test-pypi-repo\")\n                    .enabled(true)\n                    .build(),\n                FederatedPypiRepositoryMemberArgs.builder()\n                    .url(\"http://tempurl2.org/artifactory/terraform-federated-test-pypi-repo-2\")\n                    .enabled(true)\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  terraform-federated-test-pypi-repo:\n    type: artifactory:FederatedPypiRepository\n    properties:\n      key: terraform-federated-test-pypi-repo\n      members:\n        - url: http://tempurl.org/artifactory/terraform-federated-test-pypi-repo\n          enabled: true\n        - url: http://tempurl2.org/artifactory/terraform-federated-test-pypi-repo-2\n          enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFederated repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/federatedPypiRepository:FederatedPypiRepository terraform-federated-test-pypi-repo terraform-federated-test-pypi-repo\n```\n\n",
            "properties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "cleanupOnDelete": {
                    "type": "boolean",
                    "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "members": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/FederatedPypiRepositoryMember:FederatedPypiRepositoryMember"
                    },
                    "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "packageType": {
                    "type": "string"
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the federated repository"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "key",
                "members",
                "packageType",
                "projectEnvironments"
            ],
            "inputProperties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "cleanupOnDelete": {
                    "type": "boolean",
                    "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n",
                    "willReplaceOnChanges": true
                },
                "members": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/FederatedPypiRepositoryMember:FederatedPypiRepositoryMember"
                    },
                    "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the federated repository"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key",
                "members"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering FederatedPypiRepository resources.\n",
                "properties": {
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "cleanupOnDelete": {
                        "type": "boolean",
                        "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "disableProxy": {
                        "type": "boolean",
                        "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "the identity key of the repo.\n",
                        "willReplaceOnChanges": true
                    },
                    "members": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/artifactory:index/FederatedPypiRepositoryMember:FederatedPypiRepositoryMember"
                        },
                        "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "packageType": {
                        "type": "string",
                        "willReplaceOnChanges": true
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "proxy": {
                        "type": "string",
                        "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Repository layout key for the federated repository"
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/federatedReleasebundlesRepository:FederatedReleasebundlesRepository": {
            "description": "Creates a federated Release Bundles repository. This resource should be used only when you require release bundle federation and are using Artifactory Projects.\nIt is not possible to create repository with this package type in the UI. \n\nDefault Behavior vs. Recommended Use\n**Default Behavior**: When you create the first release bundle within a project, Artifactory automatically provisions a local repository named `\u003cproject_name\u003e-release-bundles-v2`.\n\n**The Problem**: This local repository must then be manually converted to a federated repository.\n\n**Recommended Solution**: To avoid this manual step (especially with hundred of projects), use this resource to create the federated \u003cspan pulumi-lang-nodejs=\"`releasebundles`\" pulumi-lang-dotnet=\"`Releasebundles`\" pulumi-lang-go=\"`releasebundles`\" pulumi-lang-python=\"`releasebundles`\" pulumi-lang-yaml=\"`releasebundles`\" pulumi-lang-java=\"`releasebundles`\" pulumi-lang-hcl=\"`releasebundles`\"\u003e`releasebundles`\u003c/span\u003e repository before creating any release bundles in the project.\n\nThis proactive approach ensures all new release bundle assets are written directly to the federated repository.\n\n~\u003eNote: Federation doesn't work correctly for environments, and if member repository will be created by the federation, it will only have one environment - `DEV` disregard on the values on the source repository. As a workaround, user can create repositories on both instances with correct environments, then modify the configuration by adding members to each of the repos on each instance. \n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst terraform_federated_test_releasebundles_repo = new artifactory.FederatedReleasebundlesRepository(\"terraform-federated-test-releasebundles-repo\", {\n    key: \"terraform-federated-test-releasebundles-repo\",\n    projectKey: test.key,\n    members: [\n        {\n            url: \"https://tempurl.org/artifactory/project-release-bundles-v2\",\n            enabled: true,\n        },\n        {\n            url: \"https://tempurl2.org/artifactory/project-release-bundles-v2\",\n            enabled: true,\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nterraform_federated_test_releasebundles_repo = artifactory.FederatedReleasebundlesRepository(\"terraform-federated-test-releasebundles-repo\",\n    key=\"terraform-federated-test-releasebundles-repo\",\n    project_key=test[\"key\"],\n    members=[\n        {\n            \"url\": \"https://tempurl.org/artifactory/project-release-bundles-v2\",\n            \"enabled\": True,\n        },\n        {\n            \"url\": \"https://tempurl2.org/artifactory/project-release-bundles-v2\",\n            \"enabled\": True,\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var terraform_federated_test_releasebundles_repo = new Artifactory.FederatedReleasebundlesRepository(\"terraform-federated-test-releasebundles-repo\", new()\n    {\n        Key = \"terraform-federated-test-releasebundles-repo\",\n        ProjectKey = test.Key,\n        Members = new[]\n        {\n            new Artifactory.Inputs.FederatedReleasebundlesRepositoryMemberArgs\n            {\n                Url = \"https://tempurl.org/artifactory/project-release-bundles-v2\",\n                Enabled = true,\n            },\n            new Artifactory.Inputs.FederatedReleasebundlesRepositoryMemberArgs\n            {\n                Url = \"https://tempurl2.org/artifactory/project-release-bundles-v2\",\n                Enabled = true,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewFederatedReleasebundlesRepository(ctx, \"terraform-federated-test-releasebundles-repo\", \u0026artifactory.FederatedReleasebundlesRepositoryArgs{\n\t\t\tKey:        pulumi.String(\"terraform-federated-test-releasebundles-repo\"),\n\t\t\tProjectKey: pulumi.Any(test.Key),\n\t\t\tMembers: artifactory.FederatedReleasebundlesRepositoryMemberArray{\n\t\t\t\t\u0026artifactory.FederatedReleasebundlesRepositoryMemberArgs{\n\t\t\t\t\tUrl:     pulumi.String(\"https://tempurl.org/artifactory/project-release-bundles-v2\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\t\u0026artifactory.FederatedReleasebundlesRepositoryMemberArgs{\n\t\t\t\t\tUrl:     pulumi.String(\"https://tempurl2.org/artifactory/project-release-bundles-v2\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_federatedreleasebundlesrepository\" \"terraform-federated-test-releasebundles-repo\" {\n  key         = \"terraform-federated-test-releasebundles-repo\"\n  project_key = test.key\n  members {\n    url     = \"https://tempurl.org/artifactory/project-release-bundles-v2\"\n    enabled = true\n  }\n  members {\n    url     = \"https://tempurl2.org/artifactory/project-release-bundles-v2\"\n    enabled = true\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.FederatedReleasebundlesRepository;\nimport com.pulumi.artifactory.FederatedReleasebundlesRepositoryArgs;\nimport com.pulumi.artifactory.inputs.FederatedReleasebundlesRepositoryMemberArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 terraform_federated_test_releasebundles_repo = new FederatedReleasebundlesRepository(\"terraform-federated-test-releasebundles-repo\", FederatedReleasebundlesRepositoryArgs.builder()\n            .key(\"terraform-federated-test-releasebundles-repo\")\n            .projectKey(test.key())\n            .members(            \n                FederatedReleasebundlesRepositoryMemberArgs.builder()\n                    .url(\"https://tempurl.org/artifactory/project-release-bundles-v2\")\n                    .enabled(true)\n                    .build(),\n                FederatedReleasebundlesRepositoryMemberArgs.builder()\n                    .url(\"https://tempurl2.org/artifactory/project-release-bundles-v2\")\n                    .enabled(true)\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  terraform-federated-test-releasebundles-repo:\n    type: artifactory:FederatedReleasebundlesRepository\n    properties:\n      key: terraform-federated-test-releasebundles-repo\n      projectKey: ${test.key}\n      members:\n        - url: https://tempurl.org/artifactory/project-release-bundles-v2\n          enabled: true\n        - url: https://tempurl2.org/artifactory/project-release-bundles-v2\n          enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFederated repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/federatedReleasebundlesRepository:FederatedReleasebundlesRepository terraform-federated-test-rpm-repo terraform-federated-test-rpm-repo\n```\n\n",
            "properties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "cleanupOnDelete": {
                    "type": "boolean",
                    "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo. Repository name for this package type myst chave following format: `\u003cproject_name\u003e-release-bundles-v2`. Project myst exist before the repository was created.\n"
                },
                "members": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/FederatedReleasebundlesRepositoryMember:FederatedReleasebundlesRepositoryMember"
                    },
                    "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "packageType": {
                    "type": "string"
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash. Even thought we don't recommend using this attribute to assign all other repository types to the project, in the scope of this specific package type, it is necessary to have theis attribute.\n"
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the federated repository"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "key",
                "members",
                "packageType",
                "projectEnvironments"
            ],
            "inputProperties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "cleanupOnDelete": {
                    "type": "boolean",
                    "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo. Repository name for this package type myst chave following format: `\u003cproject_name\u003e-release-bundles-v2`. Project myst exist before the repository was created.\n",
                    "willReplaceOnChanges": true
                },
                "members": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/FederatedReleasebundlesRepositoryMember:FederatedReleasebundlesRepositoryMember"
                    },
                    "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash. Even thought we don't recommend using this attribute to assign all other repository types to the project, in the scope of this specific package type, it is necessary to have theis attribute.\n"
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the federated repository"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key",
                "members"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering FederatedReleasebundlesRepository resources.\n",
                "properties": {
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "cleanupOnDelete": {
                        "type": "boolean",
                        "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "disableProxy": {
                        "type": "boolean",
                        "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "the identity key of the repo. Repository name for this package type myst chave following format: `\u003cproject_name\u003e-release-bundles-v2`. Project myst exist before the repository was created.\n",
                        "willReplaceOnChanges": true
                    },
                    "members": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/artifactory:index/FederatedReleasebundlesRepositoryMember:FederatedReleasebundlesRepositoryMember"
                        },
                        "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "packageType": {
                        "type": "string",
                        "willReplaceOnChanges": true
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash. Even thought we don't recommend using this attribute to assign all other repository types to the project, in the scope of this specific package type, it is necessary to have theis attribute.\n"
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "proxy": {
                        "type": "string",
                        "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Repository layout key for the federated repository"
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/federatedRpmRepository:FederatedRpmRepository": {
            "description": "Creates a federated Rpm repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst terraform_federated_test_rpm_repo = new artifactory.FederatedRpmRepository(\"terraform-federated-test-rpm-repo\", {\n    key: \"terraform-federated-test-rpm-repo\",\n    members: [\n        {\n            url: \"http://tempurl.org/artifactory/terraform-federated-test-rpm-repo\",\n            enabled: true,\n        },\n        {\n            url: \"http://tempurl2.org/artifactory/terraform-federated-test-rpm-repo-2\",\n            enabled: true,\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nterraform_federated_test_rpm_repo = artifactory.FederatedRpmRepository(\"terraform-federated-test-rpm-repo\",\n    key=\"terraform-federated-test-rpm-repo\",\n    members=[\n        {\n            \"url\": \"http://tempurl.org/artifactory/terraform-federated-test-rpm-repo\",\n            \"enabled\": True,\n        },\n        {\n            \"url\": \"http://tempurl2.org/artifactory/terraform-federated-test-rpm-repo-2\",\n            \"enabled\": True,\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var terraform_federated_test_rpm_repo = new Artifactory.FederatedRpmRepository(\"terraform-federated-test-rpm-repo\", new()\n    {\n        Key = \"terraform-federated-test-rpm-repo\",\n        Members = new[]\n        {\n            new Artifactory.Inputs.FederatedRpmRepositoryMemberArgs\n            {\n                Url = \"http://tempurl.org/artifactory/terraform-federated-test-rpm-repo\",\n                Enabled = true,\n            },\n            new Artifactory.Inputs.FederatedRpmRepositoryMemberArgs\n            {\n                Url = \"http://tempurl2.org/artifactory/terraform-federated-test-rpm-repo-2\",\n                Enabled = true,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewFederatedRpmRepository(ctx, \"terraform-federated-test-rpm-repo\", \u0026artifactory.FederatedRpmRepositoryArgs{\n\t\t\tKey: pulumi.String(\"terraform-federated-test-rpm-repo\"),\n\t\t\tMembers: artifactory.FederatedRpmRepositoryMemberArray{\n\t\t\t\t\u0026artifactory.FederatedRpmRepositoryMemberArgs{\n\t\t\t\t\tUrl:     pulumi.String(\"http://tempurl.org/artifactory/terraform-federated-test-rpm-repo\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\t\u0026artifactory.FederatedRpmRepositoryMemberArgs{\n\t\t\t\t\tUrl:     pulumi.String(\"http://tempurl2.org/artifactory/terraform-federated-test-rpm-repo-2\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_federatedrpmrepository\" \"terraform-federated-test-rpm-repo\" {\n  key = \"terraform-federated-test-rpm-repo\"\n  members {\n    url     = \"http://tempurl.org/artifactory/terraform-federated-test-rpm-repo\"\n    enabled = true\n  }\n  members {\n    url     = \"http://tempurl2.org/artifactory/terraform-federated-test-rpm-repo-2\"\n    enabled = true\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.FederatedRpmRepository;\nimport com.pulumi.artifactory.FederatedRpmRepositoryArgs;\nimport com.pulumi.artifactory.inputs.FederatedRpmRepositoryMemberArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 terraform_federated_test_rpm_repo = new FederatedRpmRepository(\"terraform-federated-test-rpm-repo\", FederatedRpmRepositoryArgs.builder()\n            .key(\"terraform-federated-test-rpm-repo\")\n            .members(            \n                FederatedRpmRepositoryMemberArgs.builder()\n                    .url(\"http://tempurl.org/artifactory/terraform-federated-test-rpm-repo\")\n                    .enabled(true)\n                    .build(),\n                FederatedRpmRepositoryMemberArgs.builder()\n                    .url(\"http://tempurl2.org/artifactory/terraform-federated-test-rpm-repo-2\")\n                    .enabled(true)\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  terraform-federated-test-rpm-repo:\n    type: artifactory:FederatedRpmRepository\n    properties:\n      key: terraform-federated-test-rpm-repo\n      members:\n        - url: http://tempurl.org/artifactory/terraform-federated-test-rpm-repo\n          enabled: true\n        - url: http://tempurl2.org/artifactory/terraform-federated-test-rpm-repo-2\n          enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFederated repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/federatedRpmRepository:FederatedRpmRepository terraform-federated-test-rpm-repo terraform-federated-test-rpm-repo\n```\n\n",
            "properties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "calculateYumMetadata": {
                    "type": "boolean"
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "cleanupOnDelete": {
                    "type": "boolean",
                    "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "enableFileListsIndexing": {
                    "type": "boolean"
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "members": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/FederatedRpmRepositoryMember:FederatedRpmRepositoryMember"
                    },
                    "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "packageType": {
                    "type": "string"
                },
                "primaryKeypairRef": {
                    "type": "string",
                    "description": "Primary keypair used to sign artifacts. Default value is empty."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the federated repository"
                },
                "secondaryKeypairRef": {
                    "type": "string",
                    "description": "Secondary keypair used to sign artifacts."
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                },
                "yumGroupFileNames": {
                    "type": "string",
                    "description": "A comma separated list of XML file names containing RPM group component definitions. Artifactory includes the group definitions as part of the calculated RPM metadata, as well as automatically generating a gzipped version of the group files, if required."
                },
                "yumRootDepth": {
                    "type": "integer",
                    "description": "The depth, relative to the repository's root folder, where RPM metadata is created. This is useful when your repository contains multiple RPM repositories under parallel hierarchies. For example, if your RPMs are stored under 'fedora/linux/$releasever/$basearch', specify a depth of 4."
                }
            },
            "required": [
                "key",
                "members",
                "packageType",
                "projectEnvironments"
            ],
            "inputProperties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "calculateYumMetadata": {
                    "type": "boolean"
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "cleanupOnDelete": {
                    "type": "boolean",
                    "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "enableFileListsIndexing": {
                    "type": "boolean"
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n",
                    "willReplaceOnChanges": true
                },
                "members": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/FederatedRpmRepositoryMember:FederatedRpmRepositoryMember"
                    },
                    "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "primaryKeypairRef": {
                    "type": "string",
                    "description": "Primary keypair used to sign artifacts. Default value is empty."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the federated repository"
                },
                "secondaryKeypairRef": {
                    "type": "string",
                    "description": "Secondary keypair used to sign artifacts."
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                },
                "yumGroupFileNames": {
                    "type": "string",
                    "description": "A comma separated list of XML file names containing RPM group component definitions. Artifactory includes the group definitions as part of the calculated RPM metadata, as well as automatically generating a gzipped version of the group files, if required."
                },
                "yumRootDepth": {
                    "type": "integer",
                    "description": "The depth, relative to the repository's root folder, where RPM metadata is created. This is useful when your repository contains multiple RPM repositories under parallel hierarchies. For example, if your RPMs are stored under 'fedora/linux/$releasever/$basearch', specify a depth of 4."
                }
            },
            "requiredInputs": [
                "key",
                "members"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering FederatedRpmRepository resources.\n",
                "properties": {
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                    },
                    "calculateYumMetadata": {
                        "type": "boolean"
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "cleanupOnDelete": {
                        "type": "boolean",
                        "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "disableProxy": {
                        "type": "boolean",
                        "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                    },
                    "enableFileListsIndexing": {
                        "type": "boolean"
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "the identity key of the repo.\n",
                        "willReplaceOnChanges": true
                    },
                    "members": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/artifactory:index/FederatedRpmRepositoryMember:FederatedRpmRepositoryMember"
                        },
                        "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "packageType": {
                        "type": "string",
                        "willReplaceOnChanges": true
                    },
                    "primaryKeypairRef": {
                        "type": "string",
                        "description": "Primary keypair used to sign artifacts. Default value is empty."
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "proxy": {
                        "type": "string",
                        "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Repository layout key for the federated repository"
                    },
                    "secondaryKeypairRef": {
                        "type": "string",
                        "description": "Secondary keypair used to sign artifacts."
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    },
                    "yumGroupFileNames": {
                        "type": "string",
                        "description": "A comma separated list of XML file names containing RPM group component definitions. Artifactory includes the group definitions as part of the calculated RPM metadata, as well as automatically generating a gzipped version of the group files, if required."
                    },
                    "yumRootDepth": {
                        "type": "integer",
                        "description": "The depth, relative to the repository's root folder, where RPM metadata is created. This is useful when your repository contains multiple RPM repositories under parallel hierarchies. For example, if your RPMs are stored under 'fedora/linux/$releasever/$basearch', specify a depth of 4."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/federatedSbtRepository:FederatedSbtRepository": {
            "description": "Creates a federated SBT repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst terraform_federated_test_sbt_repo = new artifactory.FederatedSbtRepository(\"terraform-federated-test-sbt-repo\", {\n    key: \"terraform-federated-test-sbt-repo\",\n    members: [\n        {\n            url: \"http://tempurl.org/artifactory/terraform-federated-test-sbt-repo\",\n            enabled: true,\n        },\n        {\n            url: \"http://tempurl2.org/artifactory/terraform-federated-test-sbt-repo-2\",\n            enabled: true,\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nterraform_federated_test_sbt_repo = artifactory.FederatedSbtRepository(\"terraform-federated-test-sbt-repo\",\n    key=\"terraform-federated-test-sbt-repo\",\n    members=[\n        {\n            \"url\": \"http://tempurl.org/artifactory/terraform-federated-test-sbt-repo\",\n            \"enabled\": True,\n        },\n        {\n            \"url\": \"http://tempurl2.org/artifactory/terraform-federated-test-sbt-repo-2\",\n            \"enabled\": True,\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var terraform_federated_test_sbt_repo = new Artifactory.FederatedSbtRepository(\"terraform-federated-test-sbt-repo\", new()\n    {\n        Key = \"terraform-federated-test-sbt-repo\",\n        Members = new[]\n        {\n            new Artifactory.Inputs.FederatedSbtRepositoryMemberArgs\n            {\n                Url = \"http://tempurl.org/artifactory/terraform-federated-test-sbt-repo\",\n                Enabled = true,\n            },\n            new Artifactory.Inputs.FederatedSbtRepositoryMemberArgs\n            {\n                Url = \"http://tempurl2.org/artifactory/terraform-federated-test-sbt-repo-2\",\n                Enabled = true,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewFederatedSbtRepository(ctx, \"terraform-federated-test-sbt-repo\", \u0026artifactory.FederatedSbtRepositoryArgs{\n\t\t\tKey: pulumi.String(\"terraform-federated-test-sbt-repo\"),\n\t\t\tMembers: artifactory.FederatedSbtRepositoryMemberArray{\n\t\t\t\t\u0026artifactory.FederatedSbtRepositoryMemberArgs{\n\t\t\t\t\tUrl:     pulumi.String(\"http://tempurl.org/artifactory/terraform-federated-test-sbt-repo\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\t\u0026artifactory.FederatedSbtRepositoryMemberArgs{\n\t\t\t\t\tUrl:     pulumi.String(\"http://tempurl2.org/artifactory/terraform-federated-test-sbt-repo-2\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_federatedsbtrepository\" \"terraform-federated-test-sbt-repo\" {\n  key = \"terraform-federated-test-sbt-repo\"\n  members {\n    url     = \"http://tempurl.org/artifactory/terraform-federated-test-sbt-repo\"\n    enabled = true\n  }\n  members {\n    url     = \"http://tempurl2.org/artifactory/terraform-federated-test-sbt-repo-2\"\n    enabled = true\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.FederatedSbtRepository;\nimport com.pulumi.artifactory.FederatedSbtRepositoryArgs;\nimport com.pulumi.artifactory.inputs.FederatedSbtRepositoryMemberArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 terraform_federated_test_sbt_repo = new FederatedSbtRepository(\"terraform-federated-test-sbt-repo\", FederatedSbtRepositoryArgs.builder()\n            .key(\"terraform-federated-test-sbt-repo\")\n            .members(            \n                FederatedSbtRepositoryMemberArgs.builder()\n                    .url(\"http://tempurl.org/artifactory/terraform-federated-test-sbt-repo\")\n                    .enabled(true)\n                    .build(),\n                FederatedSbtRepositoryMemberArgs.builder()\n                    .url(\"http://tempurl2.org/artifactory/terraform-federated-test-sbt-repo-2\")\n                    .enabled(true)\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  terraform-federated-test-sbt-repo:\n    type: artifactory:FederatedSbtRepository\n    properties:\n      key: terraform-federated-test-sbt-repo\n      members:\n        - url: http://tempurl.org/artifactory/terraform-federated-test-sbt-repo\n          enabled: true\n        - url: http://tempurl2.org/artifactory/terraform-federated-test-sbt-repo-2\n          enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFederated repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/federatedSbtRepository:FederatedSbtRepository terraform-federated-test-sbt-repo terraform-federated-test-sbt-repo\n```\n\n",
            "properties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "checksumPolicyType": {
                    "type": "string",
                    "description": "Checksum policy determines how Artifactory behaves when a client checksum for a deployed resource is missing or conflicts with the locally calculated checksum (bad checksum). Options are: \"client-checksums\", or \"server-generated-checksums\". Default: \"client-checksums\"\\n For more details, please refer to Checksum Policy - https://www.jfrog.com/confluence/display/JFROG/Local+Repositories#LocalRepositories-ChecksumPolicy"
                },
                "cleanupOnDelete": {
                    "type": "boolean",
                    "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "handleReleases": {
                    "type": "boolean",
                    "description": "If set, Artifactory allows you to deploy release artifacts into this repository."
                },
                "handleSnapshots": {
                    "type": "boolean",
                    "description": "If set, Artifactory allows you to deploy snapshot artifacts into this repository."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "maxUniqueSnapshots": {
                    "type": "integer",
                    "description": "The maximum number of unique snapshots of a single artifact to store.\nOnce the number of snapshots exceeds this setting, older versions are removed.\nA value of 0 (default) indicates there is no limit, and unique snapshots are not cleaned up."
                },
                "members": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/FederatedSbtRepositoryMember:FederatedSbtRepositoryMember"
                    },
                    "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "packageType": {
                    "type": "string"
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the federated repository"
                },
                "snapshotVersionBehavior": {
                    "type": "string",
                    "description": "Specifies the naming convention for Maven SNAPSHOT versions.\nThe options are -\nunique: Version number is based on a time-stamp (default)\nnon-unique: Version number uses a self-overriding naming pattern of artifactId-version-SNAPSHOT.type\ndeployer: Respects the settings in the Maven client that is deploying the artifact."
                },
                "suppressPomConsistencyChecks": {
                    "type": "boolean",
                    "description": "By default, Artifactory keeps your repositories healthy by refusing POMs with incorrect coordinates (path).\n  If the groupId:artifactId:version information inside the POM does not match the deployed path, Artifactory rejects the deployment with a \"409 Conflict\" error.\n  You can disable this behavior by setting the Suppress POM Consistency Checks checkbox."
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "key",
                "members",
                "packageType",
                "projectEnvironments"
            ],
            "inputProperties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "checksumPolicyType": {
                    "type": "string",
                    "description": "Checksum policy determines how Artifactory behaves when a client checksum for a deployed resource is missing or conflicts with the locally calculated checksum (bad checksum). Options are: \"client-checksums\", or \"server-generated-checksums\". Default: \"client-checksums\"\\n For more details, please refer to Checksum Policy - https://www.jfrog.com/confluence/display/JFROG/Local+Repositories#LocalRepositories-ChecksumPolicy"
                },
                "cleanupOnDelete": {
                    "type": "boolean",
                    "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "handleReleases": {
                    "type": "boolean",
                    "description": "If set, Artifactory allows you to deploy release artifacts into this repository."
                },
                "handleSnapshots": {
                    "type": "boolean",
                    "description": "If set, Artifactory allows you to deploy snapshot artifacts into this repository."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n",
                    "willReplaceOnChanges": true
                },
                "maxUniqueSnapshots": {
                    "type": "integer",
                    "description": "The maximum number of unique snapshots of a single artifact to store.\nOnce the number of snapshots exceeds this setting, older versions are removed.\nA value of 0 (default) indicates there is no limit, and unique snapshots are not cleaned up."
                },
                "members": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/FederatedSbtRepositoryMember:FederatedSbtRepositoryMember"
                    },
                    "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the federated repository"
                },
                "snapshotVersionBehavior": {
                    "type": "string",
                    "description": "Specifies the naming convention for Maven SNAPSHOT versions.\nThe options are -\nunique: Version number is based on a time-stamp (default)\nnon-unique: Version number uses a self-overriding naming pattern of artifactId-version-SNAPSHOT.type\ndeployer: Respects the settings in the Maven client that is deploying the artifact."
                },
                "suppressPomConsistencyChecks": {
                    "type": "boolean",
                    "description": "By default, Artifactory keeps your repositories healthy by refusing POMs with incorrect coordinates (path).\n  If the groupId:artifactId:version information inside the POM does not match the deployed path, Artifactory rejects the deployment with a \"409 Conflict\" error.\n  You can disable this behavior by setting the Suppress POM Consistency Checks checkbox."
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key",
                "members"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering FederatedSbtRepository resources.\n",
                "properties": {
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "checksumPolicyType": {
                        "type": "string",
                        "description": "Checksum policy determines how Artifactory behaves when a client checksum for a deployed resource is missing or conflicts with the locally calculated checksum (bad checksum). Options are: \"client-checksums\", or \"server-generated-checksums\". Default: \"client-checksums\"\\n For more details, please refer to Checksum Policy - https://www.jfrog.com/confluence/display/JFROG/Local+Repositories#LocalRepositories-ChecksumPolicy"
                    },
                    "cleanupOnDelete": {
                        "type": "boolean",
                        "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "disableProxy": {
                        "type": "boolean",
                        "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "handleReleases": {
                        "type": "boolean",
                        "description": "If set, Artifactory allows you to deploy release artifacts into this repository."
                    },
                    "handleSnapshots": {
                        "type": "boolean",
                        "description": "If set, Artifactory allows you to deploy snapshot artifacts into this repository."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "the identity key of the repo.\n",
                        "willReplaceOnChanges": true
                    },
                    "maxUniqueSnapshots": {
                        "type": "integer",
                        "description": "The maximum number of unique snapshots of a single artifact to store.\nOnce the number of snapshots exceeds this setting, older versions are removed.\nA value of 0 (default) indicates there is no limit, and unique snapshots are not cleaned up."
                    },
                    "members": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/artifactory:index/FederatedSbtRepositoryMember:FederatedSbtRepositoryMember"
                        },
                        "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "packageType": {
                        "type": "string",
                        "willReplaceOnChanges": true
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "proxy": {
                        "type": "string",
                        "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Repository layout key for the federated repository"
                    },
                    "snapshotVersionBehavior": {
                        "type": "string",
                        "description": "Specifies the naming convention for Maven SNAPSHOT versions.\nThe options are -\nunique: Version number is based on a time-stamp (default)\nnon-unique: Version number uses a self-overriding naming pattern of artifactId-version-SNAPSHOT.type\ndeployer: Respects the settings in the Maven client that is deploying the artifact."
                    },
                    "suppressPomConsistencyChecks": {
                        "type": "boolean",
                        "description": "By default, Artifactory keeps your repositories healthy by refusing POMs with incorrect coordinates (path).\n  If the groupId:artifactId:version information inside the POM does not match the deployed path, Artifactory rejects the deployment with a \"409 Conflict\" error.\n  You can disable this behavior by setting the Suppress POM Consistency Checks checkbox."
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/federatedSwiftRepository:FederatedSwiftRepository": {
            "description": "Creates a federated Swift repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst terraform_federated_test_swift_repo = new artifactory.FederatedSwiftRepository(\"terraform-federated-test-swift-repo\", {\n    key: \"terraform-federated-test-swift-repo\",\n    members: [\n        {\n            url: \"http://tempurl.org/artifactory/terraform-federated-test-swift-repo\",\n            enabled: true,\n        },\n        {\n            url: \"http://tempurl2.org/artifactory/terraform-federated-test-swift-repo-2\",\n            enabled: true,\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nterraform_federated_test_swift_repo = artifactory.FederatedSwiftRepository(\"terraform-federated-test-swift-repo\",\n    key=\"terraform-federated-test-swift-repo\",\n    members=[\n        {\n            \"url\": \"http://tempurl.org/artifactory/terraform-federated-test-swift-repo\",\n            \"enabled\": True,\n        },\n        {\n            \"url\": \"http://tempurl2.org/artifactory/terraform-federated-test-swift-repo-2\",\n            \"enabled\": True,\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var terraform_federated_test_swift_repo = new Artifactory.FederatedSwiftRepository(\"terraform-federated-test-swift-repo\", new()\n    {\n        Key = \"terraform-federated-test-swift-repo\",\n        Members = new[]\n        {\n            new Artifactory.Inputs.FederatedSwiftRepositoryMemberArgs\n            {\n                Url = \"http://tempurl.org/artifactory/terraform-federated-test-swift-repo\",\n                Enabled = true,\n            },\n            new Artifactory.Inputs.FederatedSwiftRepositoryMemberArgs\n            {\n                Url = \"http://tempurl2.org/artifactory/terraform-federated-test-swift-repo-2\",\n                Enabled = true,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewFederatedSwiftRepository(ctx, \"terraform-federated-test-swift-repo\", \u0026artifactory.FederatedSwiftRepositoryArgs{\n\t\t\tKey: pulumi.String(\"terraform-federated-test-swift-repo\"),\n\t\t\tMembers: artifactory.FederatedSwiftRepositoryMemberArray{\n\t\t\t\t\u0026artifactory.FederatedSwiftRepositoryMemberArgs{\n\t\t\t\t\tUrl:     pulumi.String(\"http://tempurl.org/artifactory/terraform-federated-test-swift-repo\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\t\u0026artifactory.FederatedSwiftRepositoryMemberArgs{\n\t\t\t\t\tUrl:     pulumi.String(\"http://tempurl2.org/artifactory/terraform-federated-test-swift-repo-2\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_federatedswiftrepository\" \"terraform-federated-test-swift-repo\" {\n  key = \"terraform-federated-test-swift-repo\"\n  members {\n    url     = \"http://tempurl.org/artifactory/terraform-federated-test-swift-repo\"\n    enabled = true\n  }\n  members {\n    url     = \"http://tempurl2.org/artifactory/terraform-federated-test-swift-repo-2\"\n    enabled = true\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.FederatedSwiftRepository;\nimport com.pulumi.artifactory.FederatedSwiftRepositoryArgs;\nimport com.pulumi.artifactory.inputs.FederatedSwiftRepositoryMemberArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 terraform_federated_test_swift_repo = new FederatedSwiftRepository(\"terraform-federated-test-swift-repo\", FederatedSwiftRepositoryArgs.builder()\n            .key(\"terraform-federated-test-swift-repo\")\n            .members(            \n                FederatedSwiftRepositoryMemberArgs.builder()\n                    .url(\"http://tempurl.org/artifactory/terraform-federated-test-swift-repo\")\n                    .enabled(true)\n                    .build(),\n                FederatedSwiftRepositoryMemberArgs.builder()\n                    .url(\"http://tempurl2.org/artifactory/terraform-federated-test-swift-repo-2\")\n                    .enabled(true)\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  terraform-federated-test-swift-repo:\n    type: artifactory:FederatedSwiftRepository\n    properties:\n      key: terraform-federated-test-swift-repo\n      members:\n        - url: http://tempurl.org/artifactory/terraform-federated-test-swift-repo\n          enabled: true\n        - url: http://tempurl2.org/artifactory/terraform-federated-test-swift-repo-2\n          enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFederated repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/federatedSwiftRepository:FederatedSwiftRepository terraform-federated-test-swift-repo terraform-federated-test-swift-repo\n```\n\n",
            "properties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "cleanupOnDelete": {
                    "type": "boolean",
                    "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "members": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/FederatedSwiftRepositoryMember:FederatedSwiftRepositoryMember"
                    },
                    "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "packageType": {
                    "type": "string"
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the federated repository"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "key",
                "members",
                "packageType",
                "projectEnvironments"
            ],
            "inputProperties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "cleanupOnDelete": {
                    "type": "boolean",
                    "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n",
                    "willReplaceOnChanges": true
                },
                "members": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/FederatedSwiftRepositoryMember:FederatedSwiftRepositoryMember"
                    },
                    "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the federated repository"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key",
                "members"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering FederatedSwiftRepository resources.\n",
                "properties": {
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "cleanupOnDelete": {
                        "type": "boolean",
                        "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "disableProxy": {
                        "type": "boolean",
                        "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "the identity key of the repo.\n",
                        "willReplaceOnChanges": true
                    },
                    "members": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/artifactory:index/FederatedSwiftRepositoryMember:FederatedSwiftRepositoryMember"
                        },
                        "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "packageType": {
                        "type": "string",
                        "willReplaceOnChanges": true
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "proxy": {
                        "type": "string",
                        "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Repository layout key for the federated repository"
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/federatedTerraformModuleRepository:FederatedTerraformModuleRepository": {
            "description": "Creates a federated Generic repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst terraform_federated_test_terraformModule_repo = new artifactory.FederatedTerraformModuleRepository(\"terraform-federated-test-terraform_module-repo\", {\n    key: \"terraform-federated-test-terraform-module-repo\",\n    members: [\n        {\n            url: \"http://tempurl.org/artifactory/terraform-federated-test-terraform_module-repo\",\n            enabled: true,\n        },\n        {\n            url: \"http://tempurl2.org/artifactory/terraform-federated-test-terraform_module-repo-2\",\n            enabled: true,\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nterraform_federated_test_terraform_module_repo = artifactory.FederatedTerraformModuleRepository(\"terraform-federated-test-terraform_module-repo\",\n    key=\"terraform-federated-test-terraform-module-repo\",\n    members=[\n        {\n            \"url\": \"http://tempurl.org/artifactory/terraform-federated-test-terraform_module-repo\",\n            \"enabled\": True,\n        },\n        {\n            \"url\": \"http://tempurl2.org/artifactory/terraform-federated-test-terraform_module-repo-2\",\n            \"enabled\": True,\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var terraform_federated_test_terraformModule_repo = new Artifactory.FederatedTerraformModuleRepository(\"terraform-federated-test-terraform_module-repo\", new()\n    {\n        Key = \"terraform-federated-test-terraform-module-repo\",\n        Members = new[]\n        {\n            new Artifactory.Inputs.FederatedTerraformModuleRepositoryMemberArgs\n            {\n                Url = \"http://tempurl.org/artifactory/terraform-federated-test-terraform_module-repo\",\n                Enabled = true,\n            },\n            new Artifactory.Inputs.FederatedTerraformModuleRepositoryMemberArgs\n            {\n                Url = \"http://tempurl2.org/artifactory/terraform-federated-test-terraform_module-repo-2\",\n                Enabled = true,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewFederatedTerraformModuleRepository(ctx, \"terraform-federated-test-terraform_module-repo\", \u0026artifactory.FederatedTerraformModuleRepositoryArgs{\n\t\t\tKey: pulumi.String(\"terraform-federated-test-terraform-module-repo\"),\n\t\t\tMembers: artifactory.FederatedTerraformModuleRepositoryMemberArray{\n\t\t\t\t\u0026artifactory.FederatedTerraformModuleRepositoryMemberArgs{\n\t\t\t\t\tUrl:     pulumi.String(\"http://tempurl.org/artifactory/terraform-federated-test-terraform_module-repo\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\t\u0026artifactory.FederatedTerraformModuleRepositoryMemberArgs{\n\t\t\t\t\tUrl:     pulumi.String(\"http://tempurl2.org/artifactory/terraform-federated-test-terraform_module-repo-2\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_federatedterraformmodulerepository\" \"terraform-federated-test-terraform_module-repo\" {\n  key = \"terraform-federated-test-terraform-module-repo\"\n  members {\n    url     = \"http://tempurl.org/artifactory/terraform-federated-test-terraform_module-repo\"\n    enabled = true\n  }\n  members {\n    url     = \"http://tempurl2.org/artifactory/terraform-federated-test-terraform_module-repo-2\"\n    enabled = true\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.FederatedTerraformModuleRepository;\nimport com.pulumi.artifactory.FederatedTerraformModuleRepositoryArgs;\nimport com.pulumi.artifactory.inputs.FederatedTerraformModuleRepositoryMemberArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 terraform_federated_test_terraformModule_repo = new FederatedTerraformModuleRepository(\"terraform-federated-test-terraformModule-repo\", FederatedTerraformModuleRepositoryArgs.builder()\n            .key(\"terraform-federated-test-terraform-module-repo\")\n            .members(            \n                FederatedTerraformModuleRepositoryMemberArgs.builder()\n                    .url(\"http://tempurl.org/artifactory/terraform-federated-test-terraform_module-repo\")\n                    .enabled(true)\n                    .build(),\n                FederatedTerraformModuleRepositoryMemberArgs.builder()\n                    .url(\"http://tempurl2.org/artifactory/terraform-federated-test-terraform_module-repo-2\")\n                    .enabled(true)\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  terraform-federated-test-terraformModule-repo:\n    type: artifactory:FederatedTerraformModuleRepository\n    name: terraform-federated-test-terraform_module-repo\n    properties:\n      key: terraform-federated-test-terraform-module-repo\n      members:\n        - url: http://tempurl.org/artifactory/terraform-federated-test-terraform_module-repo\n          enabled: true\n        - url: http://tempurl2.org/artifactory/terraform-federated-test-terraform_module-repo-2\n          enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFederated repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/federatedTerraformModuleRepository:FederatedTerraformModuleRepository terraform-federated-test-terraform_module-repo terraform-federated-test-terraform-module-repo\n```\n\n",
            "properties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "cleanupOnDelete": {
                    "type": "boolean",
                    "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "members": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/FederatedTerraformModuleRepositoryMember:FederatedTerraformModuleRepositoryMember"
                    },
                    "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "packageType": {
                    "type": "string"
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the federated repository"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "key",
                "members",
                "packageType",
                "projectEnvironments"
            ],
            "inputProperties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "cleanupOnDelete": {
                    "type": "boolean",
                    "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n",
                    "willReplaceOnChanges": true
                },
                "members": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/FederatedTerraformModuleRepositoryMember:FederatedTerraformModuleRepositoryMember"
                    },
                    "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the federated repository"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key",
                "members"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering FederatedTerraformModuleRepository resources.\n",
                "properties": {
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "cleanupOnDelete": {
                        "type": "boolean",
                        "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "disableProxy": {
                        "type": "boolean",
                        "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "the identity key of the repo.\n",
                        "willReplaceOnChanges": true
                    },
                    "members": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/artifactory:index/FederatedTerraformModuleRepositoryMember:FederatedTerraformModuleRepositoryMember"
                        },
                        "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "packageType": {
                        "type": "string",
                        "willReplaceOnChanges": true
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "proxy": {
                        "type": "string",
                        "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Repository layout key for the federated repository"
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/federatedTerraformProviderRepository:FederatedTerraformProviderRepository": {
            "description": "Creates a federated Generic repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst terraform_federated_test_terraformProvider_repo = new artifactory.FederatedTerraformProviderRepository(\"terraform-federated-test-terraform_provider-repo\", {\n    key: \"terraform-federated-test-terraform-provider-repo\",\n    members: [\n        {\n            url: \"http://tempurl.org/artifactory/terraform-federated-test-terraform_provider-repo\",\n            enabled: true,\n        },\n        {\n            url: \"http://tempurl2.org/artifactory/terraform-federated-test-terraform_provider-repo-2\",\n            enabled: true,\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nterraform_federated_test_terraform_provider_repo = artifactory.FederatedTerraformProviderRepository(\"terraform-federated-test-terraform_provider-repo\",\n    key=\"terraform-federated-test-terraform-provider-repo\",\n    members=[\n        {\n            \"url\": \"http://tempurl.org/artifactory/terraform-federated-test-terraform_provider-repo\",\n            \"enabled\": True,\n        },\n        {\n            \"url\": \"http://tempurl2.org/artifactory/terraform-federated-test-terraform_provider-repo-2\",\n            \"enabled\": True,\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var terraform_federated_test_terraformProvider_repo = new Artifactory.FederatedTerraformProviderRepository(\"terraform-federated-test-terraform_provider-repo\", new()\n    {\n        Key = \"terraform-federated-test-terraform-provider-repo\",\n        Members = new[]\n        {\n            new Artifactory.Inputs.FederatedTerraformProviderRepositoryMemberArgs\n            {\n                Url = \"http://tempurl.org/artifactory/terraform-federated-test-terraform_provider-repo\",\n                Enabled = true,\n            },\n            new Artifactory.Inputs.FederatedTerraformProviderRepositoryMemberArgs\n            {\n                Url = \"http://tempurl2.org/artifactory/terraform-federated-test-terraform_provider-repo-2\",\n                Enabled = true,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewFederatedTerraformProviderRepository(ctx, \"terraform-federated-test-terraform_provider-repo\", \u0026artifactory.FederatedTerraformProviderRepositoryArgs{\n\t\t\tKey: pulumi.String(\"terraform-federated-test-terraform-provider-repo\"),\n\t\t\tMembers: artifactory.FederatedTerraformProviderRepositoryMemberArray{\n\t\t\t\t\u0026artifactory.FederatedTerraformProviderRepositoryMemberArgs{\n\t\t\t\t\tUrl:     pulumi.String(\"http://tempurl.org/artifactory/terraform-federated-test-terraform_provider-repo\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\t\u0026artifactory.FederatedTerraformProviderRepositoryMemberArgs{\n\t\t\t\t\tUrl:     pulumi.String(\"http://tempurl2.org/artifactory/terraform-federated-test-terraform_provider-repo-2\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_federatedterraformproviderrepository\" \"terraform-federated-test-terraform_provider-repo\" {\n  key = \"terraform-federated-test-terraform-provider-repo\"\n  members {\n    url     = \"http://tempurl.org/artifactory/terraform-federated-test-terraform_provider-repo\"\n    enabled = true\n  }\n  members {\n    url     = \"http://tempurl2.org/artifactory/terraform-federated-test-terraform_provider-repo-2\"\n    enabled = true\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.FederatedTerraformProviderRepository;\nimport com.pulumi.artifactory.FederatedTerraformProviderRepositoryArgs;\nimport com.pulumi.artifactory.inputs.FederatedTerraformProviderRepositoryMemberArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 terraform_federated_test_terraformProvider_repo = new FederatedTerraformProviderRepository(\"terraform-federated-test-terraformProvider-repo\", FederatedTerraformProviderRepositoryArgs.builder()\n            .key(\"terraform-federated-test-terraform-provider-repo\")\n            .members(            \n                FederatedTerraformProviderRepositoryMemberArgs.builder()\n                    .url(\"http://tempurl.org/artifactory/terraform-federated-test-terraform_provider-repo\")\n                    .enabled(true)\n                    .build(),\n                FederatedTerraformProviderRepositoryMemberArgs.builder()\n                    .url(\"http://tempurl2.org/artifactory/terraform-federated-test-terraform_provider-repo-2\")\n                    .enabled(true)\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  terraform-federated-test-terraformProvider-repo:\n    type: artifactory:FederatedTerraformProviderRepository\n    name: terraform-federated-test-terraform_provider-repo\n    properties:\n      key: terraform-federated-test-terraform-provider-repo\n      members:\n        - url: http://tempurl.org/artifactory/terraform-federated-test-terraform_provider-repo\n          enabled: true\n        - url: http://tempurl2.org/artifactory/terraform-federated-test-terraform_provider-repo-2\n          enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFederated repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/federatedTerraformProviderRepository:FederatedTerraformProviderRepository terraform-federated-test-terraform_provider-repo terraform-federated-test-terraform-provider-repo\n```\n\n",
            "properties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "cleanupOnDelete": {
                    "type": "boolean",
                    "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "members": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/FederatedTerraformProviderRepositoryMember:FederatedTerraformProviderRepositoryMember"
                    },
                    "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "packageType": {
                    "type": "string"
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the federated repository"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "key",
                "members",
                "packageType",
                "projectEnvironments"
            ],
            "inputProperties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "cleanupOnDelete": {
                    "type": "boolean",
                    "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n",
                    "willReplaceOnChanges": true
                },
                "members": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/FederatedTerraformProviderRepositoryMember:FederatedTerraformProviderRepositoryMember"
                    },
                    "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the federated repository"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key",
                "members"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering FederatedTerraformProviderRepository resources.\n",
                "properties": {
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "cleanupOnDelete": {
                        "type": "boolean",
                        "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "disableProxy": {
                        "type": "boolean",
                        "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "the identity key of the repo.\n",
                        "willReplaceOnChanges": true
                    },
                    "members": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/artifactory:index/FederatedTerraformProviderRepositoryMember:FederatedTerraformProviderRepositoryMember"
                        },
                        "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "packageType": {
                        "type": "string",
                        "willReplaceOnChanges": true
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "proxy": {
                        "type": "string",
                        "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Repository layout key for the federated repository"
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/federatedVagrantRepository:FederatedVagrantRepository": {
            "description": "Creates a federated Vagrant repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst terraform_federated_test_vagrant_repo = new artifactory.FederatedVagrantRepository(\"terraform-federated-test-vagrant-repo\", {\n    key: \"terraform-federated-test-vagrant-repo\",\n    members: [\n        {\n            url: \"http://tempurl.org/artifactory/terraform-federated-test-vagrant-repo\",\n            enabled: true,\n        },\n        {\n            url: \"http://tempurl2.org/artifactory/terraform-federated-test-vagrant-repo-2\",\n            enabled: true,\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nterraform_federated_test_vagrant_repo = artifactory.FederatedVagrantRepository(\"terraform-federated-test-vagrant-repo\",\n    key=\"terraform-federated-test-vagrant-repo\",\n    members=[\n        {\n            \"url\": \"http://tempurl.org/artifactory/terraform-federated-test-vagrant-repo\",\n            \"enabled\": True,\n        },\n        {\n            \"url\": \"http://tempurl2.org/artifactory/terraform-federated-test-vagrant-repo-2\",\n            \"enabled\": True,\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var terraform_federated_test_vagrant_repo = new Artifactory.FederatedVagrantRepository(\"terraform-federated-test-vagrant-repo\", new()\n    {\n        Key = \"terraform-federated-test-vagrant-repo\",\n        Members = new[]\n        {\n            new Artifactory.Inputs.FederatedVagrantRepositoryMemberArgs\n            {\n                Url = \"http://tempurl.org/artifactory/terraform-federated-test-vagrant-repo\",\n                Enabled = true,\n            },\n            new Artifactory.Inputs.FederatedVagrantRepositoryMemberArgs\n            {\n                Url = \"http://tempurl2.org/artifactory/terraform-federated-test-vagrant-repo-2\",\n                Enabled = true,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewFederatedVagrantRepository(ctx, \"terraform-federated-test-vagrant-repo\", \u0026artifactory.FederatedVagrantRepositoryArgs{\n\t\t\tKey: pulumi.String(\"terraform-federated-test-vagrant-repo\"),\n\t\t\tMembers: artifactory.FederatedVagrantRepositoryMemberArray{\n\t\t\t\t\u0026artifactory.FederatedVagrantRepositoryMemberArgs{\n\t\t\t\t\tUrl:     pulumi.String(\"http://tempurl.org/artifactory/terraform-federated-test-vagrant-repo\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\t\u0026artifactory.FederatedVagrantRepositoryMemberArgs{\n\t\t\t\t\tUrl:     pulumi.String(\"http://tempurl2.org/artifactory/terraform-federated-test-vagrant-repo-2\"),\n\t\t\t\t\tEnabled: pulumi.Bool(true),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_federatedvagrantrepository\" \"terraform-federated-test-vagrant-repo\" {\n  key = \"terraform-federated-test-vagrant-repo\"\n  members {\n    url     = \"http://tempurl.org/artifactory/terraform-federated-test-vagrant-repo\"\n    enabled = true\n  }\n  members {\n    url     = \"http://tempurl2.org/artifactory/terraform-federated-test-vagrant-repo-2\"\n    enabled = true\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.FederatedVagrantRepository;\nimport com.pulumi.artifactory.FederatedVagrantRepositoryArgs;\nimport com.pulumi.artifactory.inputs.FederatedVagrantRepositoryMemberArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 terraform_federated_test_vagrant_repo = new FederatedVagrantRepository(\"terraform-federated-test-vagrant-repo\", FederatedVagrantRepositoryArgs.builder()\n            .key(\"terraform-federated-test-vagrant-repo\")\n            .members(            \n                FederatedVagrantRepositoryMemberArgs.builder()\n                    .url(\"http://tempurl.org/artifactory/terraform-federated-test-vagrant-repo\")\n                    .enabled(true)\n                    .build(),\n                FederatedVagrantRepositoryMemberArgs.builder()\n                    .url(\"http://tempurl2.org/artifactory/terraform-federated-test-vagrant-repo-2\")\n                    .enabled(true)\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  terraform-federated-test-vagrant-repo:\n    type: artifactory:FederatedVagrantRepository\n    properties:\n      key: terraform-federated-test-vagrant-repo\n      members:\n        - url: http://tempurl.org/artifactory/terraform-federated-test-vagrant-repo\n          enabled: true\n        - url: http://tempurl2.org/artifactory/terraform-federated-test-vagrant-repo-2\n          enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nFederated repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/federatedVagrantRepository:FederatedVagrantRepository terraform-federated-test-vagrant-repo terraform-federated-test-vagrant-repo\n```\n\n",
            "properties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "cleanupOnDelete": {
                    "type": "boolean",
                    "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "members": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/FederatedVagrantRepositoryMember:FederatedVagrantRepositoryMember"
                    },
                    "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "packageType": {
                    "type": "string"
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the federated repository"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "key",
                "members",
                "packageType",
                "projectEnvironments"
            ],
            "inputProperties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "cleanupOnDelete": {
                    "type": "boolean",
                    "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n",
                    "willReplaceOnChanges": true
                },
                "members": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/FederatedVagrantRepositoryMember:FederatedVagrantRepositoryMember"
                    },
                    "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the federated repository"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key",
                "members"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering FederatedVagrantRepository resources.\n",
                "properties": {
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "cleanupOnDelete": {
                        "type": "boolean",
                        "description": "Delete all federated members on `terraform destroy` if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. This attribute is added to match Terrform logic, so all the resources, created by the provider, must be removed on cleanup. Artifactory's behavior for the federated repositories is different, all the federated repositories stay after the user deletes the initial federated repository. **Caution**: if set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e all the repositories in the federation will be deleted, including repositories on other Artifactory instances in the \"Circle of trust\". This operation can not be reversed.\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "disableProxy": {
                        "type": "boolean",
                        "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too.\n"
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "the identity key of the repo.\n",
                        "willReplaceOnChanges": true
                    },
                    "members": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/artifactory:index/FederatedVagrantRepositoryMember:FederatedVagrantRepositoryMember"
                        },
                        "description": "The list of Federated members and must contain this repository URL (configured base URL\n`/artifactory/` + repo \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e). Note that each of the federated members will need to have a base URL set.\nPlease follow the [instruction](https://www.jfrog.com/confluence/display/JFROG/Working+with+Federated+Repositories#WorkingwithFederatedRepositories-SettingUpaFederatedRepository)\nto set up Federated repositories correctly.\n"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "packageType": {
                        "type": "string",
                        "willReplaceOnChanges": true
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "proxy": {
                        "type": "string",
                        "description": "Proxy key from Artifactory Proxies settings. Default is empty field. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`.\n"
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Repository layout key for the federated repository"
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/generalSecurity:GeneralSecurity": {
            "description": "This resource can be used to manage Artifactory's general security settings.\n\nOnly a single \u003cspan pulumi-lang-nodejs=\"`artifactory.GeneralSecurity`\" pulumi-lang-dotnet=\"`artifactory.GeneralSecurity`\" pulumi-lang-go=\"`GeneralSecurity`\" pulumi-lang-python=\"`GeneralSecurity`\" pulumi-lang-yaml=\"`artifactory.GeneralSecurity`\" pulumi-lang-java=\"`artifactory.GeneralSecurity`\" pulumi-lang-hcl=\"`artifactory_general_security`\"\u003e`artifactory.GeneralSecurity`\u003c/span\u003e resource is meant to be defined.\n\n~\u003eThe \u003cspan pulumi-lang-nodejs=\"`artifactory.GeneralSecurity`\" pulumi-lang-dotnet=\"`artifactory.GeneralSecurity`\" pulumi-lang-go=\"`GeneralSecurity`\" pulumi-lang-python=\"`GeneralSecurity`\" pulumi-lang-yaml=\"`artifactory.GeneralSecurity`\" pulumi-lang-java=\"`artifactory.GeneralSecurity`\" pulumi-lang-hcl=\"`artifactory_general_security`\"\u003e`artifactory.GeneralSecurity`\u003c/span\u003e resource utilizes endpoints which are blocked/removed in SaaS environments (i.e. in Artifactory online), rendering this resource incompatible with Artifactory SaaS environments.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\n// Configure Artifactory general security settings\nconst security = new artifactory.GeneralSecurity(\"security\", {\n    enableAnonymousAccess: false,\n    encryptionPolicy: \"REQUIRED\",\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\n# Configure Artifactory general security settings\nsecurity = artifactory.GeneralSecurity(\"security\",\n    enable_anonymous_access=False,\n    encryption_policy=\"REQUIRED\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Configure Artifactory general security settings\n    var security = new Artifactory.GeneralSecurity(\"security\", new()\n    {\n        EnableAnonymousAccess = false,\n        EncryptionPolicy = \"REQUIRED\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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// Configure Artifactory general security settings\n\t\t_, err := artifactory.NewGeneralSecurity(ctx, \"security\", \u0026artifactory.GeneralSecurityArgs{\n\t\t\tEnableAnonymousAccess: pulumi.Bool(false),\n\t\t\tEncryptionPolicy:      pulumi.String(\"REQUIRED\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\n# Configure Artifactory general security settings\nresource \"artifactory_generalsecurity\" \"security\" {\n  enable_anonymous_access = false\n  encryption_policy       = \"REQUIRED\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.GeneralSecurity;\nimport com.pulumi.artifactory.GeneralSecurityArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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        // Configure Artifactory general security settings\n        var security = new GeneralSecurity(\"security\", GeneralSecurityArgs.builder()\n            .enableAnonymousAccess(false)\n            .encryptionPolicy(\"REQUIRED\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Configure Artifactory general security settings\n  security:\n    type: artifactory:GeneralSecurity\n    properties:\n      enableAnonymousAccess: false\n      encryptionPolicy: REQUIRED\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\n// Enable anonymous access with supported encryption\nconst security = new artifactory.GeneralSecurity(\"security\", {\n    enableAnonymousAccess: true,\n    encryptionPolicy: \"SUPPORTED\",\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\n# Enable anonymous access with supported encryption\nsecurity = artifactory.GeneralSecurity(\"security\",\n    enable_anonymous_access=True,\n    encryption_policy=\"SUPPORTED\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Enable anonymous access with supported encryption\n    var security = new Artifactory.GeneralSecurity(\"security\", new()\n    {\n        EnableAnonymousAccess = true,\n        EncryptionPolicy = \"SUPPORTED\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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// Enable anonymous access with supported encryption\n\t\t_, err := artifactory.NewGeneralSecurity(ctx, \"security\", \u0026artifactory.GeneralSecurityArgs{\n\t\t\tEnableAnonymousAccess: pulumi.Bool(true),\n\t\t\tEncryptionPolicy:      pulumi.String(\"SUPPORTED\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\n# Enable anonymous access with supported encryption\nresource \"artifactory_generalsecurity\" \"security\" {\n  enable_anonymous_access = true\n  encryption_policy       = \"SUPPORTED\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.GeneralSecurity;\nimport com.pulumi.artifactory.GeneralSecurityArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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        // Enable anonymous access with supported encryption\n        var security = new GeneralSecurity(\"security\", GeneralSecurityArgs.builder()\n            .enableAnonymousAccess(true)\n            .encryptionPolicy(\"SUPPORTED\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Enable anonymous access with supported encryption\n  security:\n    type: artifactory:GeneralSecurity\n    properties:\n      enableAnonymousAccess: true\n      encryptionPolicy: SUPPORTED\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\n// Disable encryption policy (clear-text only)\nconst security = new artifactory.GeneralSecurity(\"security\", {\n    enableAnonymousAccess: false,\n    encryptionPolicy: \"UNSUPPORTED\",\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\n# Disable encryption policy (clear-text only)\nsecurity = artifactory.GeneralSecurity(\"security\",\n    enable_anonymous_access=False,\n    encryption_policy=\"UNSUPPORTED\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Disable encryption policy (clear-text only)\n    var security = new Artifactory.GeneralSecurity(\"security\", new()\n    {\n        EnableAnonymousAccess = false,\n        EncryptionPolicy = \"UNSUPPORTED\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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// Disable encryption policy (clear-text only)\n\t\t_, err := artifactory.NewGeneralSecurity(ctx, \"security\", \u0026artifactory.GeneralSecurityArgs{\n\t\t\tEnableAnonymousAccess: pulumi.Bool(false),\n\t\t\tEncryptionPolicy:      pulumi.String(\"UNSUPPORTED\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\n# Disable encryption policy (clear-text only)\nresource \"artifactory_generalsecurity\" \"security\" {\n  enable_anonymous_access = false\n  encryption_policy       = \"UNSUPPORTED\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.GeneralSecurity;\nimport com.pulumi.artifactory.GeneralSecurityArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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        // Disable encryption policy (clear-text only)\n        var security = new GeneralSecurity(\"security\", GeneralSecurityArgs.builder()\n            .enableAnonymousAccess(false)\n            .encryptionPolicy(\"UNSUPPORTED\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Disable encryption policy (clear-text only)\n  security:\n    type: artifactory:GeneralSecurity\n    properties:\n      enableAnonymousAccess: false\n      encryptionPolicy: UNSUPPORTED\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCurrent general security settings can be imported using \u003cspan pulumi-lang-nodejs=\"`security`\" pulumi-lang-dotnet=\"`Security`\" pulumi-lang-go=\"`security`\" pulumi-lang-python=\"`security`\" pulumi-lang-yaml=\"`security`\" pulumi-lang-java=\"`security`\" pulumi-lang-hcl=\"`security`\"\u003e`security`\u003c/span\u003e as the `ID`, e.g.\n\n```sh\n$ pulumi import artifactory:index/generalSecurity:GeneralSecurity security security\n```\n\n~\u003eThe \u003cspan pulumi-lang-nodejs=\"`artifactory.GeneralSecurity`\" pulumi-lang-dotnet=\"`artifactory.GeneralSecurity`\" pulumi-lang-go=\"`GeneralSecurity`\" pulumi-lang-python=\"`GeneralSecurity`\" pulumi-lang-yaml=\"`artifactory.GeneralSecurity`\" pulumi-lang-java=\"`artifactory.GeneralSecurity`\" pulumi-lang-hcl=\"`artifactory_general_security`\"\u003e`artifactory.GeneralSecurity`\u003c/span\u003e resource uses endpoints that are undocumented and may not work with SaaS environments, or may change without notice.\n\n",
            "properties": {
                "enableAnonymousAccess": {
                    "type": "boolean",
                    "description": "Enable anonymous access. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                },
                "encryptionPolicy": {
                    "type": "string",
                    "description": "Determines the password requirements from users identified to Artifactory from a remote client such as Maven. The options are:\n- `SUPPORTED` (default): Users can authenticate using secure encrypted passwords or clear-text passwords.\n- `REQUIRED`: Users must authenticate using secure encrypted passwords. Clear-text authentication fails.\n- `UNSUPPORTED`: Only clear-text passwords can be used for authentication.\n\nDefault value is `SUPPORTED`.\n"
                }
            },
            "required": [
                "enableAnonymousAccess",
                "encryptionPolicy"
            ],
            "inputProperties": {
                "enableAnonymousAccess": {
                    "type": "boolean",
                    "description": "Enable anonymous access. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                },
                "encryptionPolicy": {
                    "type": "string",
                    "description": "Determines the password requirements from users identified to Artifactory from a remote client such as Maven. The options are:\n- `SUPPORTED` (default): Users can authenticate using secure encrypted passwords or clear-text passwords.\n- `REQUIRED`: Users must authenticate using secure encrypted passwords. Clear-text authentication fails.\n- `UNSUPPORTED`: Only clear-text passwords can be used for authentication.\n\nDefault value is `SUPPORTED`.\n"
                }
            },
            "stateInputs": {
                "description": "Input properties used for looking up and filtering GeneralSecurity resources.\n",
                "properties": {
                    "enableAnonymousAccess": {
                        "type": "boolean",
                        "description": "Enable anonymous access. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                    },
                    "encryptionPolicy": {
                        "type": "string",
                        "description": "Determines the password requirements from users identified to Artifactory from a remote client such as Maven. The options are:\n- `SUPPORTED` (default): Users can authenticate using secure encrypted passwords or clear-text passwords.\n- `REQUIRED`: Users must authenticate using secure encrypted passwords. Clear-text authentication fails.\n- `UNSUPPORTED`: Only clear-text passwords can be used for authentication.\n\nDefault value is `SUPPORTED`.\n"
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/globalEnvironment:GlobalEnvironment": {
            "description": "Provides a global environment resource. This can be used to create and manage global environment.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst test_env = new artifactory.GlobalEnvironment(\"test-env\", {name: \"test-env\"});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\ntest_env = artifactory.GlobalEnvironment(\"test-env\", name=\"test-env\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test_env = new Artifactory.GlobalEnvironment(\"test-env\", new()\n    {\n        Name = \"test-env\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewGlobalEnvironment(ctx, \"test-env\", \u0026artifactory.GlobalEnvironmentArgs{\n\t\t\tName: pulumi.String(\"test-env\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_globalenvironment\" \"test-env\" {\n  name = \"test-env\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.GlobalEnvironment;\nimport com.pulumi.artifactory.GlobalEnvironmentArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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_env = new GlobalEnvironment(\"test-env\", GlobalEnvironmentArgs.builder()\n            .name(\"test-env\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test-env:\n    type: artifactory:GlobalEnvironment\n    properties:\n      name: test-env\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import artifactory:index/globalEnvironment:GlobalEnvironment dev-env myenv\n```\n\n",
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Name must start with a letter and contain letters, digits and `-` character. The maximum length is 32 characters\n"
                }
            },
            "required": [
                "name"
            ],
            "inputProperties": {
                "name": {
                    "type": "string",
                    "description": "Name must start with a letter and contain letters, digits and `-` character. The maximum length is 32 characters\n"
                }
            },
            "stateInputs": {
                "description": "Input properties used for looking up and filtering GlobalEnvironment resources.\n",
                "properties": {
                    "name": {
                        "type": "string",
                        "description": "Name must start with a letter and contain letters, digits and `-` character. The maximum length is 32 characters\n"
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/goRepository:GoRepository": {
            "description": "Creates a virtual Go repository.\nOfficial documentation can be found [here](https://www.jfrog.com/confluence/display/JFROG/Go+Registry#GoRegistry-VirtualRepositories).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst baz_go = new artifactory.GoRepository(\"baz-go\", {\n    key: \"baz-go\",\n    repoLayoutRef: \"go-default\",\n    repositories: [],\n    description: \"A test virtual repo\",\n    notes: \"Internal description\",\n    includesPattern: \"com/jfrog/**,cloud/jfrog/**\",\n    excludesPattern: \"com/google/**\",\n    externalDependenciesEnabled: true,\n    externalDependenciesPatterns: [\n        \"**/github.com/**\",\n        \"**/go.googlesource.com/**\",\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nbaz_go = artifactory.GoRepository(\"baz-go\",\n    key=\"baz-go\",\n    repo_layout_ref=\"go-default\",\n    repositories=[],\n    description=\"A test virtual repo\",\n    notes=\"Internal description\",\n    includes_pattern=\"com/jfrog/**,cloud/jfrog/**\",\n    excludes_pattern=\"com/google/**\",\n    external_dependencies_enabled=True,\n    external_dependencies_patterns=[\n        \"**/github.com/**\",\n        \"**/go.googlesource.com/**\",\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var baz_go = new Artifactory.GoRepository(\"baz-go\", new()\n    {\n        Key = \"baz-go\",\n        RepoLayoutRef = \"go-default\",\n        Repositories = new[] {},\n        Description = \"A test virtual repo\",\n        Notes = \"Internal description\",\n        IncludesPattern = \"com/jfrog/**,cloud/jfrog/**\",\n        ExcludesPattern = \"com/google/**\",\n        ExternalDependenciesEnabled = true,\n        ExternalDependenciesPatterns = new[]\n        {\n            \"**/github.com/**\",\n            \"**/go.googlesource.com/**\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewGoRepository(ctx, \"baz-go\", \u0026artifactory.GoRepositoryArgs{\n\t\t\tKey:                         pulumi.String(\"baz-go\"),\n\t\t\tRepoLayoutRef:               pulumi.String(\"go-default\"),\n\t\t\tRepositories:                pulumi.StringArray{},\n\t\t\tDescription:                 pulumi.String(\"A test virtual repo\"),\n\t\t\tNotes:                       pulumi.String(\"Internal description\"),\n\t\t\tIncludesPattern:             pulumi.String(\"com/jfrog/**,cloud/jfrog/**\"),\n\t\t\tExcludesPattern:             pulumi.String(\"com/google/**\"),\n\t\t\tExternalDependenciesEnabled: pulumi.Bool(true),\n\t\t\tExternalDependenciesPatterns: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"**/github.com/**\"),\n\t\t\t\tpulumi.String(\"**/go.googlesource.com/**\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_gorepository\" \"baz-go\" {\n  key                            = \"baz-go\"\n  repo_layout_ref                = \"go-default\"\n  repositories                   = []\n  description                    = \"A test virtual repo\"\n  notes                          = \"Internal description\"\n  includes_pattern               = \"com/jfrog/**,cloud/jfrog/**\"\n  excludes_pattern               = \"com/google/**\"\n  external_dependencies_enabled  = true\n  external_dependencies_patterns = [\"**/github.com/**\", \"**/go.googlesource.com/**\"]\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.GoRepository;\nimport com.pulumi.artifactory.GoRepositoryArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 baz_go = new GoRepository(\"baz-go\", GoRepositoryArgs.builder()\n            .key(\"baz-go\")\n            .repoLayoutRef(\"go-default\")\n            .repositories()\n            .description(\"A test virtual repo\")\n            .notes(\"Internal description\")\n            .includesPattern(\"com/jfrog/**,cloud/jfrog/**\")\n            .excludesPattern(\"com/google/**\")\n            .externalDependenciesEnabled(true)\n            .externalDependenciesPatterns(            \n                \"**/github.com/**\",\n                \"**/go.googlesource.com/**\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  baz-go:\n    type: artifactory:GoRepository\n    properties:\n      key: baz-go\n      repoLayoutRef: go-default\n      repositories: []\n      description: A test virtual repo\n      notes: Internal description\n      includesPattern: com/jfrog/**,cloud/jfrog/**\n      excludesPattern: com/google/**\n      externalDependenciesEnabled: true\n      externalDependenciesPatterns:\n        - '**/github.com/**'\n        - '**/go.googlesource.com/**'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVirtual repositories can be imported using their name, e.g.\n\n```sh\n$ pulumi import artifactory:index/goRepository:GoRepository baz-go baz-go\n```\n\n",
            "properties": {
                "artifactoryRequestsCanRetrieveRemoteArtifacts": {
                    "type": "boolean",
                    "description": "Whether the virtual repository should search through remote repositories when trying to resolve an artifact requested by another Artifactory instance."
                },
                "defaultDeploymentRepo": {
                    "type": "string",
                    "description": "Default repository to deploy artifacts."
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "externalDependenciesEnabled": {
                    "type": "boolean",
                    "description": "Shorthand for \"Enable 'go-import' Meta Tags\" on the UI. This must be set to true in order to use the allow list. \nWhen checked (default), Artifactory will automatically follow remote VCS roots in 'go-import' meta tags to download remote modules.\n"
                },
                "externalDependenciesPatterns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "'go-import' Allow List on the UI.\n"
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "packageType": {
                    "type": "string"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the virtual repository"
                },
                "repositories": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "The effective list of actual repositories included in this virtual repository."
                }
            },
            "required": [
                "key",
                "packageType",
                "projectEnvironments"
            ],
            "inputProperties": {
                "artifactoryRequestsCanRetrieveRemoteArtifacts": {
                    "type": "boolean",
                    "description": "Whether the virtual repository should search through remote repositories when trying to resolve an artifact requested by another Artifactory instance."
                },
                "defaultDeploymentRepo": {
                    "type": "string",
                    "description": "Default repository to deploy artifacts."
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "externalDependenciesEnabled": {
                    "type": "boolean",
                    "description": "Shorthand for \"Enable 'go-import' Meta Tags\" on the UI. This must be set to true in order to use the allow list. \nWhen checked (default), Artifactory will automatically follow remote VCS roots in 'go-import' meta tags to download remote modules.\n"
                },
                "externalDependenciesPatterns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "'go-import' Allow List on the UI.\n"
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n",
                    "willReplaceOnChanges": true
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the virtual repository"
                },
                "repositories": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "The effective list of actual repositories included in this virtual repository."
                }
            },
            "requiredInputs": [
                "key"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering GoRepository resources.\n",
                "properties": {
                    "artifactoryRequestsCanRetrieveRemoteArtifacts": {
                        "type": "boolean",
                        "description": "Whether the virtual repository should search through remote repositories when trying to resolve an artifact requested by another Artifactory instance."
                    },
                    "defaultDeploymentRepo": {
                        "type": "string",
                        "description": "Default repository to deploy artifacts."
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "externalDependenciesEnabled": {
                        "type": "boolean",
                        "description": "Shorthand for \"Enable 'go-import' Meta Tags\" on the UI. This must be set to true in order to use the allow list. \nWhen checked (default), Artifactory will automatically follow remote VCS roots in 'go-import' meta tags to download remote modules.\n"
                    },
                    "externalDependenciesPatterns": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "'go-import' Allow List on the UI.\n"
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n",
                        "willReplaceOnChanges": true
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "packageType": {
                        "type": "string",
                        "willReplaceOnChanges": true
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Repository layout key for the virtual repository"
                    },
                    "repositories": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "The effective list of actual repositories included in this virtual repository."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/group:Group": {
            "description": "Provides an Artifactory group resource. This can be used to create and manage Artifactory groups.\n\n!\u003eThis resource is deprecated and will be removed in the next major version. Use \u003cspan pulumi-lang-nodejs=\"`platformGroup`\" pulumi-lang-dotnet=\"`PlatformGroup`\" pulumi-lang-go=\"`platformGroup`\" pulumi-lang-python=\"`platform_group`\" pulumi-lang-yaml=\"`platformGroup`\" pulumi-lang-java=\"`platformGroup`\" pulumi-lang-hcl=\"`platform_group`\"\u003e`platformGroup`\u003c/span\u003e resource in the JFrog Platform provider instead.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst test_group = new artifactory.Group(\"test-group\", {\n    name: \"terraform\",\n    description: \"test group\",\n    externalId: \"00628948-b509-4362-aa73-380c4dbd2a44\",\n    adminPrivileges: false,\n    usersNames: [\"foobar\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\ntest_group = artifactory.Group(\"test-group\",\n    name=\"terraform\",\n    description=\"test group\",\n    external_id=\"00628948-b509-4362-aa73-380c4dbd2a44\",\n    admin_privileges=False,\n    users_names=[\"foobar\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test_group = new Artifactory.Group(\"test-group\", new()\n    {\n        Name = \"terraform\",\n        Description = \"test group\",\n        ExternalId = \"00628948-b509-4362-aa73-380c4dbd2a44\",\n        AdminPrivileges = false,\n        UsersNames = new[]\n        {\n            \"foobar\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewGroup(ctx, \"test-group\", \u0026artifactory.GroupArgs{\n\t\t\tName:            pulumi.String(\"terraform\"),\n\t\t\tDescription:     pulumi.String(\"test group\"),\n\t\t\tExternalId:      pulumi.String(\"00628948-b509-4362-aa73-380c4dbd2a44\"),\n\t\t\tAdminPrivileges: pulumi.Bool(false),\n\t\t\tUsersNames: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foobar\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_group\" \"test-group\" {\n  name             = \"terraform\"\n  description      = \"test group\"\n  external_id      = \"00628948-b509-4362-aa73-380c4dbd2a44\"\n  admin_privileges = false\n  users_names      = [\"foobar\"]\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.Group;\nimport com.pulumi.artifactory.GroupArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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_group = new Group(\"test-group\", GroupArgs.builder()\n            .name(\"terraform\")\n            .description(\"test group\")\n            .externalId(\"00628948-b509-4362-aa73-380c4dbd2a44\")\n            .adminPrivileges(false)\n            .usersNames(\"foobar\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test-group:\n    type: artifactory:Group\n    properties:\n      name: terraform\n      description: test group\n      externalId: 00628948-b509-4362-aa73-380c4dbd2a44\n      adminPrivileges: false\n      usersNames:\n        - foobar\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Managed vs Unmanaged Group Membership\n\nTerraform does not distinguish between an absent \u003cspan pulumi-lang-nodejs=\"`usersNames`\" pulumi-lang-dotnet=\"`UsersNames`\" pulumi-lang-go=\"`usersNames`\" pulumi-lang-python=\"`users_names`\" pulumi-lang-yaml=\"`usersNames`\" pulumi-lang-java=\"`usersNames`\" pulumi-lang-hcl=\"`users_names`\"\u003e`usersNames`\u003c/span\u003e attribute and setting to an empty array (i.e. length of 0).\n\nTo prevent accidental deletion of existing membership, the default was chosen to mean that Terraform does not manage membership and that to detach all users would require an explicit bool.\n\n~\u003eWhen moving from managed group membership to unmanaged the pulumi preview will show the users previously in the array\nbeing removed from terraform state, but it will not actually delete any members (unless \u003cspan pulumi-lang-nodejs=\"`detachAllUsers`\" pulumi-lang-dotnet=\"`DetachAllUsers`\" pulumi-lang-go=\"`detachAllUsers`\" pulumi-lang-python=\"`detach_all_users`\" pulumi-lang-yaml=\"`detachAllUsers`\" pulumi-lang-java=\"`detachAllUsers`\" pulumi-lang-hcl=\"`detach_all_users`\"\u003e`detachAllUsers`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e).\n\nAlso see our recommendation on how to manage user-group relationship.\n\n## Import\n\n```sh\n$ pulumi import artifactory:index/group:Group terraform-group mygroup\n```\n\n\u003e \u003cspan pulumi-lang-nodejs=\"`usersNames`\" pulumi-lang-dotnet=\"`UsersNames`\" pulumi-lang-go=\"`usersNames`\" pulumi-lang-python=\"`users_names`\" pulumi-lang-yaml=\"`usersNames`\" pulumi-lang-java=\"`usersNames`\" pulumi-lang-hcl=\"`users_names`\"\u003e`usersNames`\u003c/span\u003e can't be imported due to API limitations.\n\n",
            "properties": {
                "adminPrivileges": {
                    "type": "boolean",
                    "description": "Any users added to this group will automatically be assigned with admin privileges in the system.\n"
                },
                "autoJoin": {
                    "type": "boolean",
                    "description": "When this parameter is set, any new users defined in the system are automatically assigned to this group.\n"
                },
                "description": {
                    "type": "string",
                    "description": "A description for the group.\n"
                },
                "detachAllUsers": {
                    "type": "boolean",
                    "description": "When this is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, an empty or missing usernames array will detach all users from the group.\n"
                },
                "externalId": {
                    "type": "string",
                    "description": "New external group ID used to configure the corresponding group in Azure AD.\n"
                },
                "name": {
                    "type": "string",
                    "description": "Name of the group.\n"
                },
                "policyManager": {
                    "type": "boolean",
                    "description": "When this override is set, User in the group can set Xray security and compliance policies. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                },
                "realm": {
                    "type": "string",
                    "description": "The realm for the group.\n"
                },
                "realmAttributes": {
                    "type": "string",
                    "description": "The realm attributes for the group.\n"
                },
                "reportsManager": {
                    "type": "boolean",
                    "description": "When this override is set, User in the group can manage Xray Reports on any resource type. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                },
                "usersNames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of users assigned to the group. If not set or empty, Terraform will not manage group membership.\n"
                },
                "watchManager": {
                    "type": "boolean",
                    "description": "When this override is set, User in the group can manage Xray Watches on any resource type. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                }
            },
            "required": [
                "adminPrivileges",
                "autoJoin",
                "description",
                "externalId",
                "name",
                "policyManager",
                "realm",
                "realmAttributes",
                "reportsManager",
                "usersNames",
                "watchManager"
            ],
            "inputProperties": {
                "adminPrivileges": {
                    "type": "boolean",
                    "description": "Any users added to this group will automatically be assigned with admin privileges in the system.\n"
                },
                "autoJoin": {
                    "type": "boolean",
                    "description": "When this parameter is set, any new users defined in the system are automatically assigned to this group.\n"
                },
                "description": {
                    "type": "string",
                    "description": "A description for the group.\n"
                },
                "detachAllUsers": {
                    "type": "boolean",
                    "description": "When this is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, an empty or missing usernames array will detach all users from the group.\n"
                },
                "externalId": {
                    "type": "string",
                    "description": "New external group ID used to configure the corresponding group in Azure AD.\n"
                },
                "name": {
                    "type": "string",
                    "description": "Name of the group.\n"
                },
                "policyManager": {
                    "type": "boolean",
                    "description": "When this override is set, User in the group can set Xray security and compliance policies. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                },
                "realm": {
                    "type": "string",
                    "description": "The realm for the group.\n"
                },
                "realmAttributes": {
                    "type": "string",
                    "description": "The realm attributes for the group.\n"
                },
                "reportsManager": {
                    "type": "boolean",
                    "description": "When this override is set, User in the group can manage Xray Reports on any resource type. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                },
                "usersNames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of users assigned to the group. If not set or empty, Terraform will not manage group membership.\n"
                },
                "watchManager": {
                    "type": "boolean",
                    "description": "When this override is set, User in the group can manage Xray Watches on any resource type. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                }
            },
            "stateInputs": {
                "description": "Input properties used for looking up and filtering Group resources.\n",
                "properties": {
                    "adminPrivileges": {
                        "type": "boolean",
                        "description": "Any users added to this group will automatically be assigned with admin privileges in the system.\n"
                    },
                    "autoJoin": {
                        "type": "boolean",
                        "description": "When this parameter is set, any new users defined in the system are automatically assigned to this group.\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "A description for the group.\n"
                    },
                    "detachAllUsers": {
                        "type": "boolean",
                        "description": "When this is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, an empty or missing usernames array will detach all users from the group.\n"
                    },
                    "externalId": {
                        "type": "string",
                        "description": "New external group ID used to configure the corresponding group in Azure AD.\n"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the group.\n"
                    },
                    "policyManager": {
                        "type": "boolean",
                        "description": "When this override is set, User in the group can set Xray security and compliance policies. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                    },
                    "realm": {
                        "type": "string",
                        "description": "The realm for the group.\n"
                    },
                    "realmAttributes": {
                        "type": "string",
                        "description": "The realm attributes for the group.\n"
                    },
                    "reportsManager": {
                        "type": "boolean",
                        "description": "When this override is set, User in the group can manage Xray Reports on any resource type. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                    },
                    "usersNames": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of users assigned to the group. If not set or empty, Terraform will not manage group membership.\n"
                    },
                    "watchManager": {
                        "type": "boolean",
                        "description": "When this override is set, User in the group can manage Xray Watches on any resource type. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/itemProperties:ItemProperties": {
            "description": "Provides a resource for managaing item (file, folder, or repository) properties. When a folder is used property attachment is recursive by default. See [JFrog documentation](https://jfrog.com/help/r/jfrog-artifactory-documentation/working-with-jfrog-properties) for more details.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst my_repo_properties = new artifactory.ItemProperties(\"my-repo-properties\", {\n    repoKey: \"my-generic-local\",\n    properties: {\n        key1: [\"value1\"],\n        key2: [\n            \"value2\",\n            \"value3\",\n        ],\n    },\n    isRecursive: true,\n});\nconst my_folder_properties = new artifactory.ItemProperties(\"my-folder-properties\", {\n    repoKey: \"my-generic-local\",\n    itemPath: \"folder/subfolder\",\n    properties: {\n        key1: [\"value1\"],\n        key2: [\n            \"value2\",\n            \"value3\",\n        ],\n    },\n    isRecursive: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nmy_repo_properties = artifactory.ItemProperties(\"my-repo-properties\",\n    repo_key=\"my-generic-local\",\n    properties={\n        \"key1\": [\"value1\"],\n        \"key2\": [\n            \"value2\",\n            \"value3\",\n        ],\n    },\n    is_recursive=True)\nmy_folder_properties = artifactory.ItemProperties(\"my-folder-properties\",\n    repo_key=\"my-generic-local\",\n    item_path=\"folder/subfolder\",\n    properties={\n        \"key1\": [\"value1\"],\n        \"key2\": [\n            \"value2\",\n            \"value3\",\n        ],\n    },\n    is_recursive=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var my_repo_properties = new Artifactory.ItemProperties(\"my-repo-properties\", new()\n    {\n        RepoKey = \"my-generic-local\",\n        Properties = \n        {\n            { \"key1\", new[]\n            {\n                \"value1\",\n            } },\n            { \"key2\", new[]\n            {\n                \"value2\",\n                \"value3\",\n            } },\n        },\n        IsRecursive = true,\n    });\n\n    var my_folder_properties = new Artifactory.ItemProperties(\"my-folder-properties\", new()\n    {\n        RepoKey = \"my-generic-local\",\n        ItemPath = \"folder/subfolder\",\n        Properties = \n        {\n            { \"key1\", new[]\n            {\n                \"value1\",\n            } },\n            { \"key2\", new[]\n            {\n                \"value2\",\n                \"value3\",\n            } },\n        },\n        IsRecursive = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewItemProperties(ctx, \"my-repo-properties\", \u0026artifactory.ItemPropertiesArgs{\n\t\t\tRepoKey: pulumi.String(\"my-generic-local\"),\n\t\t\tProperties: pulumi.StringArrayMap{\n\t\t\t\t\"key1\": pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"value1\"),\n\t\t\t\t},\n\t\t\t\t\"key2\": pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"value2\"),\n\t\t\t\t\tpulumi.String(\"value3\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tIsRecursive: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = artifactory.NewItemProperties(ctx, \"my-folder-properties\", \u0026artifactory.ItemPropertiesArgs{\n\t\t\tRepoKey:  pulumi.String(\"my-generic-local\"),\n\t\t\tItemPath: pulumi.String(\"folder/subfolder\"),\n\t\t\tProperties: pulumi.StringArrayMap{\n\t\t\t\t\"key1\": pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"value1\"),\n\t\t\t\t},\n\t\t\t\t\"key2\": pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"value2\"),\n\t\t\t\t\tpulumi.String(\"value3\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tIsRecursive: 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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_itemproperties\" \"my-repo-properties\" {\n  repo_key = \"my-generic-local\"\n  properties = {\n    \"key1\" = [\"value1\"]\n    \"key2\" = [\"value2\", \"value3\"]\n  }\n  is_recursive = true\n}\nresource \"artifactory_itemproperties\" \"my-folder-properties\" {\n  repo_key  = \"my-generic-local\"\n  item_path = \"folder/subfolder\"\n  properties = {\n    \"key1\" = [\"value1\"]\n    \"key2\" = [\"value2\", \"value3\"]\n  }\n  is_recursive = true\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.ItemProperties;\nimport com.pulumi.artifactory.ItemPropertiesArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 my_repo_properties = new ItemProperties(\"my-repo-properties\", ItemPropertiesArgs.builder()\n            .repoKey(\"my-generic-local\")\n            .properties(Map.ofEntries(\n                Map.entry(\"key1\", Arrays.asList(\"value1\")),\n                Map.entry(\"key2\", Arrays.asList(                \n                    \"value2\",\n                    \"value3\"))\n            ))\n            .isRecursive(true)\n            .build());\n\n        var my_folder_properties = new ItemProperties(\"my-folder-properties\", ItemPropertiesArgs.builder()\n            .repoKey(\"my-generic-local\")\n            .itemPath(\"folder/subfolder\")\n            .properties(Map.ofEntries(\n                Map.entry(\"key1\", Arrays.asList(\"value1\")),\n                Map.entry(\"key2\", Arrays.asList(                \n                    \"value2\",\n                    \"value3\"))\n            ))\n            .isRecursive(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  my-repo-properties:\n    type: artifactory:ItemProperties\n    properties:\n      repoKey: my-generic-local\n      properties:\n        key1:\n          - value1\n        key2:\n          - value2\n          - value3\n      isRecursive: true\n  my-folder-properties:\n    type: artifactory:ItemProperties\n    properties:\n      repoKey: my-generic-local\n      itemPath: folder/subfolder\n      properties:\n        key1:\n          - value1\n        key2:\n          - value2\n          - value3\n      isRecursive: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import artifactory:index/itemProperties:ItemProperties my-repo-properties repo_key\n\n$ pulumi import artifactory:index/itemProperties:ItemProperties my-folder-properties repo_key:folder/subfolder\n```\n\n",
            "properties": {
                "isRecursive": {
                    "type": "boolean",
                    "description": "Add this property to the selected folder and to all of artifacts and folders under this folder. Default to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e"
                },
                "itemPath": {
                    "type": "string",
                    "description": "The relative path of the item (file/folder/repository). Leave unset for repository."
                },
                "properties": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "description": "Map of key and list of values.\n"
                },
                "repoKey": {
                    "type": "string",
                    "description": "Respository key."
                }
            },
            "required": [
                "isRecursive",
                "properties",
                "repoKey"
            ],
            "inputProperties": {
                "isRecursive": {
                    "type": "boolean",
                    "description": "Add this property to the selected folder and to all of artifacts and folders under this folder. Default to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e"
                },
                "itemPath": {
                    "type": "string",
                    "description": "The relative path of the item (file/folder/repository). Leave unset for repository."
                },
                "properties": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "description": "Map of key and list of values.\n"
                },
                "repoKey": {
                    "type": "string",
                    "description": "Respository key."
                }
            },
            "requiredInputs": [
                "properties",
                "repoKey"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering ItemProperties resources.\n",
                "properties": {
                    "isRecursive": {
                        "type": "boolean",
                        "description": "Add this property to the selected folder and to all of artifacts and folders under this folder. Default to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e"
                    },
                    "itemPath": {
                        "type": "string",
                        "description": "The relative path of the item (file/folder/repository). Leave unset for repository."
                    },
                    "properties": {
                        "type": "object",
                        "additionalProperties": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        },
                        "description": "Map of key and list of values.\n"
                    },
                    "repoKey": {
                        "type": "string",
                        "description": "Respository key."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/keypair:Keypair": {
            "description": "RSA key pairs are used to sign and verify the Alpine Linux index files in JFrog Artifactory, while GPG key pairs are\nused to sign and validate packages integrity in JFrog Distribution. The JFrog Platform enables you to manage multiple RSA and GPG signing keys through the Keys Management UI and REST API. The JFrog Platform supports managing multiple pairs of GPG signing keys to sign packages for authentication of several package types such as Debian, Opkg, and RPM through the Keys Management UI and REST API.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\nimport * as std from \"@pulumi/std\";\n\nconst some_keypair_6543461672124900137 = new artifactory.Keypair(\"some-keypair-6543461672124900137\", {\n    pairName: \"some-keypair-6543461672124900137\",\n    pairType: \"RSA\",\n    alias: \"some-alias-6543461672124900137\",\n    privateKey: std.file({\n        input: \"samples/rsa.priv\",\n    }).then(invoke =\u003e invoke.result),\n    publicKey: std.file({\n        input: \"samples/rsa.pub\",\n    }).then(invoke =\u003e invoke.result),\n    passphrase: \"PASSPHRASE\",\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\nimport pulumi_std as std\n\nsome_keypair_6543461672124900137 = artifactory.Keypair(\"some-keypair-6543461672124900137\",\n    pair_name=\"some-keypair-6543461672124900137\",\n    pair_type=\"RSA\",\n    alias=\"some-alias-6543461672124900137\",\n    private_key=std.file(input=\"samples/rsa.priv\").result,\n    public_key=std.file(input=\"samples/rsa.pub\").result,\n    passphrase=\"PASSPHRASE\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var some_keypair_6543461672124900137 = new Artifactory.Keypair(\"some-keypair-6543461672124900137\", new()\n    {\n        PairName = \"some-keypair-6543461672124900137\",\n        PairType = \"RSA\",\n        Alias = \"some-alias-6543461672124900137\",\n        PrivateKey = Std.File.Invoke(new()\n        {\n            Input = \"samples/rsa.priv\",\n        }).Apply(invoke =\u003e invoke.Result),\n        PublicKey = Std.File.Invoke(new()\n        {\n            Input = \"samples/rsa.pub\",\n        }).Apply(invoke =\u003e invoke.Result),\n        Passphrase = \"PASSPHRASE\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"samples/rsa.priv\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile1, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"samples/rsa.pub\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = artifactory.NewKeypair(ctx, \"some-keypair-6543461672124900137\", \u0026artifactory.KeypairArgs{\n\t\t\tPairName:   pulumi.String(\"some-keypair-6543461672124900137\"),\n\t\t\tPairType:   pulumi.String(\"RSA\"),\n\t\t\tAlias:      pulumi.String(\"some-alias-6543461672124900137\"),\n\t\t\tPrivateKey: pulumi.String(invokeFile.Result),\n\t\t\tPublicKey:  pulumi.String(invokeFile1.Result),\n\t\t\tPassphrase: pulumi.String(\"PASSPHRASE\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n    std = {\n      source = \"pulumi/std\"\n    }\n  }\n}\n\nresource \"artifactory_keypair\" \"some-keypair-6543461672124900137\" {\n  pair_name   = \"some-keypair-6543461672124900137\"\n  pair_type   = \"RSA\"\n  alias       = \"some-alias-6543461672124900137\"\n  private_key = file(\"samples/rsa.priv\")\n  public_key  = file(\"samples/rsa.pub\")\n  passphrase  = \"PASSPHRASE\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.Keypair;\nimport com.pulumi.artifactory.KeypairArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FileArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 some_keypair_6543461672124900137 = new Keypair(\"some-keypair-6543461672124900137\", KeypairArgs.builder()\n            .pairName(\"some-keypair-6543461672124900137\")\n            .pairType(\"RSA\")\n            .alias(\"some-alias-6543461672124900137\")\n            .privateKey(StdFunctions.file(FileArgs.builder()\n                .input(\"samples/rsa.priv\")\n                .build()).result())\n            .publicKey(StdFunctions.file(FileArgs.builder()\n                .input(\"samples/rsa.pub\")\n                .build()).result())\n            .passphrase(\"PASSPHRASE\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  some-keypair-6543461672124900137:\n    type: artifactory:Keypair\n    properties:\n      pairName: some-keypair-6543461672124900137\n      pairType: RSA\n      alias: some-alias-6543461672124900137\n      privateKey:\n        fn::invoke:\n          function: std:file\n          arguments:\n            input: samples/rsa.priv\n          return: result\n      publicKey:\n        fn::invoke:\n          function: std:file\n          arguments:\n            input: samples/rsa.pub\n          return: result\n      passphrase: PASSPHRASE\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nKeypair can be imported using the pair name, e.g.\n\n```sh\n$ pulumi import artifactory:index/keypair:Keypair my-keypair my-keypair-name\n```\n\n",
            "properties": {
                "alias": {
                    "type": "string",
                    "description": "Will be used as a filename when retrieving the public key via REST API.\n"
                },
                "pairName": {
                    "type": "string",
                    "description": "A unique identifier for the Key Pair record.\n"
                },
                "pairType": {
                    "type": "string",
                    "description": "Key Pair type. Supported types - GPG and RSA.\n"
                },
                "passphrase": {
                    "type": "string",
                    "description": "Passphrase will be used to decrypt the private key. Validated server side.\n",
                    "secret": true
                },
                "privateKey": {
                    "type": "string",
                    "description": "Private key. PEM format will be validated. Must not include extranous spaces or tabs.\n",
                    "secret": true
                },
                "publicKey": {
                    "type": "string",
                    "description": "Public key. PEM format will be validated. Must not include extranous spaces or tabs.\n\nArtifactory REST API call 'Get Key Pair' doesn't return attributes \u003cspan pulumi-lang-nodejs=\"`privateKey`\" pulumi-lang-dotnet=\"`PrivateKey`\" pulumi-lang-go=\"`privateKey`\" pulumi-lang-python=\"`private_key`\" pulumi-lang-yaml=\"`privateKey`\" pulumi-lang-java=\"`privateKey`\" pulumi-lang-hcl=\"`private_key`\"\u003e`privateKey`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`passphrase`\" pulumi-lang-dotnet=\"`Passphrase`\" pulumi-lang-go=\"`passphrase`\" pulumi-lang-python=\"`passphrase`\" pulumi-lang-yaml=\"`passphrase`\" pulumi-lang-java=\"`passphrase`\" pulumi-lang-hcl=\"`passphrase`\"\u003e`passphrase`\u003c/span\u003e, but consumes these keys in the POST call.\n"
                }
            },
            "required": [
                "alias",
                "pairName",
                "pairType",
                "privateKey",
                "publicKey"
            ],
            "inputProperties": {
                "alias": {
                    "type": "string",
                    "description": "Will be used as a filename when retrieving the public key via REST API.\n"
                },
                "pairName": {
                    "type": "string",
                    "description": "A unique identifier for the Key Pair record.\n"
                },
                "pairType": {
                    "type": "string",
                    "description": "Key Pair type. Supported types - GPG and RSA.\n"
                },
                "passphrase": {
                    "type": "string",
                    "description": "Passphrase will be used to decrypt the private key. Validated server side.\n",
                    "secret": true
                },
                "privateKey": {
                    "type": "string",
                    "description": "Private key. PEM format will be validated. Must not include extranous spaces or tabs.\n",
                    "secret": true
                },
                "publicKey": {
                    "type": "string",
                    "description": "Public key. PEM format will be validated. Must not include extranous spaces or tabs.\n\nArtifactory REST API call 'Get Key Pair' doesn't return attributes \u003cspan pulumi-lang-nodejs=\"`privateKey`\" pulumi-lang-dotnet=\"`PrivateKey`\" pulumi-lang-go=\"`privateKey`\" pulumi-lang-python=\"`private_key`\" pulumi-lang-yaml=\"`privateKey`\" pulumi-lang-java=\"`privateKey`\" pulumi-lang-hcl=\"`private_key`\"\u003e`privateKey`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`passphrase`\" pulumi-lang-dotnet=\"`Passphrase`\" pulumi-lang-go=\"`passphrase`\" pulumi-lang-python=\"`passphrase`\" pulumi-lang-yaml=\"`passphrase`\" pulumi-lang-java=\"`passphrase`\" pulumi-lang-hcl=\"`passphrase`\"\u003e`passphrase`\u003c/span\u003e, but consumes these keys in the POST call.\n"
                }
            },
            "requiredInputs": [
                "alias",
                "pairName",
                "pairType",
                "privateKey",
                "publicKey"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering Keypair resources.\n",
                "properties": {
                    "alias": {
                        "type": "string",
                        "description": "Will be used as a filename when retrieving the public key via REST API.\n"
                    },
                    "pairName": {
                        "type": "string",
                        "description": "A unique identifier for the Key Pair record.\n"
                    },
                    "pairType": {
                        "type": "string",
                        "description": "Key Pair type. Supported types - GPG and RSA.\n"
                    },
                    "passphrase": {
                        "type": "string",
                        "description": "Passphrase will be used to decrypt the private key. Validated server side.\n",
                        "secret": true
                    },
                    "privateKey": {
                        "type": "string",
                        "description": "Private key. PEM format will be validated. Must not include extranous spaces or tabs.\n",
                        "secret": true
                    },
                    "publicKey": {
                        "type": "string",
                        "description": "Public key. PEM format will be validated. Must not include extranous spaces or tabs.\n\nArtifactory REST API call 'Get Key Pair' doesn't return attributes \u003cspan pulumi-lang-nodejs=\"`privateKey`\" pulumi-lang-dotnet=\"`PrivateKey`\" pulumi-lang-go=\"`privateKey`\" pulumi-lang-python=\"`private_key`\" pulumi-lang-yaml=\"`privateKey`\" pulumi-lang-java=\"`privateKey`\" pulumi-lang-hcl=\"`private_key`\"\u003e`privateKey`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`passphrase`\" pulumi-lang-dotnet=\"`Passphrase`\" pulumi-lang-go=\"`passphrase`\" pulumi-lang-python=\"`passphrase`\" pulumi-lang-yaml=\"`passphrase`\" pulumi-lang-java=\"`passphrase`\" pulumi-lang-hcl=\"`passphrase`\"\u003e`passphrase`\u003c/span\u003e, but consumes these keys in the POST call.\n"
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/ldapGroupSetting:LdapGroupSetting": {
            "description": "This resource can be used to manage Artifactory's LDAP Group settings for user authentication.\n\nLDAP Groups Add-on allows you to synchronize your LDAP groups with the system and leverage your existing organizational\nstructure for managing group-based permissions.\n\n~\u003eThe \u003cspan pulumi-lang-nodejs=\"`artifactory.LdapGroupSetting`\" pulumi-lang-dotnet=\"`artifactory.LdapGroupSetting`\" pulumi-lang-go=\"`LdapGroupSetting`\" pulumi-lang-python=\"`LdapGroupSetting`\" pulumi-lang-yaml=\"`artifactory.LdapGroupSetting`\" pulumi-lang-java=\"`artifactory.LdapGroupSetting`\" pulumi-lang-hcl=\"`artifactory_ldap_group_setting`\"\u003e`artifactory.LdapGroupSetting`\u003c/span\u003e resource utilizes endpoints which are blocked/removed in SaaS environments (i.e. in Artifactory online), rendering this resource incompatible with Artifactory SaaS environments.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\n// Configure Artifactory LDAP setting\nconst ldapGroupName = new artifactory.LdapGroupSetting(\"ldap_group_name\", {\n    name: \"ldap_group_name\",\n    ldapSettingKey: \"ldap_name\",\n    groupBaseDn: \"\",\n    groupNameAttribute: \"cn\",\n    groupMemberAttribute: \"uniqueMember\",\n    subTree: true,\n    filter: \"(objectClass=groupOfNames)\",\n    descriptionAttribute: \"description\",\n    strategy: \"STATIC\",\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\n# Configure Artifactory LDAP setting\nldap_group_name = artifactory.LdapGroupSetting(\"ldap_group_name\",\n    name=\"ldap_group_name\",\n    ldap_setting_key=\"ldap_name\",\n    group_base_dn=\"\",\n    group_name_attribute=\"cn\",\n    group_member_attribute=\"uniqueMember\",\n    sub_tree=True,\n    filter=\"(objectClass=groupOfNames)\",\n    description_attribute=\"description\",\n    strategy=\"STATIC\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Configure Artifactory LDAP setting\n    var ldapGroupName = new Artifactory.LdapGroupSetting(\"ldap_group_name\", new()\n    {\n        Name = \"ldap_group_name\",\n        LdapSettingKey = \"ldap_name\",\n        GroupBaseDn = \"\",\n        GroupNameAttribute = \"cn\",\n        GroupMemberAttribute = \"uniqueMember\",\n        SubTree = true,\n        Filter = \"(objectClass=groupOfNames)\",\n        DescriptionAttribute = \"description\",\n        Strategy = \"STATIC\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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// Configure Artifactory LDAP setting\n\t\t_, err := artifactory.NewLdapGroupSetting(ctx, \"ldap_group_name\", \u0026artifactory.LdapGroupSettingArgs{\n\t\t\tName:                 pulumi.String(\"ldap_group_name\"),\n\t\t\tLdapSettingKey:       pulumi.String(\"ldap_name\"),\n\t\t\tGroupBaseDn:          pulumi.String(\"\"),\n\t\t\tGroupNameAttribute:   pulumi.String(\"cn\"),\n\t\t\tGroupMemberAttribute: pulumi.String(\"uniqueMember\"),\n\t\t\tSubTree:              pulumi.Bool(true),\n\t\t\tFilter:               pulumi.String(\"(objectClass=groupOfNames)\"),\n\t\t\tDescriptionAttribute: pulumi.String(\"description\"),\n\t\t\tStrategy:             pulumi.String(\"STATIC\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\n# Configure Artifactory LDAP setting\nresource \"artifactory_ldapgroupsetting\" \"ldap_group_name\" {\n  name                   = \"ldap_group_name\"\n  ldap_setting_key       = \"ldap_name\"\n  group_base_dn          = \"\"\n  group_name_attribute   = \"cn\"\n  group_member_attribute = \"uniqueMember\"\n  sub_tree               = true\n  filter                 = \"(objectClass=groupOfNames)\"\n  description_attribute  = \"description\"\n  strategy               = \"STATIC\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.LdapGroupSetting;\nimport com.pulumi.artifactory.LdapGroupSettingArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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        // Configure Artifactory LDAP setting\n        var ldapGroupName = new LdapGroupSetting(\"ldapGroupName\", LdapGroupSettingArgs.builder()\n            .name(\"ldap_group_name\")\n            .ldapSettingKey(\"ldap_name\")\n            .groupBaseDn(\"\")\n            .groupNameAttribute(\"cn\")\n            .groupMemberAttribute(\"uniqueMember\")\n            .subTree(true)\n            .filter(\"(objectClass=groupOfNames)\")\n            .descriptionAttribute(\"description\")\n            .strategy(\"STATIC\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Configure Artifactory LDAP setting\n  ldapGroupName:\n    type: artifactory:LdapGroupSetting\n    name: ldap_group_name\n    properties:\n      name: ldap_group_name\n      ldapSettingKey: ldap_name\n      groupBaseDn: \"\"\n      groupNameAttribute: cn\n      groupMemberAttribute: uniqueMember\n      subTree: true\n      filter: (objectClass=groupOfNames)\n      descriptionAttribute: description\n      strategy: STATIC\n```\n\u003c!--End PulumiCodeChooser --\u003e\nNote: `Name` argument has to match to the resource name.   \nReference Link: [JFrog LDAP](https://www.jfrog.com/confluence/display/JFROG/LDAP)\n\n## Import\n\nLDAP Group setting can be imported using the key, e.g.\n\n```sh\n$ pulumi import artifactory:index/ldapGroupSetting:LdapGroupSetting ldap_group_name ldap_group_name\n```\n\n",
            "properties": {
                "descriptionAttribute": {
                    "type": "string",
                    "description": "An attribute on the group entry which denoting the group description. Used when importing groups.\n"
                },
                "filter": {
                    "type": "string",
                    "description": "The LDAP filter used to search for group entries. Used for importing groups.\n"
                },
                "groupBaseDn": {
                    "type": "string",
                    "description": "A search base for group entry DNs, relative to the DN on the LDAP server’s URL (and not relative to the LDAP Setting’s “Search Base”). Used when importing groups.\n"
                },
                "groupMemberAttribute": {
                    "type": "string",
                    "description": "A multi-value attribute on the group entry containing user DNs or IDs of the group members (e.g., uniqueMember,member).\n"
                },
                "groupNameAttribute": {
                    "type": "string",
                    "description": "Attribute on the group entry denoting the group name. Used when importing groups.\n"
                },
                "ldapSettingKey": {
                    "type": "string",
                    "description": "The LDAP setting key you want to use for group retrieval. The value for this field corresponds to 'enabledLdap' field of the ldap group setting XML block of system configuration.\n"
                },
                "name": {
                    "type": "string",
                    "description": "Ldap group setting name.\n"
                },
                "strategy": {
                    "type": "string",
                    "description": "The JFrog Platform Deployment (JPD) supports three ways of mapping groups to LDAP schemas:\n- STATIC: Group objects are aware of their members, however, the users are not aware of the groups they belong to. Each group object such as groupOfNames or groupOfUniqueNames holds its respective member attributes, typically member or uniqueMember, which is a user DN.\n- DYNAMIC: User objects are aware of what groups they belong to, but the group objects are not aware of their members. Each user object contains a custom attribute, such as group, that holds the group DNs or group names of which the user is a member.\n- HIERARCHICAL: The user's DN is indicative of the groups the user belongs to by using group names as part of user DN hierarchy. Each user DN contains a list of ou's or custom attributes that make up the group association. For example, uid=user1,ou=developers,ou=uk,dc=jfrog,dc=org indicates that user1 belongs to two groups: uk and developers.\n"
                },
                "subTree": {
                    "type": "boolean",
                    "description": "When set, enables deep search through the sub-tree of the LDAP URL + Search Base. True by default.\n"
                }
            },
            "required": [
                "descriptionAttribute",
                "filter",
                "groupMemberAttribute",
                "groupNameAttribute",
                "ldapSettingKey",
                "name",
                "strategy"
            ],
            "inputProperties": {
                "descriptionAttribute": {
                    "type": "string",
                    "description": "An attribute on the group entry which denoting the group description. Used when importing groups.\n"
                },
                "filter": {
                    "type": "string",
                    "description": "The LDAP filter used to search for group entries. Used for importing groups.\n"
                },
                "groupBaseDn": {
                    "type": "string",
                    "description": "A search base for group entry DNs, relative to the DN on the LDAP server’s URL (and not relative to the LDAP Setting’s “Search Base”). Used when importing groups.\n"
                },
                "groupMemberAttribute": {
                    "type": "string",
                    "description": "A multi-value attribute on the group entry containing user DNs or IDs of the group members (e.g., uniqueMember,member).\n"
                },
                "groupNameAttribute": {
                    "type": "string",
                    "description": "Attribute on the group entry denoting the group name. Used when importing groups.\n"
                },
                "ldapSettingKey": {
                    "type": "string",
                    "description": "The LDAP setting key you want to use for group retrieval. The value for this field corresponds to 'enabledLdap' field of the ldap group setting XML block of system configuration.\n"
                },
                "name": {
                    "type": "string",
                    "description": "Ldap group setting name.\n"
                },
                "strategy": {
                    "type": "string",
                    "description": "The JFrog Platform Deployment (JPD) supports three ways of mapping groups to LDAP schemas:\n- STATIC: Group objects are aware of their members, however, the users are not aware of the groups they belong to. Each group object such as groupOfNames or groupOfUniqueNames holds its respective member attributes, typically member or uniqueMember, which is a user DN.\n- DYNAMIC: User objects are aware of what groups they belong to, but the group objects are not aware of their members. Each user object contains a custom attribute, such as group, that holds the group DNs or group names of which the user is a member.\n- HIERARCHICAL: The user's DN is indicative of the groups the user belongs to by using group names as part of user DN hierarchy. Each user DN contains a list of ou's or custom attributes that make up the group association. For example, uid=user1,ou=developers,ou=uk,dc=jfrog,dc=org indicates that user1 belongs to two groups: uk and developers.\n"
                },
                "subTree": {
                    "type": "boolean",
                    "description": "When set, enables deep search through the sub-tree of the LDAP URL + Search Base. True by default.\n"
                }
            },
            "requiredInputs": [
                "descriptionAttribute",
                "filter",
                "groupMemberAttribute",
                "groupNameAttribute",
                "ldapSettingKey",
                "strategy"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering LdapGroupSetting resources.\n",
                "properties": {
                    "descriptionAttribute": {
                        "type": "string",
                        "description": "An attribute on the group entry which denoting the group description. Used when importing groups.\n"
                    },
                    "filter": {
                        "type": "string",
                        "description": "The LDAP filter used to search for group entries. Used for importing groups.\n"
                    },
                    "groupBaseDn": {
                        "type": "string",
                        "description": "A search base for group entry DNs, relative to the DN on the LDAP server’s URL (and not relative to the LDAP Setting’s “Search Base”). Used when importing groups.\n"
                    },
                    "groupMemberAttribute": {
                        "type": "string",
                        "description": "A multi-value attribute on the group entry containing user DNs or IDs of the group members (e.g., uniqueMember,member).\n"
                    },
                    "groupNameAttribute": {
                        "type": "string",
                        "description": "Attribute on the group entry denoting the group name. Used when importing groups.\n"
                    },
                    "ldapSettingKey": {
                        "type": "string",
                        "description": "The LDAP setting key you want to use for group retrieval. The value for this field corresponds to 'enabledLdap' field of the ldap group setting XML block of system configuration.\n"
                    },
                    "name": {
                        "type": "string",
                        "description": "Ldap group setting name.\n"
                    },
                    "strategy": {
                        "type": "string",
                        "description": "The JFrog Platform Deployment (JPD) supports three ways of mapping groups to LDAP schemas:\n- STATIC: Group objects are aware of their members, however, the users are not aware of the groups they belong to. Each group object such as groupOfNames or groupOfUniqueNames holds its respective member attributes, typically member or uniqueMember, which is a user DN.\n- DYNAMIC: User objects are aware of what groups they belong to, but the group objects are not aware of their members. Each user object contains a custom attribute, such as group, that holds the group DNs or group names of which the user is a member.\n- HIERARCHICAL: The user's DN is indicative of the groups the user belongs to by using group names as part of user DN hierarchy. Each user DN contains a list of ou's or custom attributes that make up the group association. For example, uid=user1,ou=developers,ou=uk,dc=jfrog,dc=org indicates that user1 belongs to two groups: uk and developers.\n"
                    },
                    "subTree": {
                        "type": "boolean",
                        "description": "When set, enables deep search through the sub-tree of the LDAP URL + Search Base. True by default.\n"
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/ldapGroupSettingV2:LdapGroupSettingV2": {
            "description": "Provides an Artifactory LDAP Setting resource. \n\nThis resource can be used to manage Artifactory's LDAP Group settings for user authentication.\n\nLDAP Groups Add-on allows you to synchronize your LDAP groups with the system and leverage your existing organizational\nstructure for managing group-based permissions.\n\n[API documentation](https://jfrog.com/help/r/jfrog-rest-apis/ldap-group-setting), [general documentation](https://jfrog.com/help/r/jfrog-platform-administration-documentation/ldap).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst ldapGroupName = new artifactory.LdapGroupSettingV2(\"ldap_group_name\", {\n    name: \"ldap_group_name\",\n    enabledLdap: \"ldap_name\",\n    groupBaseDn: \"CN=Users,DC=MyDomain,DC=com\",\n    groupNameAttribute: \"cn\",\n    groupMemberAttribute: \"uniqueMember\",\n    subTree: true,\n    forceAttributeSearch: false,\n    filter: \"(objectClass=groupOfNames)\",\n    descriptionAttribute: \"description\",\n    strategy: \"STATIC\",\n    refreshOperation: \"UPDATE_AND_IMPORT\",\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nldap_group_name = artifactory.LdapGroupSettingV2(\"ldap_group_name\",\n    name=\"ldap_group_name\",\n    enabled_ldap=\"ldap_name\",\n    group_base_dn=\"CN=Users,DC=MyDomain,DC=com\",\n    group_name_attribute=\"cn\",\n    group_member_attribute=\"uniqueMember\",\n    sub_tree=True,\n    force_attribute_search=False,\n    filter=\"(objectClass=groupOfNames)\",\n    description_attribute=\"description\",\n    strategy=\"STATIC\",\n    refresh_operation=\"UPDATE_AND_IMPORT\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var ldapGroupName = new Artifactory.LdapGroupSettingV2(\"ldap_group_name\", new()\n    {\n        Name = \"ldap_group_name\",\n        EnabledLdap = \"ldap_name\",\n        GroupBaseDn = \"CN=Users,DC=MyDomain,DC=com\",\n        GroupNameAttribute = \"cn\",\n        GroupMemberAttribute = \"uniqueMember\",\n        SubTree = true,\n        ForceAttributeSearch = false,\n        Filter = \"(objectClass=groupOfNames)\",\n        DescriptionAttribute = \"description\",\n        Strategy = \"STATIC\",\n        RefreshOperation = \"UPDATE_AND_IMPORT\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewLdapGroupSettingV2(ctx, \"ldap_group_name\", \u0026artifactory.LdapGroupSettingV2Args{\n\t\t\tName:                 pulumi.String(\"ldap_group_name\"),\n\t\t\tEnabledLdap:          pulumi.String(\"ldap_name\"),\n\t\t\tGroupBaseDn:          pulumi.String(\"CN=Users,DC=MyDomain,DC=com\"),\n\t\t\tGroupNameAttribute:   pulumi.String(\"cn\"),\n\t\t\tGroupMemberAttribute: pulumi.String(\"uniqueMember\"),\n\t\t\tSubTree:              pulumi.Bool(true),\n\t\t\tForceAttributeSearch: pulumi.Bool(false),\n\t\t\tFilter:               pulumi.String(\"(objectClass=groupOfNames)\"),\n\t\t\tDescriptionAttribute: pulumi.String(\"description\"),\n\t\t\tStrategy:             pulumi.String(\"STATIC\"),\n\t\t\tRefreshOperation:     pulumi.String(\"UPDATE_AND_IMPORT\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_ldapgroupsettingv2\" \"ldap_group_name\" {\n  name                   = \"ldap_group_name\"\n  enabled_ldap           = \"ldap_name\"\n  group_base_dn          = \"CN=Users,DC=MyDomain,DC=com\"\n  group_name_attribute   = \"cn\"\n  group_member_attribute = \"uniqueMember\"\n  sub_tree               = true\n  force_attribute_search = false\n  filter                 = \"(objectClass=groupOfNames)\"\n  description_attribute  = \"description\"\n  strategy               = \"STATIC\"\n  refresh_operation      = \"UPDATE_AND_IMPORT\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.LdapGroupSettingV2;\nimport com.pulumi.artifactory.LdapGroupSettingV2Args;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 ldapGroupName = new LdapGroupSettingV2(\"ldapGroupName\", LdapGroupSettingV2Args.builder()\n            .name(\"ldap_group_name\")\n            .enabledLdap(\"ldap_name\")\n            .groupBaseDn(\"CN=Users,DC=MyDomain,DC=com\")\n            .groupNameAttribute(\"cn\")\n            .groupMemberAttribute(\"uniqueMember\")\n            .subTree(true)\n            .forceAttributeSearch(false)\n            .filter(\"(objectClass=groupOfNames)\")\n            .descriptionAttribute(\"description\")\n            .strategy(\"STATIC\")\n            .refreshOperation(\"UPDATE_AND_IMPORT\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  ldapGroupName:\n    type: artifactory:LdapGroupSettingV2\n    name: ldap_group_name\n    properties:\n      name: ldap_group_name\n      enabledLdap: ldap_name\n      groupBaseDn: CN=Users,DC=MyDomain,DC=com\n      groupNameAttribute: cn\n      groupMemberAttribute: uniqueMember\n      subTree: true\n      forceAttributeSearch: false\n      filter: (objectClass=groupOfNames)\n      descriptionAttribute: description\n      strategy: STATIC\n      refreshOperation: UPDATE_AND_IMPORT\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import artifactory:index/ldapGroupSettingV2:LdapGroupSettingV2 ldap ldapGroup1\n```\n\n",
            "properties": {
                "descriptionAttribute": {
                    "type": "string",
                    "description": "An attribute on the group entry which denoting the group description. Used when importing groups.\n"
                },
                "enabledLdap": {
                    "type": "string",
                    "description": "The LDAP setting key you want to use for group retrieval.\n"
                },
                "filter": {
                    "type": "string",
                    "description": "The LDAP filter used to search for group entries. Used for importing groups.\n"
                },
                "forceAttributeSearch": {
                    "type": "boolean",
                    "description": "This attribute is used in very specific cases of LDAP group settings. Don't switch it to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e, unless instructed by the JFrog support team. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                },
                "groupBaseDn": {
                    "type": "string",
                    "description": "A search base for group entry DNs, relative to the DN on the LDAP server’s URL (and not relative to the LDAP Setting’s “Search Base”). Used when importing groups.\n"
                },
                "groupMemberAttribute": {
                    "type": "string",
                    "description": "A multi-value attribute on the group entry containing user DNs or IDs of the group members (e.g., uniqueMember, member).\n"
                },
                "groupNameAttribute": {
                    "type": "string",
                    "description": "Attribute on the group entry denoting the group name. Used when importing groups.\n"
                },
                "name": {
                    "type": "string",
                    "description": "Ldap group setting name.\n"
                },
                "refreshOperation": {
                    "type": "string",
                    "description": "Operation used when refreshing LDAP groups after create/update. Valid values: `UPDATE`, `IMPORT`, `UPDATE_AND_IMPORT`. Defaults to `UPDATE_AND_IMPORT`.\n"
                },
                "strategy": {
                    "type": "string",
                    "description": "The JFrog Platform Deployment (JPD) supports three ways of mapping groups to LDAP schemas: STATIC: Group objects are aware of their members, however, the users are not aware of the groups they belong to. Each group object such as groupOfNames or groupOfUniqueNames holds its respective member attributes, typically member or uniqueMember, which is a user DN. DYNAMIC: User objects are aware of what groups they belong to, but the group objects are not aware of their members. Each user object contains a custom attribute, such as group, that holds the group DNs or group names of which the user is a member. HIERARCHICAL: The user's DN is indicative of the groups the user belongs to by using group names as part of user DN hierarchy. Each user DN contains a list of ou's or custom attributes that make up the group association. For example, `uid=user1,ou=developers,ou=uk,dc=jfrog,dc=org` indicates that \u003cspan pulumi-lang-nodejs=\"`user1`\" pulumi-lang-dotnet=\"`User1`\" pulumi-lang-go=\"`user1`\" pulumi-lang-python=\"`user1`\" pulumi-lang-yaml=\"`user1`\" pulumi-lang-java=\"`user1`\" pulumi-lang-hcl=\"`user1`\"\u003e`user1`\u003c/span\u003e belongs to two groups: \u003cspan pulumi-lang-nodejs=\"`uk`\" pulumi-lang-dotnet=\"`Uk`\" pulumi-lang-go=\"`uk`\" pulumi-lang-python=\"`uk`\" pulumi-lang-yaml=\"`uk`\" pulumi-lang-java=\"`uk`\" pulumi-lang-hcl=\"`uk`\"\u003e`uk`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`developers`\" pulumi-lang-dotnet=\"`Developers`\" pulumi-lang-go=\"`developers`\" pulumi-lang-python=\"`developers`\" pulumi-lang-yaml=\"`developers`\" pulumi-lang-java=\"`developers`\" pulumi-lang-hcl=\"`developers`\"\u003e`developers`\u003c/span\u003e. Valid values are: `STATIC`, `DYNAMIC`, `HIERARCHICAL`, case sensitive, all caps.\n"
                },
                "subTree": {
                    "type": "boolean",
                    "description": "When set, enables deep search through the sub-tree of the LDAP URL + Search Base. \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e by default. \u003cspan pulumi-lang-nodejs=\"`subTree`\" pulumi-lang-dotnet=\"`SubTree`\" pulumi-lang-go=\"`subTree`\" pulumi-lang-python=\"`sub_tree`\" pulumi-lang-yaml=\"`subTree`\" pulumi-lang-java=\"`subTree`\" pulumi-lang-hcl=\"`sub_tree`\"\u003e`subTree`\u003c/span\u003e can be set to true only with `STATIC` or `DYNAMIC` strategy.\n"
                }
            },
            "required": [
                "descriptionAttribute",
                "enabledLdap",
                "filter",
                "forceAttributeSearch",
                "groupBaseDn",
                "groupMemberAttribute",
                "groupNameAttribute",
                "name",
                "refreshOperation",
                "strategy",
                "subTree"
            ],
            "inputProperties": {
                "descriptionAttribute": {
                    "type": "string",
                    "description": "An attribute on the group entry which denoting the group description. Used when importing groups.\n"
                },
                "enabledLdap": {
                    "type": "string",
                    "description": "The LDAP setting key you want to use for group retrieval.\n"
                },
                "filter": {
                    "type": "string",
                    "description": "The LDAP filter used to search for group entries. Used for importing groups.\n"
                },
                "forceAttributeSearch": {
                    "type": "boolean",
                    "description": "This attribute is used in very specific cases of LDAP group settings. Don't switch it to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e, unless instructed by the JFrog support team. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                },
                "groupBaseDn": {
                    "type": "string",
                    "description": "A search base for group entry DNs, relative to the DN on the LDAP server’s URL (and not relative to the LDAP Setting’s “Search Base”). Used when importing groups.\n"
                },
                "groupMemberAttribute": {
                    "type": "string",
                    "description": "A multi-value attribute on the group entry containing user DNs or IDs of the group members (e.g., uniqueMember, member).\n"
                },
                "groupNameAttribute": {
                    "type": "string",
                    "description": "Attribute on the group entry denoting the group name. Used when importing groups.\n"
                },
                "name": {
                    "type": "string",
                    "description": "Ldap group setting name.\n"
                },
                "refreshOperation": {
                    "type": "string",
                    "description": "Operation used when refreshing LDAP groups after create/update. Valid values: `UPDATE`, `IMPORT`, `UPDATE_AND_IMPORT`. Defaults to `UPDATE_AND_IMPORT`.\n"
                },
                "strategy": {
                    "type": "string",
                    "description": "The JFrog Platform Deployment (JPD) supports three ways of mapping groups to LDAP schemas: STATIC: Group objects are aware of their members, however, the users are not aware of the groups they belong to. Each group object such as groupOfNames or groupOfUniqueNames holds its respective member attributes, typically member or uniqueMember, which is a user DN. DYNAMIC: User objects are aware of what groups they belong to, but the group objects are not aware of their members. Each user object contains a custom attribute, such as group, that holds the group DNs or group names of which the user is a member. HIERARCHICAL: The user's DN is indicative of the groups the user belongs to by using group names as part of user DN hierarchy. Each user DN contains a list of ou's or custom attributes that make up the group association. For example, `uid=user1,ou=developers,ou=uk,dc=jfrog,dc=org` indicates that \u003cspan pulumi-lang-nodejs=\"`user1`\" pulumi-lang-dotnet=\"`User1`\" pulumi-lang-go=\"`user1`\" pulumi-lang-python=\"`user1`\" pulumi-lang-yaml=\"`user1`\" pulumi-lang-java=\"`user1`\" pulumi-lang-hcl=\"`user1`\"\u003e`user1`\u003c/span\u003e belongs to two groups: \u003cspan pulumi-lang-nodejs=\"`uk`\" pulumi-lang-dotnet=\"`Uk`\" pulumi-lang-go=\"`uk`\" pulumi-lang-python=\"`uk`\" pulumi-lang-yaml=\"`uk`\" pulumi-lang-java=\"`uk`\" pulumi-lang-hcl=\"`uk`\"\u003e`uk`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`developers`\" pulumi-lang-dotnet=\"`Developers`\" pulumi-lang-go=\"`developers`\" pulumi-lang-python=\"`developers`\" pulumi-lang-yaml=\"`developers`\" pulumi-lang-java=\"`developers`\" pulumi-lang-hcl=\"`developers`\"\u003e`developers`\u003c/span\u003e. Valid values are: `STATIC`, `DYNAMIC`, `HIERARCHICAL`, case sensitive, all caps.\n"
                },
                "subTree": {
                    "type": "boolean",
                    "description": "When set, enables deep search through the sub-tree of the LDAP URL + Search Base. \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e by default. \u003cspan pulumi-lang-nodejs=\"`subTree`\" pulumi-lang-dotnet=\"`SubTree`\" pulumi-lang-go=\"`subTree`\" pulumi-lang-python=\"`sub_tree`\" pulumi-lang-yaml=\"`subTree`\" pulumi-lang-java=\"`subTree`\" pulumi-lang-hcl=\"`sub_tree`\"\u003e`subTree`\u003c/span\u003e can be set to true only with `STATIC` or `DYNAMIC` strategy.\n"
                }
            },
            "requiredInputs": [
                "descriptionAttribute",
                "filter",
                "groupMemberAttribute",
                "groupNameAttribute",
                "strategy"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering LdapGroupSettingV2 resources.\n",
                "properties": {
                    "descriptionAttribute": {
                        "type": "string",
                        "description": "An attribute on the group entry which denoting the group description. Used when importing groups.\n"
                    },
                    "enabledLdap": {
                        "type": "string",
                        "description": "The LDAP setting key you want to use for group retrieval.\n"
                    },
                    "filter": {
                        "type": "string",
                        "description": "The LDAP filter used to search for group entries. Used for importing groups.\n"
                    },
                    "forceAttributeSearch": {
                        "type": "boolean",
                        "description": "This attribute is used in very specific cases of LDAP group settings. Don't switch it to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e, unless instructed by the JFrog support team. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                    },
                    "groupBaseDn": {
                        "type": "string",
                        "description": "A search base for group entry DNs, relative to the DN on the LDAP server’s URL (and not relative to the LDAP Setting’s “Search Base”). Used when importing groups.\n"
                    },
                    "groupMemberAttribute": {
                        "type": "string",
                        "description": "A multi-value attribute on the group entry containing user DNs or IDs of the group members (e.g., uniqueMember, member).\n"
                    },
                    "groupNameAttribute": {
                        "type": "string",
                        "description": "Attribute on the group entry denoting the group name. Used when importing groups.\n"
                    },
                    "name": {
                        "type": "string",
                        "description": "Ldap group setting name.\n"
                    },
                    "refreshOperation": {
                        "type": "string",
                        "description": "Operation used when refreshing LDAP groups after create/update. Valid values: `UPDATE`, `IMPORT`, `UPDATE_AND_IMPORT`. Defaults to `UPDATE_AND_IMPORT`.\n"
                    },
                    "strategy": {
                        "type": "string",
                        "description": "The JFrog Platform Deployment (JPD) supports three ways of mapping groups to LDAP schemas: STATIC: Group objects are aware of their members, however, the users are not aware of the groups they belong to. Each group object such as groupOfNames or groupOfUniqueNames holds its respective member attributes, typically member or uniqueMember, which is a user DN. DYNAMIC: User objects are aware of what groups they belong to, but the group objects are not aware of their members. Each user object contains a custom attribute, such as group, that holds the group DNs or group names of which the user is a member. HIERARCHICAL: The user's DN is indicative of the groups the user belongs to by using group names as part of user DN hierarchy. Each user DN contains a list of ou's or custom attributes that make up the group association. For example, `uid=user1,ou=developers,ou=uk,dc=jfrog,dc=org` indicates that \u003cspan pulumi-lang-nodejs=\"`user1`\" pulumi-lang-dotnet=\"`User1`\" pulumi-lang-go=\"`user1`\" pulumi-lang-python=\"`user1`\" pulumi-lang-yaml=\"`user1`\" pulumi-lang-java=\"`user1`\" pulumi-lang-hcl=\"`user1`\"\u003e`user1`\u003c/span\u003e belongs to two groups: \u003cspan pulumi-lang-nodejs=\"`uk`\" pulumi-lang-dotnet=\"`Uk`\" pulumi-lang-go=\"`uk`\" pulumi-lang-python=\"`uk`\" pulumi-lang-yaml=\"`uk`\" pulumi-lang-java=\"`uk`\" pulumi-lang-hcl=\"`uk`\"\u003e`uk`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`developers`\" pulumi-lang-dotnet=\"`Developers`\" pulumi-lang-go=\"`developers`\" pulumi-lang-python=\"`developers`\" pulumi-lang-yaml=\"`developers`\" pulumi-lang-java=\"`developers`\" pulumi-lang-hcl=\"`developers`\"\u003e`developers`\u003c/span\u003e. Valid values are: `STATIC`, `DYNAMIC`, `HIERARCHICAL`, case sensitive, all caps.\n"
                    },
                    "subTree": {
                        "type": "boolean",
                        "description": "When set, enables deep search through the sub-tree of the LDAP URL + Search Base. \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e by default. \u003cspan pulumi-lang-nodejs=\"`subTree`\" pulumi-lang-dotnet=\"`SubTree`\" pulumi-lang-go=\"`subTree`\" pulumi-lang-python=\"`sub_tree`\" pulumi-lang-yaml=\"`subTree`\" pulumi-lang-java=\"`subTree`\" pulumi-lang-hcl=\"`sub_tree`\"\u003e`subTree`\u003c/span\u003e can be set to true only with `STATIC` or `DYNAMIC` strategy.\n"
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/ldapSetting:LdapSetting": {
            "description": "This resource can be used to manage Artifactory's LDAP settings for user authentication.\n\nWhen specified LDAP setting is active, Artifactory first attempts to authenticate the user against the LDAP server.\nIf LDAP authentication fails, it then tries to authenticate via its internal database.\n\n~\u003eThe \u003cspan pulumi-lang-nodejs=\"`artifactory.LdapSetting`\" pulumi-lang-dotnet=\"`artifactory.LdapSetting`\" pulumi-lang-go=\"`LdapSetting`\" pulumi-lang-python=\"`LdapSetting`\" pulumi-lang-yaml=\"`artifactory.LdapSetting`\" pulumi-lang-java=\"`artifactory.LdapSetting`\" pulumi-lang-hcl=\"`artifactory_ldap_setting`\"\u003e`artifactory.LdapSetting`\u003c/span\u003e resource utilizes endpoints which are blocked/removed in SaaS environments (i.e. in Artifactory online), rendering this resource incompatible with Artifactory SaaS environments.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\n// Configure Artifactory LDAP setting\nconst ldapName = new artifactory.LdapSetting(\"ldap_name\", {\n    key: \"ldap_name\",\n    enabled: true,\n    ldapUrl: \"ldap://ldap_server_url\",\n    userDnPattern: \"uid={0},ou=People\",\n    emailAttribute: \"mail\",\n    autoCreateUser: true,\n    ldapPoisoningProtection: true,\n    allowUserToAccessProfile: false,\n    pagingSupportEnabled: false,\n    searchFilter: \"(uid={0})\",\n    searchBase: \"ou=users\",\n    searchSubTree: true,\n    managerDn: \"mgr_dn\",\n    managerPassword: \"mgr_passwd_random\",\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\n# Configure Artifactory LDAP setting\nldap_name = artifactory.LdapSetting(\"ldap_name\",\n    key=\"ldap_name\",\n    enabled=True,\n    ldap_url=\"ldap://ldap_server_url\",\n    user_dn_pattern=\"uid={0},ou=People\",\n    email_attribute=\"mail\",\n    auto_create_user=True,\n    ldap_poisoning_protection=True,\n    allow_user_to_access_profile=False,\n    paging_support_enabled=False,\n    search_filter=\"(uid={0})\",\n    search_base=\"ou=users\",\n    search_sub_tree=True,\n    manager_dn=\"mgr_dn\",\n    manager_password=\"mgr_passwd_random\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Configure Artifactory LDAP setting\n    var ldapName = new Artifactory.LdapSetting(\"ldap_name\", new()\n    {\n        Key = \"ldap_name\",\n        Enabled = true,\n        LdapUrl = \"ldap://ldap_server_url\",\n        UserDnPattern = \"uid={0},ou=People\",\n        EmailAttribute = \"mail\",\n        AutoCreateUser = true,\n        LdapPoisoningProtection = true,\n        AllowUserToAccessProfile = false,\n        PagingSupportEnabled = false,\n        SearchFilter = \"(uid={0})\",\n        SearchBase = \"ou=users\",\n        SearchSubTree = true,\n        ManagerDn = \"mgr_dn\",\n        ManagerPassword = \"mgr_passwd_random\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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// Configure Artifactory LDAP setting\n\t\t_, err := artifactory.NewLdapSetting(ctx, \"ldap_name\", \u0026artifactory.LdapSettingArgs{\n\t\t\tKey:                      pulumi.String(\"ldap_name\"),\n\t\t\tEnabled:                  pulumi.Bool(true),\n\t\t\tLdapUrl:                  pulumi.String(\"ldap://ldap_server_url\"),\n\t\t\tUserDnPattern:            pulumi.String(\"uid={0},ou=People\"),\n\t\t\tEmailAttribute:           pulumi.String(\"mail\"),\n\t\t\tAutoCreateUser:           pulumi.Bool(true),\n\t\t\tLdapPoisoningProtection:  pulumi.Bool(true),\n\t\t\tAllowUserToAccessProfile: pulumi.Bool(false),\n\t\t\tPagingSupportEnabled:     pulumi.Bool(false),\n\t\t\tSearchFilter:             pulumi.String(\"(uid={0})\"),\n\t\t\tSearchBase:               pulumi.String(\"ou=users\"),\n\t\t\tSearchSubTree:            pulumi.Bool(true),\n\t\t\tManagerDn:                pulumi.String(\"mgr_dn\"),\n\t\t\tManagerPassword:          pulumi.String(\"mgr_passwd_random\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\n# Configure Artifactory LDAP setting\nresource \"artifactory_ldapsetting\" \"ldap_name\" {\n  key                          = \"ldap_name\"\n  enabled                      = true\n  ldap_url                     = \"ldap://ldap_server_url\"\n  user_dn_pattern              = \"uid={0},ou=People\"\n  email_attribute              = \"mail\"\n  auto_create_user             = true\n  ldap_poisoning_protection    = true\n  allow_user_to_access_profile = false\n  paging_support_enabled       = false\n  search_filter                = \"(uid={0})\"\n  search_base                  = \"ou=users\"\n  search_sub_tree              = true\n  manager_dn                   = \"mgr_dn\"\n  manager_password             = \"mgr_passwd_random\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.LdapSetting;\nimport com.pulumi.artifactory.LdapSettingArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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        // Configure Artifactory LDAP setting\n        var ldapName = new LdapSetting(\"ldapName\", LdapSettingArgs.builder()\n            .key(\"ldap_name\")\n            .enabled(true)\n            .ldapUrl(\"ldap://ldap_server_url\")\n            .userDnPattern(\"uid={0},ou=People\")\n            .emailAttribute(\"mail\")\n            .autoCreateUser(true)\n            .ldapPoisoningProtection(true)\n            .allowUserToAccessProfile(false)\n            .pagingSupportEnabled(false)\n            .searchFilter(\"(uid={0})\")\n            .searchBase(\"ou=users\")\n            .searchSubTree(true)\n            .managerDn(\"mgr_dn\")\n            .managerPassword(\"mgr_passwd_random\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Configure Artifactory LDAP setting\n  ldapName:\n    type: artifactory:LdapSetting\n    name: ldap_name\n    properties:\n      key: ldap_name\n      enabled: true\n      ldapUrl: ldap://ldap_server_url\n      userDnPattern: uid={0},ou=People\n      emailAttribute: mail\n      autoCreateUser: true\n      ldapPoisoningProtection: true\n      allowUserToAccessProfile: false\n      pagingSupportEnabled: false\n      searchFilter: (uid={0})\n      searchBase: ou=users\n      searchSubTree: true\n      managerDn: mgr_dn\n      managerPassword: mgr_passwd_random\n```\n\u003c!--End PulumiCodeChooser --\u003e\nNote: `Key` argument has to match to the resource name.   \nReference Link: [JFrog LDAP](https://www.jfrog.com/confluence/display/JFROG/LDAP)\n\n## Import\n\nLDAP setting can be imported using the key, e.g.\n\n```sh\n$ pulumi import artifactory:index/ldapSetting:LdapSetting ldap_name ldap_name\n```\n\n",
            "properties": {
                "allowUserToAccessProfile": {
                    "type": "boolean",
                    "description": "When set, users created after logging in using LDAP will be able to access their profile page.  Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                },
                "autoCreateUser": {
                    "type": "boolean",
                    "description": "When set, the system will automatically create new users for those who have logged in using LDAP, and assign them to the default groups.  Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                },
                "emailAttribute": {
                    "type": "string",
                    "description": "An attribute that can be used to map a user's email address to a user created automatically in Artifactory. Default value is \u003cspan pulumi-lang-nodejs=\"`mail`\" pulumi-lang-dotnet=\"`Mail`\" pulumi-lang-go=\"`mail`\" pulumi-lang-python=\"`mail`\" pulumi-lang-yaml=\"`mail`\" pulumi-lang-java=\"`mail`\" pulumi-lang-hcl=\"`mail`\"\u003e`mail`\u003c/span\u003e.\n- Note: If blank/empty string input was set for email_attribute, Default value \u003cspan pulumi-lang-nodejs=\"`mail`\" pulumi-lang-dotnet=\"`Mail`\" pulumi-lang-go=\"`mail`\" pulumi-lang-python=\"`mail`\" pulumi-lang-yaml=\"`mail`\" pulumi-lang-java=\"`mail`\" pulumi-lang-hcl=\"`mail`\"\u003e`mail`\u003c/span\u003e takes effect. This is to match with Artifactory behavior.\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "When set, these settings are enabled. Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                },
                "key": {
                    "type": "string",
                    "description": "The unique ID of the LDAP setting.\n"
                },
                "ldapPoisoningProtection": {
                    "type": "boolean",
                    "description": "Protects against LDAP poisoning by filtering out users exposed to vulnerabilities.  Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                },
                "ldapUrl": {
                    "type": "string",
                    "description": "Location of the LDAP server in the following format: ldap://myserver:myport/dc=sampledomain,dc=com. The URL should include the base DN used to search for and/or authenticate users.\n"
                },
                "managerDn": {
                    "type": "string",
                    "description": "The full DN of a user with permissions that allow querying the LDAP server. When working with LDAP Groups, the user should have permissions for any extra group attributes such as memberOf.\n"
                },
                "managerPassword": {
                    "type": "string",
                    "description": "The password of the user binding to the LDAP server when using \"search\" authentication.\n",
                    "secret": true
                },
                "pagingSupportEnabled": {
                    "type": "boolean",
                    "description": "When set, supports paging results for the LDAP server. This feature requires that the LDAP Server supports a PagedResultsControl configuration.  Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                },
                "searchBase": {
                    "type": "string",
                    "description": "The Context name in which to search relative to the base DN in the LDAP URL. Multiple search bases may be specified separated by a pipe ( | ).\n"
                },
                "searchFilter": {
                    "type": "string",
                    "description": "A filter expression used to search for the user DN that is used in LDAP authentication. This is an LDAP search filter (as defined in 'RFC 2254') with optional arguments. In this case, the username is the only argument, denoted by '{0}'. Possible examples are: uid={0}) - this would search for a username match on the uid attribute. Authentication using LDAP is performed from the DN found if successful. Default value is blank/empty.\n- Note: LDAP settings should provide a userDnPattern or a searchFilter (or both)\n"
                },
                "searchSubTree": {
                    "type": "boolean",
                    "description": "When set, enables deep search through the sub-tree of the LDAP URL + Search Base.  Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                },
                "userDnPattern": {
                    "type": "string",
                    "description": "A DN pattern used to log users directly in to the LDAP database. This pattern is used to create a DN string for \"direct\" user authentication, and is relative to the base DN in the LDAP URL. The pattern argument {0} is replaced with the username at runtime. This only works if anonymous binding is allowed and a direct user DN can be used (which is not the default case for Active Directory). For example: uid={0},ou=People. Default value is blank/empty.\n- Note: LDAP settings should provide a userDnPattern or a searchFilter (or both).\n"
                }
            },
            "required": [
                "key",
                "ldapUrl",
                "managerPassword"
            ],
            "inputProperties": {
                "allowUserToAccessProfile": {
                    "type": "boolean",
                    "description": "When set, users created after logging in using LDAP will be able to access their profile page.  Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                },
                "autoCreateUser": {
                    "type": "boolean",
                    "description": "When set, the system will automatically create new users for those who have logged in using LDAP, and assign them to the default groups.  Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                },
                "emailAttribute": {
                    "type": "string",
                    "description": "An attribute that can be used to map a user's email address to a user created automatically in Artifactory. Default value is \u003cspan pulumi-lang-nodejs=\"`mail`\" pulumi-lang-dotnet=\"`Mail`\" pulumi-lang-go=\"`mail`\" pulumi-lang-python=\"`mail`\" pulumi-lang-yaml=\"`mail`\" pulumi-lang-java=\"`mail`\" pulumi-lang-hcl=\"`mail`\"\u003e`mail`\u003c/span\u003e.\n- Note: If blank/empty string input was set for email_attribute, Default value \u003cspan pulumi-lang-nodejs=\"`mail`\" pulumi-lang-dotnet=\"`Mail`\" pulumi-lang-go=\"`mail`\" pulumi-lang-python=\"`mail`\" pulumi-lang-yaml=\"`mail`\" pulumi-lang-java=\"`mail`\" pulumi-lang-hcl=\"`mail`\"\u003e`mail`\u003c/span\u003e takes effect. This is to match with Artifactory behavior.\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "When set, these settings are enabled. Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                },
                "key": {
                    "type": "string",
                    "description": "The unique ID of the LDAP setting.\n"
                },
                "ldapPoisoningProtection": {
                    "type": "boolean",
                    "description": "Protects against LDAP poisoning by filtering out users exposed to vulnerabilities.  Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                },
                "ldapUrl": {
                    "type": "string",
                    "description": "Location of the LDAP server in the following format: ldap://myserver:myport/dc=sampledomain,dc=com. The URL should include the base DN used to search for and/or authenticate users.\n"
                },
                "managerDn": {
                    "type": "string",
                    "description": "The full DN of a user with permissions that allow querying the LDAP server. When working with LDAP Groups, the user should have permissions for any extra group attributes such as memberOf.\n"
                },
                "managerPassword": {
                    "type": "string",
                    "description": "The password of the user binding to the LDAP server when using \"search\" authentication.\n",
                    "secret": true
                },
                "pagingSupportEnabled": {
                    "type": "boolean",
                    "description": "When set, supports paging results for the LDAP server. This feature requires that the LDAP Server supports a PagedResultsControl configuration.  Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                },
                "searchBase": {
                    "type": "string",
                    "description": "The Context name in which to search relative to the base DN in the LDAP URL. Multiple search bases may be specified separated by a pipe ( | ).\n"
                },
                "searchFilter": {
                    "type": "string",
                    "description": "A filter expression used to search for the user DN that is used in LDAP authentication. This is an LDAP search filter (as defined in 'RFC 2254') with optional arguments. In this case, the username is the only argument, denoted by '{0}'. Possible examples are: uid={0}) - this would search for a username match on the uid attribute. Authentication using LDAP is performed from the DN found if successful. Default value is blank/empty.\n- Note: LDAP settings should provide a userDnPattern or a searchFilter (or both)\n"
                },
                "searchSubTree": {
                    "type": "boolean",
                    "description": "When set, enables deep search through the sub-tree of the LDAP URL + Search Base.  Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                },
                "userDnPattern": {
                    "type": "string",
                    "description": "A DN pattern used to log users directly in to the LDAP database. This pattern is used to create a DN string for \"direct\" user authentication, and is relative to the base DN in the LDAP URL. The pattern argument {0} is replaced with the username at runtime. This only works if anonymous binding is allowed and a direct user DN can be used (which is not the default case for Active Directory). For example: uid={0},ou=People. Default value is blank/empty.\n- Note: LDAP settings should provide a userDnPattern or a searchFilter (or both).\n"
                }
            },
            "requiredInputs": [
                "key",
                "ldapUrl"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering LdapSetting resources.\n",
                "properties": {
                    "allowUserToAccessProfile": {
                        "type": "boolean",
                        "description": "When set, users created after logging in using LDAP will be able to access their profile page.  Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                    },
                    "autoCreateUser": {
                        "type": "boolean",
                        "description": "When set, the system will automatically create new users for those who have logged in using LDAP, and assign them to the default groups.  Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                    },
                    "emailAttribute": {
                        "type": "string",
                        "description": "An attribute that can be used to map a user's email address to a user created automatically in Artifactory. Default value is \u003cspan pulumi-lang-nodejs=\"`mail`\" pulumi-lang-dotnet=\"`Mail`\" pulumi-lang-go=\"`mail`\" pulumi-lang-python=\"`mail`\" pulumi-lang-yaml=\"`mail`\" pulumi-lang-java=\"`mail`\" pulumi-lang-hcl=\"`mail`\"\u003e`mail`\u003c/span\u003e.\n- Note: If blank/empty string input was set for email_attribute, Default value \u003cspan pulumi-lang-nodejs=\"`mail`\" pulumi-lang-dotnet=\"`Mail`\" pulumi-lang-go=\"`mail`\" pulumi-lang-python=\"`mail`\" pulumi-lang-yaml=\"`mail`\" pulumi-lang-java=\"`mail`\" pulumi-lang-hcl=\"`mail`\"\u003e`mail`\u003c/span\u003e takes effect. This is to match with Artifactory behavior.\n"
                    },
                    "enabled": {
                        "type": "boolean",
                        "description": "When set, these settings are enabled. Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                    },
                    "key": {
                        "type": "string",
                        "description": "The unique ID of the LDAP setting.\n"
                    },
                    "ldapPoisoningProtection": {
                        "type": "boolean",
                        "description": "Protects against LDAP poisoning by filtering out users exposed to vulnerabilities.  Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                    },
                    "ldapUrl": {
                        "type": "string",
                        "description": "Location of the LDAP server in the following format: ldap://myserver:myport/dc=sampledomain,dc=com. The URL should include the base DN used to search for and/or authenticate users.\n"
                    },
                    "managerDn": {
                        "type": "string",
                        "description": "The full DN of a user with permissions that allow querying the LDAP server. When working with LDAP Groups, the user should have permissions for any extra group attributes such as memberOf.\n"
                    },
                    "managerPassword": {
                        "type": "string",
                        "description": "The password of the user binding to the LDAP server when using \"search\" authentication.\n",
                        "secret": true
                    },
                    "pagingSupportEnabled": {
                        "type": "boolean",
                        "description": "When set, supports paging results for the LDAP server. This feature requires that the LDAP Server supports a PagedResultsControl configuration.  Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                    },
                    "searchBase": {
                        "type": "string",
                        "description": "The Context name in which to search relative to the base DN in the LDAP URL. Multiple search bases may be specified separated by a pipe ( | ).\n"
                    },
                    "searchFilter": {
                        "type": "string",
                        "description": "A filter expression used to search for the user DN that is used in LDAP authentication. This is an LDAP search filter (as defined in 'RFC 2254') with optional arguments. In this case, the username is the only argument, denoted by '{0}'. Possible examples are: uid={0}) - this would search for a username match on the uid attribute. Authentication using LDAP is performed from the DN found if successful. Default value is blank/empty.\n- Note: LDAP settings should provide a userDnPattern or a searchFilter (or both)\n"
                    },
                    "searchSubTree": {
                        "type": "boolean",
                        "description": "When set, enables deep search through the sub-tree of the LDAP URL + Search Base.  Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                    },
                    "userDnPattern": {
                        "type": "string",
                        "description": "A DN pattern used to log users directly in to the LDAP database. This pattern is used to create a DN string for \"direct\" user authentication, and is relative to the base DN in the LDAP URL. The pattern argument {0} is replaced with the username at runtime. This only works if anonymous binding is allowed and a direct user DN can be used (which is not the default case for Active Directory). For example: uid={0},ou=People. Default value is blank/empty.\n- Note: LDAP settings should provide a userDnPattern or a searchFilter (or both).\n"
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/ldapSettingV2:LdapSettingV2": {
            "description": "Provides an Artifactory LDAP Setting resource. \n\nThis resource can be used to manage Artifactory's LDAP settings for user authentication.\n\nWhen specified LDAP setting is active, Artifactory first attempts to authenticate the user against the LDAP server.\nIf LDAP authentication fails, it then tries to authenticate via its internal database.\n\n[API documentation](https://jfrog.com/help/r/jfrog-rest-apis/ldap-setting), [general documentation](https://jfrog.com/help/r/jfrog-platform-administration-documentation/ldap).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst ldapName = new artifactory.LdapSettingV2(\"ldap_name\", {\n    key: \"ldap_name\",\n    enabled: true,\n    ldapUrl: \"ldap://ldap_server_url\",\n    userDnPattern: \"uid={0},ou=People\",\n    emailAttribute: \"mail\",\n    autoCreateUser: true,\n    ldapPoisoningProtection: true,\n    allowUserToAccessProfile: false,\n    pagingSupportEnabled: false,\n    searchFilter: \"(uid={0})\",\n    searchBase: \"ou=users\",\n    searchSubTree: true,\n    managerDn: \"mgr_dn\",\n    managerPassword: \"mgr_passwd_random\",\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nldap_name = artifactory.LdapSettingV2(\"ldap_name\",\n    key=\"ldap_name\",\n    enabled=True,\n    ldap_url=\"ldap://ldap_server_url\",\n    user_dn_pattern=\"uid={0},ou=People\",\n    email_attribute=\"mail\",\n    auto_create_user=True,\n    ldap_poisoning_protection=True,\n    allow_user_to_access_profile=False,\n    paging_support_enabled=False,\n    search_filter=\"(uid={0})\",\n    search_base=\"ou=users\",\n    search_sub_tree=True,\n    manager_dn=\"mgr_dn\",\n    manager_password=\"mgr_passwd_random\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var ldapName = new Artifactory.LdapSettingV2(\"ldap_name\", new()\n    {\n        Key = \"ldap_name\",\n        Enabled = true,\n        LdapUrl = \"ldap://ldap_server_url\",\n        UserDnPattern = \"uid={0},ou=People\",\n        EmailAttribute = \"mail\",\n        AutoCreateUser = true,\n        LdapPoisoningProtection = true,\n        AllowUserToAccessProfile = false,\n        PagingSupportEnabled = false,\n        SearchFilter = \"(uid={0})\",\n        SearchBase = \"ou=users\",\n        SearchSubTree = true,\n        ManagerDn = \"mgr_dn\",\n        ManagerPassword = \"mgr_passwd_random\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewLdapSettingV2(ctx, \"ldap_name\", \u0026artifactory.LdapSettingV2Args{\n\t\t\tKey:                      pulumi.String(\"ldap_name\"),\n\t\t\tEnabled:                  pulumi.Bool(true),\n\t\t\tLdapUrl:                  pulumi.String(\"ldap://ldap_server_url\"),\n\t\t\tUserDnPattern:            pulumi.String(\"uid={0},ou=People\"),\n\t\t\tEmailAttribute:           pulumi.String(\"mail\"),\n\t\t\tAutoCreateUser:           pulumi.Bool(true),\n\t\t\tLdapPoisoningProtection:  pulumi.Bool(true),\n\t\t\tAllowUserToAccessProfile: pulumi.Bool(false),\n\t\t\tPagingSupportEnabled:     pulumi.Bool(false),\n\t\t\tSearchFilter:             pulumi.String(\"(uid={0})\"),\n\t\t\tSearchBase:               pulumi.String(\"ou=users\"),\n\t\t\tSearchSubTree:            pulumi.Bool(true),\n\t\t\tManagerDn:                pulumi.String(\"mgr_dn\"),\n\t\t\tManagerPassword:          pulumi.String(\"mgr_passwd_random\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_ldapsettingv2\" \"ldap_name\" {\n  key                          = \"ldap_name\"\n  enabled                      = true\n  ldap_url                     = \"ldap://ldap_server_url\"\n  user_dn_pattern              = \"uid={0},ou=People\"\n  email_attribute              = \"mail\"\n  auto_create_user             = true\n  ldap_poisoning_protection    = true\n  allow_user_to_access_profile = false\n  paging_support_enabled       = false\n  search_filter                = \"(uid={0})\"\n  search_base                  = \"ou=users\"\n  search_sub_tree              = true\n  manager_dn                   = \"mgr_dn\"\n  manager_password             = \"mgr_passwd_random\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.LdapSettingV2;\nimport com.pulumi.artifactory.LdapSettingV2Args;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 ldapName = new LdapSettingV2(\"ldapName\", LdapSettingV2Args.builder()\n            .key(\"ldap_name\")\n            .enabled(true)\n            .ldapUrl(\"ldap://ldap_server_url\")\n            .userDnPattern(\"uid={0},ou=People\")\n            .emailAttribute(\"mail\")\n            .autoCreateUser(true)\n            .ldapPoisoningProtection(true)\n            .allowUserToAccessProfile(false)\n            .pagingSupportEnabled(false)\n            .searchFilter(\"(uid={0})\")\n            .searchBase(\"ou=users\")\n            .searchSubTree(true)\n            .managerDn(\"mgr_dn\")\n            .managerPassword(\"mgr_passwd_random\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  ldapName:\n    type: artifactory:LdapSettingV2\n    name: ldap_name\n    properties:\n      key: ldap_name\n      enabled: true\n      ldapUrl: ldap://ldap_server_url\n      userDnPattern: uid={0},ou=People\n      emailAttribute: mail\n      autoCreateUser: true\n      ldapPoisoningProtection: true\n      allowUserToAccessProfile: false\n      pagingSupportEnabled: false\n      searchFilter: (uid={0})\n      searchBase: ou=users\n      searchSubTree: true\n      managerDn: mgr_dn\n      managerPassword: mgr_passwd_random\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import artifactory:index/ldapSettingV2:LdapSettingV2 ldap ldap1\n```\n\n",
            "properties": {
                "allowUserToAccessProfile": {
                    "type": "boolean",
                    "description": "Auto created users will have access to their profile page and will be able to perform actions such as generating an API key. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                },
                "autoCreateUser": {
                    "type": "boolean",
                    "description": "When set, users are automatically created when using LDAP. Otherwise, users are transient and associated with auto-join groups defined in Artifactory. Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                },
                "emailAttribute": {
                    "type": "string",
                    "description": "An attribute that can be used to map a user's email address to a user created automatically in Artifactory. Default value is\u003cspan pulumi-lang-nodejs=\"`mail`\" pulumi-lang-dotnet=\"`Mail`\" pulumi-lang-go=\"`mail`\" pulumi-lang-python=\"`mail`\" pulumi-lang-yaml=\"`mail`\" pulumi-lang-java=\"`mail`\" pulumi-lang-hcl=\"`mail`\"\u003e`mail`\u003c/span\u003e.\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Flag to enable or disable the ldap setting. Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                },
                "key": {
                    "type": "string",
                    "description": "Ldap setting name.\n"
                },
                "ldapPoisoningProtection": {
                    "type": "boolean",
                    "description": "When this is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, an empty or missing usernames array will detach all users from the group.\n"
                },
                "ldapUrl": {
                    "type": "string",
                    "description": "Location of the LDAP server in the following format: `ldap://myldapserver/dc=sampledomain,dc=com`\n"
                },
                "managerDn": {
                    "type": "string",
                    "description": "The full DN of the user that binds to the LDAP server to perform user searches. Only used with \u003cspan pulumi-lang-nodejs=\"`search`\" pulumi-lang-dotnet=\"`Search`\" pulumi-lang-go=\"`search`\" pulumi-lang-python=\"`search`\" pulumi-lang-yaml=\"`search`\" pulumi-lang-java=\"`search`\" pulumi-lang-hcl=\"`search`\"\u003e`search`\u003c/span\u003e authentication.\n"
                },
                "managerPassword": {
                    "type": "string",
                    "description": "The password of the user that binds to the LDAP server to perform the search. Only used with \u003cspan pulumi-lang-nodejs=\"`search`\" pulumi-lang-dotnet=\"`Search`\" pulumi-lang-go=\"`search`\" pulumi-lang-python=\"`search`\" pulumi-lang-yaml=\"`search`\" pulumi-lang-java=\"`search`\" pulumi-lang-hcl=\"`search`\"\u003e`search`\u003c/span\u003e authentication.\n",
                    "secret": true
                },
                "pagingSupportEnabled": {
                    "type": "boolean",
                    "description": "When set, supports paging results for the LDAP server. This feature requires that the LDAP server supports a PagedResultsControl configuration. Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                },
                "searchBase": {
                    "type": "string",
                    "description": "A context name to search in relative to the base DN of the LDAP URL. For example, 'ou=users' With the LDAP Group Add-on enabled, it is possible to enter multiple search base entries separated by a pipe ('|') character.\n"
                },
                "searchFilter": {
                    "type": "string",
                    "description": "A filter expression used to search for the user DN used in LDAP authentication. This is an LDAP search filter (as defined in 'RFC 2254') with optional arguments. In this case, the username is the only argument, and is denoted by '{0}'. Possible examples are: (uid={0}) - This searches for a username match on the attribute. Authentication to LDAP is performed from the DN found if successful.\n"
                },
                "searchSubTree": {
                    "type": "boolean",
                    "description": "When set, enables deep search through the sub tree of the LDAP URL + search base. Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                },
                "userDnPattern": {
                    "type": "string",
                    "description": "A DN pattern that can be used to log users directly in to LDAP. This pattern is used to create a DN string for 'direct' user authentication where the pattern is relative to the base DN in the LDAP URL. The pattern argument {0} is replaced with the username. This only works if anonymous binding is allowed and a direct user DN can be used, which is not the default case for Active Directory (use User DN search filter instead). Example: uid={0},ou=People. Default value is blank/empty.\n"
                }
            },
            "required": [
                "allowUserToAccessProfile",
                "autoCreateUser",
                "emailAttribute",
                "enabled",
                "key",
                "ldapPoisoningProtection",
                "ldapUrl",
                "managerDn",
                "managerPassword",
                "pagingSupportEnabled",
                "searchBase",
                "searchFilter",
                "searchSubTree",
                "userDnPattern"
            ],
            "inputProperties": {
                "allowUserToAccessProfile": {
                    "type": "boolean",
                    "description": "Auto created users will have access to their profile page and will be able to perform actions such as generating an API key. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                },
                "autoCreateUser": {
                    "type": "boolean",
                    "description": "When set, users are automatically created when using LDAP. Otherwise, users are transient and associated with auto-join groups defined in Artifactory. Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                },
                "emailAttribute": {
                    "type": "string",
                    "description": "An attribute that can be used to map a user's email address to a user created automatically in Artifactory. Default value is\u003cspan pulumi-lang-nodejs=\"`mail`\" pulumi-lang-dotnet=\"`Mail`\" pulumi-lang-go=\"`mail`\" pulumi-lang-python=\"`mail`\" pulumi-lang-yaml=\"`mail`\" pulumi-lang-java=\"`mail`\" pulumi-lang-hcl=\"`mail`\"\u003e`mail`\u003c/span\u003e.\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Flag to enable or disable the ldap setting. Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                },
                "key": {
                    "type": "string",
                    "description": "Ldap setting name.\n"
                },
                "ldapPoisoningProtection": {
                    "type": "boolean",
                    "description": "When this is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, an empty or missing usernames array will detach all users from the group.\n"
                },
                "ldapUrl": {
                    "type": "string",
                    "description": "Location of the LDAP server in the following format: `ldap://myldapserver/dc=sampledomain,dc=com`\n"
                },
                "managerDn": {
                    "type": "string",
                    "description": "The full DN of the user that binds to the LDAP server to perform user searches. Only used with \u003cspan pulumi-lang-nodejs=\"`search`\" pulumi-lang-dotnet=\"`Search`\" pulumi-lang-go=\"`search`\" pulumi-lang-python=\"`search`\" pulumi-lang-yaml=\"`search`\" pulumi-lang-java=\"`search`\" pulumi-lang-hcl=\"`search`\"\u003e`search`\u003c/span\u003e authentication.\n"
                },
                "managerPassword": {
                    "type": "string",
                    "description": "The password of the user that binds to the LDAP server to perform the search. Only used with \u003cspan pulumi-lang-nodejs=\"`search`\" pulumi-lang-dotnet=\"`Search`\" pulumi-lang-go=\"`search`\" pulumi-lang-python=\"`search`\" pulumi-lang-yaml=\"`search`\" pulumi-lang-java=\"`search`\" pulumi-lang-hcl=\"`search`\"\u003e`search`\u003c/span\u003e authentication.\n",
                    "secret": true
                },
                "pagingSupportEnabled": {
                    "type": "boolean",
                    "description": "When set, supports paging results for the LDAP server. This feature requires that the LDAP server supports a PagedResultsControl configuration. Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                },
                "searchBase": {
                    "type": "string",
                    "description": "A context name to search in relative to the base DN of the LDAP URL. For example, 'ou=users' With the LDAP Group Add-on enabled, it is possible to enter multiple search base entries separated by a pipe ('|') character.\n"
                },
                "searchFilter": {
                    "type": "string",
                    "description": "A filter expression used to search for the user DN used in LDAP authentication. This is an LDAP search filter (as defined in 'RFC 2254') with optional arguments. In this case, the username is the only argument, and is denoted by '{0}'. Possible examples are: (uid={0}) - This searches for a username match on the attribute. Authentication to LDAP is performed from the DN found if successful.\n"
                },
                "searchSubTree": {
                    "type": "boolean",
                    "description": "When set, enables deep search through the sub tree of the LDAP URL + search base. Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                },
                "userDnPattern": {
                    "type": "string",
                    "description": "A DN pattern that can be used to log users directly in to LDAP. This pattern is used to create a DN string for 'direct' user authentication where the pattern is relative to the base DN in the LDAP URL. The pattern argument {0} is replaced with the username. This only works if anonymous binding is allowed and a direct user DN can be used, which is not the default case for Active Directory (use User DN search filter instead). Example: uid={0},ou=People. Default value is blank/empty.\n"
                }
            },
            "requiredInputs": [
                "key",
                "ldapUrl"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering LdapSettingV2 resources.\n",
                "properties": {
                    "allowUserToAccessProfile": {
                        "type": "boolean",
                        "description": "Auto created users will have access to their profile page and will be able to perform actions such as generating an API key. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                    },
                    "autoCreateUser": {
                        "type": "boolean",
                        "description": "When set, users are automatically created when using LDAP. Otherwise, users are transient and associated with auto-join groups defined in Artifactory. Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                    },
                    "emailAttribute": {
                        "type": "string",
                        "description": "An attribute that can be used to map a user's email address to a user created automatically in Artifactory. Default value is\u003cspan pulumi-lang-nodejs=\"`mail`\" pulumi-lang-dotnet=\"`Mail`\" pulumi-lang-go=\"`mail`\" pulumi-lang-python=\"`mail`\" pulumi-lang-yaml=\"`mail`\" pulumi-lang-java=\"`mail`\" pulumi-lang-hcl=\"`mail`\"\u003e`mail`\u003c/span\u003e.\n"
                    },
                    "enabled": {
                        "type": "boolean",
                        "description": "Flag to enable or disable the ldap setting. Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                    },
                    "key": {
                        "type": "string",
                        "description": "Ldap setting name.\n"
                    },
                    "ldapPoisoningProtection": {
                        "type": "boolean",
                        "description": "When this is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, an empty or missing usernames array will detach all users from the group.\n"
                    },
                    "ldapUrl": {
                        "type": "string",
                        "description": "Location of the LDAP server in the following format: `ldap://myldapserver/dc=sampledomain,dc=com`\n"
                    },
                    "managerDn": {
                        "type": "string",
                        "description": "The full DN of the user that binds to the LDAP server to perform user searches. Only used with \u003cspan pulumi-lang-nodejs=\"`search`\" pulumi-lang-dotnet=\"`Search`\" pulumi-lang-go=\"`search`\" pulumi-lang-python=\"`search`\" pulumi-lang-yaml=\"`search`\" pulumi-lang-java=\"`search`\" pulumi-lang-hcl=\"`search`\"\u003e`search`\u003c/span\u003e authentication.\n"
                    },
                    "managerPassword": {
                        "type": "string",
                        "description": "The password of the user that binds to the LDAP server to perform the search. Only used with \u003cspan pulumi-lang-nodejs=\"`search`\" pulumi-lang-dotnet=\"`Search`\" pulumi-lang-go=\"`search`\" pulumi-lang-python=\"`search`\" pulumi-lang-yaml=\"`search`\" pulumi-lang-java=\"`search`\" pulumi-lang-hcl=\"`search`\"\u003e`search`\u003c/span\u003e authentication.\n",
                        "secret": true
                    },
                    "pagingSupportEnabled": {
                        "type": "boolean",
                        "description": "When set, supports paging results for the LDAP server. This feature requires that the LDAP server supports a PagedResultsControl configuration. Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                    },
                    "searchBase": {
                        "type": "string",
                        "description": "A context name to search in relative to the base DN of the LDAP URL. For example, 'ou=users' With the LDAP Group Add-on enabled, it is possible to enter multiple search base entries separated by a pipe ('|') character.\n"
                    },
                    "searchFilter": {
                        "type": "string",
                        "description": "A filter expression used to search for the user DN used in LDAP authentication. This is an LDAP search filter (as defined in 'RFC 2254') with optional arguments. In this case, the username is the only argument, and is denoted by '{0}'. Possible examples are: (uid={0}) - This searches for a username match on the attribute. Authentication to LDAP is performed from the DN found if successful.\n"
                    },
                    "searchSubTree": {
                        "type": "boolean",
                        "description": "When set, enables deep search through the sub tree of the LDAP URL + search base. Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                    },
                    "userDnPattern": {
                        "type": "string",
                        "description": "A DN pattern that can be used to log users directly in to LDAP. This pattern is used to create a DN string for 'direct' user authentication where the pattern is relative to the base DN in the LDAP URL. The pattern argument {0} is replaced with the username. This only works if anonymous binding is allowed and a direct user DN can be used, which is not the default case for Active Directory (use User DN search filter instead). Example: uid={0},ou=People. Default value is blank/empty.\n"
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/localAnsibleRepository:LocalAnsibleRepository": {
            "description": "Creates a local Ansible repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\nimport * as std from \"@pulumi/std\";\n\nconst some_keypair_RSA = new artifactory.Keypair(\"some-keypair-RSA\", {\n    pairName: \"some-keypair\",\n    pairType: \"RSA\",\n    alias: \"foo-alias\",\n    privateKey: std.file({\n        input: \"samples/rsa.priv\",\n    }).then(invoke =\u003e invoke.result),\n    publicKey: std.file({\n        input: \"samples/rsa.pub\",\n    }).then(invoke =\u003e invoke.result),\n});\nconst test_ansible_local_repo = new artifactory.LocalAnsibleRepository(\"test-ansible-local-repo\", {\n    key: \"test-ansible-local-repo\",\n    primaryKeypairRef: some_keypair_RSA.pairName,\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\nimport pulumi_std as std\n\nsome_keypair__rsa = artifactory.Keypair(\"some-keypair-RSA\",\n    pair_name=\"some-keypair\",\n    pair_type=\"RSA\",\n    alias=\"foo-alias\",\n    private_key=std.file(input=\"samples/rsa.priv\").result,\n    public_key=std.file(input=\"samples/rsa.pub\").result)\ntest_ansible_local_repo = artifactory.LocalAnsibleRepository(\"test-ansible-local-repo\",\n    key=\"test-ansible-local-repo\",\n    primary_keypair_ref=some_keypair__rsa.pair_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var some_keypair_RSA = new Artifactory.Keypair(\"some-keypair-RSA\", new()\n    {\n        PairName = \"some-keypair\",\n        PairType = \"RSA\",\n        Alias = \"foo-alias\",\n        PrivateKey = Std.File.Invoke(new()\n        {\n            Input = \"samples/rsa.priv\",\n        }).Apply(invoke =\u003e invoke.Result),\n        PublicKey = Std.File.Invoke(new()\n        {\n            Input = \"samples/rsa.pub\",\n        }).Apply(invoke =\u003e invoke.Result),\n    });\n\n    var test_ansible_local_repo = new Artifactory.LocalAnsibleRepository(\"test-ansible-local-repo\", new()\n    {\n        Key = \"test-ansible-local-repo\",\n        PrimaryKeypairRef = some_keypair_RSA.PairName,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"samples/rsa.priv\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile1, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"samples/rsa.pub\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsome_keypair_RSA, err := artifactory.NewKeypair(ctx, \"some-keypair-RSA\", \u0026artifactory.KeypairArgs{\n\t\t\tPairName:   pulumi.String(\"some-keypair\"),\n\t\t\tPairType:   pulumi.String(\"RSA\"),\n\t\t\tAlias:      pulumi.String(\"foo-alias\"),\n\t\t\tPrivateKey: pulumi.String(invokeFile.Result),\n\t\t\tPublicKey:  pulumi.String(invokeFile1.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = artifactory.NewLocalAnsibleRepository(ctx, \"test-ansible-local-repo\", \u0026artifactory.LocalAnsibleRepositoryArgs{\n\t\t\tKey:               pulumi.String(\"test-ansible-local-repo\"),\n\t\t\tPrimaryKeypairRef: some_keypair_RSA.PairName,\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n    std = {\n      source = \"pulumi/std\"\n    }\n  }\n}\n\nresource \"artifactory_keypair\" \"some-keypair-RSA\" {\n  pair_name   = \"some-keypair\"\n  pair_type   = \"RSA\"\n  alias       = \"foo-alias\"\n  private_key = file(\"samples/rsa.priv\")\n  public_key  = file(\"samples/rsa.pub\")\n}\nresource \"artifactory_localansiblerepository\" \"test-ansible-local-repo\" {\n  key                 = \"test-ansible-local-repo\"\n  primary_keypair_ref = artifactory_keypair.some-keypair-RSA.pair_name\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.Keypair;\nimport com.pulumi.artifactory.KeypairArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FileArgs;\nimport com.pulumi.artifactory.LocalAnsibleRepository;\nimport com.pulumi.artifactory.LocalAnsibleRepositoryArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 some_keypair_RSA = new Keypair(\"some-keypair-RSA\", KeypairArgs.builder()\n            .pairName(\"some-keypair\")\n            .pairType(\"RSA\")\n            .alias(\"foo-alias\")\n            .privateKey(StdFunctions.file(FileArgs.builder()\n                .input(\"samples/rsa.priv\")\n                .build()).result())\n            .publicKey(StdFunctions.file(FileArgs.builder()\n                .input(\"samples/rsa.pub\")\n                .build()).result())\n            .build());\n\n        var test_ansible_local_repo = new LocalAnsibleRepository(\"test-ansible-local-repo\", LocalAnsibleRepositoryArgs.builder()\n            .key(\"test-ansible-local-repo\")\n            .primaryKeypairRef(some_keypair_RSA.pairName())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  some-keypair-RSA:\n    type: artifactory:Keypair\n    properties:\n      pairName: some-keypair\n      pairType: RSA\n      alias: foo-alias\n      privateKey:\n        fn::invoke:\n          function: std:file\n          arguments:\n            input: samples/rsa.priv\n          return: result\n      publicKey:\n        fn::invoke:\n          function: std:file\n          arguments:\n            input: samples/rsa.pub\n          return: result\n  test-ansible-local-repo:\n    type: artifactory:LocalAnsibleRepository\n    properties:\n      key: test-ansible-local-repo\n      primaryKeypairRef: ${[\"some-keypair-RSA\"].pairName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLocal repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/localAnsibleRepository:LocalAnsibleRepository test-ansible-local-repo test-ansible-local-repo\n```\n\n",
            "properties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "primaryKeypairRef": {
                    "type": "string",
                    "description": "The RSA key to be used to sign alpine indices.\n\nArtifactory REST API call Get Key Pair doesn't return keys \u003cspan pulumi-lang-nodejs=\"`privateKey`\" pulumi-lang-dotnet=\"`PrivateKey`\" pulumi-lang-go=\"`privateKey`\" pulumi-lang-python=\"`private_key`\" pulumi-lang-yaml=\"`privateKey`\" pulumi-lang-java=\"`privateKey`\" pulumi-lang-hcl=\"`private_key`\"\u003e`privateKey`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`passphrase`\" pulumi-lang-dotnet=\"`Passphrase`\" pulumi-lang-go=\"`passphrase`\" pulumi-lang-python=\"`passphrase`\" pulumi-lang-yaml=\"`passphrase`\" pulumi-lang-java=\"`passphrase`\" pulumi-lang-hcl=\"`passphrase`\"\u003e`passphrase`\u003c/span\u003e, but consumes these keys in the POST call.\n\nThe meta-argument \u003cspan pulumi-lang-nodejs=\"`lifecycle`\" pulumi-lang-dotnet=\"`Lifecycle`\" pulumi-lang-go=\"`lifecycle`\" pulumi-lang-python=\"`lifecycle`\" pulumi-lang-yaml=\"`lifecycle`\" pulumi-lang-java=\"`lifecycle`\" pulumi-lang-hcl=\"`lifecycle`\"\u003e`lifecycle`\u003c/span\u003e used here to make Provider ignore the changes for these two keys in the Terraform state.\n"
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "archiveBrowsingEnabled",
                "blackedOut",
                "cdnRedirect",
                "description",
                "downloadDirect",
                "excludesPattern",
                "includesPattern",
                "key",
                "notes",
                "primaryKeypairRef",
                "priorityResolution",
                "projectEnvironments",
                "projectKey",
                "repoLayoutRef",
                "xrayIndex"
            ],
            "inputProperties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "primaryKeypairRef": {
                    "type": "string",
                    "description": "The RSA key to be used to sign alpine indices.\n\nArtifactory REST API call Get Key Pair doesn't return keys \u003cspan pulumi-lang-nodejs=\"`privateKey`\" pulumi-lang-dotnet=\"`PrivateKey`\" pulumi-lang-go=\"`privateKey`\" pulumi-lang-python=\"`private_key`\" pulumi-lang-yaml=\"`privateKey`\" pulumi-lang-java=\"`privateKey`\" pulumi-lang-hcl=\"`private_key`\"\u003e`privateKey`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`passphrase`\" pulumi-lang-dotnet=\"`Passphrase`\" pulumi-lang-go=\"`passphrase`\" pulumi-lang-python=\"`passphrase`\" pulumi-lang-yaml=\"`passphrase`\" pulumi-lang-java=\"`passphrase`\" pulumi-lang-hcl=\"`passphrase`\"\u003e`passphrase`\u003c/span\u003e, but consumes these keys in the POST call.\n\nThe meta-argument \u003cspan pulumi-lang-nodejs=\"`lifecycle`\" pulumi-lang-dotnet=\"`Lifecycle`\" pulumi-lang-go=\"`lifecycle`\" pulumi-lang-python=\"`lifecycle`\" pulumi-lang-yaml=\"`lifecycle`\" pulumi-lang-java=\"`lifecycle`\" pulumi-lang-hcl=\"`lifecycle`\"\u003e`lifecycle`\u003c/span\u003e used here to make Provider ignore the changes for these two keys in the Terraform state.\n"
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering LocalAnsibleRepository resources.\n",
                "properties": {
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "the identity key of the repo.\n"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "primaryKeypairRef": {
                        "type": "string",
                        "description": "The RSA key to be used to sign alpine indices.\n\nArtifactory REST API call Get Key Pair doesn't return keys \u003cspan pulumi-lang-nodejs=\"`privateKey`\" pulumi-lang-dotnet=\"`PrivateKey`\" pulumi-lang-go=\"`privateKey`\" pulumi-lang-python=\"`private_key`\" pulumi-lang-yaml=\"`privateKey`\" pulumi-lang-java=\"`privateKey`\" pulumi-lang-hcl=\"`private_key`\"\u003e`privateKey`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`passphrase`\" pulumi-lang-dotnet=\"`Passphrase`\" pulumi-lang-go=\"`passphrase`\" pulumi-lang-python=\"`passphrase`\" pulumi-lang-yaml=\"`passphrase`\" pulumi-lang-java=\"`passphrase`\" pulumi-lang-hcl=\"`passphrase`\"\u003e`passphrase`\u003c/span\u003e, but consumes these keys in the POST call.\n\nThe meta-argument \u003cspan pulumi-lang-nodejs=\"`lifecycle`\" pulumi-lang-dotnet=\"`Lifecycle`\" pulumi-lang-go=\"`lifecycle`\" pulumi-lang-python=\"`lifecycle`\" pulumi-lang-yaml=\"`lifecycle`\" pulumi-lang-java=\"`lifecycle`\" pulumi-lang-hcl=\"`lifecycle`\"\u003e`lifecycle`\u003c/span\u003e used here to make Provider ignore the changes for these two keys in the Terraform state.\n"
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/localBowerRepository:LocalBowerRepository": {
            "description": "Creates a local Bower repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst terraform_local_test_bower_repo = new artifactory.LocalBowerRepository(\"terraform-local-test-bower-repo\", {key: \"terraform-local-test-bower-repo\"});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nterraform_local_test_bower_repo = artifactory.LocalBowerRepository(\"terraform-local-test-bower-repo\", key=\"terraform-local-test-bower-repo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var terraform_local_test_bower_repo = new Artifactory.LocalBowerRepository(\"terraform-local-test-bower-repo\", new()\n    {\n        Key = \"terraform-local-test-bower-repo\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewLocalBowerRepository(ctx, \"terraform-local-test-bower-repo\", \u0026artifactory.LocalBowerRepositoryArgs{\n\t\t\tKey: pulumi.String(\"terraform-local-test-bower-repo\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_localbowerrepository\" \"terraform-local-test-bower-repo\" {\n  key = \"terraform-local-test-bower-repo\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.LocalBowerRepository;\nimport com.pulumi.artifactory.LocalBowerRepositoryArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 terraform_local_test_bower_repo = new LocalBowerRepository(\"terraform-local-test-bower-repo\", LocalBowerRepositoryArgs.builder()\n            .key(\"terraform-local-test-bower-repo\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  terraform-local-test-bower-repo:\n    type: artifactory:LocalBowerRepository\n    properties:\n      key: terraform-local-test-bower-repo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLocal repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/localBowerRepository:LocalBowerRepository terraform-local-test-bower-repo terraform-local-test-bower-repo\n```\n\n",
            "properties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "archiveBrowsingEnabled",
                "blackedOut",
                "cdnRedirect",
                "description",
                "downloadDirect",
                "excludesPattern",
                "includesPattern",
                "key",
                "notes",
                "priorityResolution",
                "projectEnvironments",
                "projectKey",
                "repoLayoutRef",
                "xrayIndex"
            ],
            "inputProperties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering LocalBowerRepository resources.\n",
                "properties": {
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "the identity key of the repo.\n"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/localCargoRepository:LocalCargoRepository": {
            "description": "Creates a local Cargo repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst terraform_local_test_cargo_repo_basic = new artifactory.LocalCargoRepository(\"terraform-local-test-cargo-repo-basic\", {\n    key: \"terraform-local-test-cargo-repo-basic\",\n    anonymousAccess: false,\n    enableSparseIndex: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nterraform_local_test_cargo_repo_basic = artifactory.LocalCargoRepository(\"terraform-local-test-cargo-repo-basic\",\n    key=\"terraform-local-test-cargo-repo-basic\",\n    anonymous_access=False,\n    enable_sparse_index=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var terraform_local_test_cargo_repo_basic = new Artifactory.LocalCargoRepository(\"terraform-local-test-cargo-repo-basic\", new()\n    {\n        Key = \"terraform-local-test-cargo-repo-basic\",\n        AnonymousAccess = false,\n        EnableSparseIndex = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewLocalCargoRepository(ctx, \"terraform-local-test-cargo-repo-basic\", \u0026artifactory.LocalCargoRepositoryArgs{\n\t\t\tKey:               pulumi.String(\"terraform-local-test-cargo-repo-basic\"),\n\t\t\tAnonymousAccess:   pulumi.Bool(false),\n\t\t\tEnableSparseIndex: 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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_localcargorepository\" \"terraform-local-test-cargo-repo-basic\" {\n  key                 = \"terraform-local-test-cargo-repo-basic\"\n  anonymous_access    = false\n  enable_sparse_index = true\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.LocalCargoRepository;\nimport com.pulumi.artifactory.LocalCargoRepositoryArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 terraform_local_test_cargo_repo_basic = new LocalCargoRepository(\"terraform-local-test-cargo-repo-basic\", LocalCargoRepositoryArgs.builder()\n            .key(\"terraform-local-test-cargo-repo-basic\")\n            .anonymousAccess(false)\n            .enableSparseIndex(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  terraform-local-test-cargo-repo-basic:\n    type: artifactory:LocalCargoRepository\n    properties:\n      key: terraform-local-test-cargo-repo-basic\n      anonymousAccess: false\n      enableSparseIndex: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLocal repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/localCargoRepository:LocalCargoRepository terraform-local-test-cargo-repo-basic terraform-local-test-cargo-repo-basic\n```\n\n",
            "properties": {
                "anonymousAccess": {
                    "type": "boolean",
                    "description": "Cargo client does not send credentials when performing download and search for crates. \nEnable this to allow anonymous access to these resources (only), note that this will override the security anonymous access option. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                },
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "enableSparseIndex": {
                    "type": "boolean",
                    "description": "Enable internal index support based on Cargo sparse index specifications, instead of the default git index. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "anonymousAccess",
                "archiveBrowsingEnabled",
                "blackedOut",
                "cdnRedirect",
                "description",
                "downloadDirect",
                "enableSparseIndex",
                "excludesPattern",
                "includesPattern",
                "key",
                "notes",
                "priorityResolution",
                "projectEnvironments",
                "projectKey",
                "repoLayoutRef",
                "xrayIndex"
            ],
            "inputProperties": {
                "anonymousAccess": {
                    "type": "boolean",
                    "description": "Cargo client does not send credentials when performing download and search for crates. \nEnable this to allow anonymous access to these resources (only), note that this will override the security anonymous access option. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                },
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "enableSparseIndex": {
                    "type": "boolean",
                    "description": "Enable internal index support based on Cargo sparse index specifications, instead of the default git index. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering LocalCargoRepository resources.\n",
                "properties": {
                    "anonymousAccess": {
                        "type": "boolean",
                        "description": "Cargo client does not send credentials when performing download and search for crates. \nEnable this to allow anonymous access to these resources (only), note that this will override the security anonymous access option. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                    },
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                    },
                    "enableSparseIndex": {
                        "type": "boolean",
                        "description": "Enable internal index support based on Cargo sparse index specifications, instead of the default git index. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "the identity key of the repo.\n"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/localChefRepository:LocalChefRepository": {
            "description": "Creates a local Chef repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst terraform_local_test_chef_repo = new artifactory.LocalChefRepository(\"terraform-local-test-chef-repo\", {key: \"terraform-local-test-chef-repo\"});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nterraform_local_test_chef_repo = artifactory.LocalChefRepository(\"terraform-local-test-chef-repo\", key=\"terraform-local-test-chef-repo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var terraform_local_test_chef_repo = new Artifactory.LocalChefRepository(\"terraform-local-test-chef-repo\", new()\n    {\n        Key = \"terraform-local-test-chef-repo\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewLocalChefRepository(ctx, \"terraform-local-test-chef-repo\", \u0026artifactory.LocalChefRepositoryArgs{\n\t\t\tKey: pulumi.String(\"terraform-local-test-chef-repo\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_localchefrepository\" \"terraform-local-test-chef-repo\" {\n  key = \"terraform-local-test-chef-repo\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.LocalChefRepository;\nimport com.pulumi.artifactory.LocalChefRepositoryArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 terraform_local_test_chef_repo = new LocalChefRepository(\"terraform-local-test-chef-repo\", LocalChefRepositoryArgs.builder()\n            .key(\"terraform-local-test-chef-repo\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  terraform-local-test-chef-repo:\n    type: artifactory:LocalChefRepository\n    properties:\n      key: terraform-local-test-chef-repo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLocal repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/localChefRepository:LocalChefRepository terraform-local-test-chef-repo terraform-local-test-chef-repo\n```\n\n",
            "properties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "archiveBrowsingEnabled",
                "blackedOut",
                "cdnRedirect",
                "description",
                "downloadDirect",
                "excludesPattern",
                "includesPattern",
                "key",
                "notes",
                "priorityResolution",
                "projectEnvironments",
                "projectKey",
                "repoLayoutRef",
                "xrayIndex"
            ],
            "inputProperties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering LocalChefRepository resources.\n",
                "properties": {
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "the identity key of the repo.\n"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/localCocoapodsRepository:LocalCocoapodsRepository": {
            "description": "Creates a local Cocoapods repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst terraform_local_test_cocoapods_repo = new artifactory.LocalCocoapodsRepository(\"terraform-local-test-cocoapods-repo\", {key: \"terraform-local-test-cocoapods-repo\"});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nterraform_local_test_cocoapods_repo = artifactory.LocalCocoapodsRepository(\"terraform-local-test-cocoapods-repo\", key=\"terraform-local-test-cocoapods-repo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var terraform_local_test_cocoapods_repo = new Artifactory.LocalCocoapodsRepository(\"terraform-local-test-cocoapods-repo\", new()\n    {\n        Key = \"terraform-local-test-cocoapods-repo\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewLocalCocoapodsRepository(ctx, \"terraform-local-test-cocoapods-repo\", \u0026artifactory.LocalCocoapodsRepositoryArgs{\n\t\t\tKey: pulumi.String(\"terraform-local-test-cocoapods-repo\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_localcocoapodsrepository\" \"terraform-local-test-cocoapods-repo\" {\n  key = \"terraform-local-test-cocoapods-repo\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.LocalCocoapodsRepository;\nimport com.pulumi.artifactory.LocalCocoapodsRepositoryArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 terraform_local_test_cocoapods_repo = new LocalCocoapodsRepository(\"terraform-local-test-cocoapods-repo\", LocalCocoapodsRepositoryArgs.builder()\n            .key(\"terraform-local-test-cocoapods-repo\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  terraform-local-test-cocoapods-repo:\n    type: artifactory:LocalCocoapodsRepository\n    properties:\n      key: terraform-local-test-cocoapods-repo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLocal repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/localCocoapodsRepository:LocalCocoapodsRepository terraform-local-test-cocoapods-repo terraform-local-test-cocoapods-repo\n```\n\n",
            "properties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "archiveBrowsingEnabled",
                "blackedOut",
                "cdnRedirect",
                "description",
                "downloadDirect",
                "excludesPattern",
                "includesPattern",
                "key",
                "notes",
                "priorityResolution",
                "projectEnvironments",
                "projectKey",
                "repoLayoutRef",
                "xrayIndex"
            ],
            "inputProperties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering LocalCocoapodsRepository resources.\n",
                "properties": {
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "the identity key of the repo.\n"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/localComposerRepository:LocalComposerRepository": {
            "description": "Creates a local Composer repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst terraform_local_test_composer_repo = new artifactory.LocalComposerRepository(\"terraform-local-test-composer-repo\", {key: \"terraform-local-test-composer-repo\"});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nterraform_local_test_composer_repo = artifactory.LocalComposerRepository(\"terraform-local-test-composer-repo\", key=\"terraform-local-test-composer-repo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var terraform_local_test_composer_repo = new Artifactory.LocalComposerRepository(\"terraform-local-test-composer-repo\", new()\n    {\n        Key = \"terraform-local-test-composer-repo\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewLocalComposerRepository(ctx, \"terraform-local-test-composer-repo\", \u0026artifactory.LocalComposerRepositoryArgs{\n\t\t\tKey: pulumi.String(\"terraform-local-test-composer-repo\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_localcomposerrepository\" \"terraform-local-test-composer-repo\" {\n  key = \"terraform-local-test-composer-repo\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.LocalComposerRepository;\nimport com.pulumi.artifactory.LocalComposerRepositoryArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 terraform_local_test_composer_repo = new LocalComposerRepository(\"terraform-local-test-composer-repo\", LocalComposerRepositoryArgs.builder()\n            .key(\"terraform-local-test-composer-repo\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  terraform-local-test-composer-repo:\n    type: artifactory:LocalComposerRepository\n    properties:\n      key: terraform-local-test-composer-repo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLocal repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/localComposerRepository:LocalComposerRepository terraform-local-test-composer-repo terraform-local-test-composer-repo\n```\n\n",
            "properties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "archiveBrowsingEnabled",
                "blackedOut",
                "cdnRedirect",
                "description",
                "downloadDirect",
                "excludesPattern",
                "includesPattern",
                "key",
                "notes",
                "priorityResolution",
                "projectEnvironments",
                "projectKey",
                "repoLayoutRef",
                "xrayIndex"
            ],
            "inputProperties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering LocalComposerRepository resources.\n",
                "properties": {
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "the identity key of the repo.\n"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/localConanRepository:LocalConanRepository": {
            "description": "Creates a local Conan repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst terraform_local_test_conan_repo = new artifactory.LocalConanRepository(\"terraform-local-test-conan-repo\", {key: \"terraform-local-test-conan-repo\"});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nterraform_local_test_conan_repo = artifactory.LocalConanRepository(\"terraform-local-test-conan-repo\", key=\"terraform-local-test-conan-repo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var terraform_local_test_conan_repo = new Artifactory.LocalConanRepository(\"terraform-local-test-conan-repo\", new()\n    {\n        Key = \"terraform-local-test-conan-repo\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewLocalConanRepository(ctx, \"terraform-local-test-conan-repo\", \u0026artifactory.LocalConanRepositoryArgs{\n\t\t\tKey: pulumi.String(\"terraform-local-test-conan-repo\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_localconanrepository\" \"terraform-local-test-conan-repo\" {\n  key = \"terraform-local-test-conan-repo\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.LocalConanRepository;\nimport com.pulumi.artifactory.LocalConanRepositoryArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 terraform_local_test_conan_repo = new LocalConanRepository(\"terraform-local-test-conan-repo\", LocalConanRepositoryArgs.builder()\n            .key(\"terraform-local-test-conan-repo\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  terraform-local-test-conan-repo:\n    type: artifactory:LocalConanRepository\n    properties:\n      key: terraform-local-test-conan-repo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLocal repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/localConanRepository:LocalConanRepository terraform-local-test-conan-repo terraform-local-test-conan-repo\n```\n\n",
            "properties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "forceConanAuthentication": {
                    "type": "boolean",
                    "description": "Force basic authentication credentials in order to use this repository. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "archiveBrowsingEnabled",
                "blackedOut",
                "cdnRedirect",
                "description",
                "downloadDirect",
                "excludesPattern",
                "forceConanAuthentication",
                "includesPattern",
                "key",
                "notes",
                "priorityResolution",
                "projectEnvironments",
                "projectKey",
                "repoLayoutRef",
                "xrayIndex"
            ],
            "inputProperties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "forceConanAuthentication": {
                    "type": "boolean",
                    "description": "Force basic authentication credentials in order to use this repository. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering LocalConanRepository resources.\n",
                "properties": {
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "forceConanAuthentication": {
                        "type": "boolean",
                        "description": "Force basic authentication credentials in order to use this repository. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "the identity key of the repo.\n"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/localCondaRepository:LocalCondaRepository": {
            "description": "Creates a local Conda repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst terraform_local_test_conda_repo = new artifactory.LocalCondaRepository(\"terraform-local-test-conda-repo\", {key: \"terraform-local-test-conda-repo\"});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nterraform_local_test_conda_repo = artifactory.LocalCondaRepository(\"terraform-local-test-conda-repo\", key=\"terraform-local-test-conda-repo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var terraform_local_test_conda_repo = new Artifactory.LocalCondaRepository(\"terraform-local-test-conda-repo\", new()\n    {\n        Key = \"terraform-local-test-conda-repo\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewLocalCondaRepository(ctx, \"terraform-local-test-conda-repo\", \u0026artifactory.LocalCondaRepositoryArgs{\n\t\t\tKey: pulumi.String(\"terraform-local-test-conda-repo\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_localcondarepository\" \"terraform-local-test-conda-repo\" {\n  key = \"terraform-local-test-conda-repo\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.LocalCondaRepository;\nimport com.pulumi.artifactory.LocalCondaRepositoryArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 terraform_local_test_conda_repo = new LocalCondaRepository(\"terraform-local-test-conda-repo\", LocalCondaRepositoryArgs.builder()\n            .key(\"terraform-local-test-conda-repo\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  terraform-local-test-conda-repo:\n    type: artifactory:LocalCondaRepository\n    properties:\n      key: terraform-local-test-conda-repo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLocal repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/localCondaRepository:LocalCondaRepository terraform-local-test-conda-repo terraform-local-test-conda-repo\n```\n\n",
            "properties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "archiveBrowsingEnabled",
                "blackedOut",
                "cdnRedirect",
                "description",
                "downloadDirect",
                "excludesPattern",
                "includesPattern",
                "key",
                "notes",
                "priorityResolution",
                "projectEnvironments",
                "projectKey",
                "repoLayoutRef",
                "xrayIndex"
            ],
            "inputProperties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering LocalCondaRepository resources.\n",
                "properties": {
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "the identity key of the repo.\n"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/localCranRepository:LocalCranRepository": {
            "description": "Creates a local Cran repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst terraform_local_test_cran_repo = new artifactory.LocalCranRepository(\"terraform-local-test-cran-repo\", {key: \"terraform-local-test-cran-repo\"});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nterraform_local_test_cran_repo = artifactory.LocalCranRepository(\"terraform-local-test-cran-repo\", key=\"terraform-local-test-cran-repo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var terraform_local_test_cran_repo = new Artifactory.LocalCranRepository(\"terraform-local-test-cran-repo\", new()\n    {\n        Key = \"terraform-local-test-cran-repo\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewLocalCranRepository(ctx, \"terraform-local-test-cran-repo\", \u0026artifactory.LocalCranRepositoryArgs{\n\t\t\tKey: pulumi.String(\"terraform-local-test-cran-repo\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_localcranrepository\" \"terraform-local-test-cran-repo\" {\n  key = \"terraform-local-test-cran-repo\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.LocalCranRepository;\nimport com.pulumi.artifactory.LocalCranRepositoryArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 terraform_local_test_cran_repo = new LocalCranRepository(\"terraform-local-test-cran-repo\", LocalCranRepositoryArgs.builder()\n            .key(\"terraform-local-test-cran-repo\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  terraform-local-test-cran-repo:\n    type: artifactory:LocalCranRepository\n    properties:\n      key: terraform-local-test-cran-repo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLocal repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/localCranRepository:LocalCranRepository terraform-local-test-cran-repo terraform-local-test-cran-repo\n```\n\n",
            "properties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "archiveBrowsingEnabled",
                "blackedOut",
                "cdnRedirect",
                "description",
                "downloadDirect",
                "excludesPattern",
                "includesPattern",
                "key",
                "notes",
                "priorityResolution",
                "projectEnvironments",
                "projectKey",
                "repoLayoutRef",
                "xrayIndex"
            ],
            "inputProperties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering LocalCranRepository resources.\n",
                "properties": {
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "the identity key of the repo.\n"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/localGemsRepository:LocalGemsRepository": {
            "description": "Creates a local Gems repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst terraform_local_test_gems_repo = new artifactory.LocalGemsRepository(\"terraform-local-test-gems-repo\", {key: \"terraform-local-test-gems-repo\"});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nterraform_local_test_gems_repo = artifactory.LocalGemsRepository(\"terraform-local-test-gems-repo\", key=\"terraform-local-test-gems-repo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var terraform_local_test_gems_repo = new Artifactory.LocalGemsRepository(\"terraform-local-test-gems-repo\", new()\n    {\n        Key = \"terraform-local-test-gems-repo\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewLocalGemsRepository(ctx, \"terraform-local-test-gems-repo\", \u0026artifactory.LocalGemsRepositoryArgs{\n\t\t\tKey: pulumi.String(\"terraform-local-test-gems-repo\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_localgemsrepository\" \"terraform-local-test-gems-repo\" {\n  key = \"terraform-local-test-gems-repo\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.LocalGemsRepository;\nimport com.pulumi.artifactory.LocalGemsRepositoryArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 terraform_local_test_gems_repo = new LocalGemsRepository(\"terraform-local-test-gems-repo\", LocalGemsRepositoryArgs.builder()\n            .key(\"terraform-local-test-gems-repo\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  terraform-local-test-gems-repo:\n    type: artifactory:LocalGemsRepository\n    properties:\n      key: terraform-local-test-gems-repo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLocal repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/localGemsRepository:LocalGemsRepository terraform-local-test-gems-repo terraform-local-test-gems-repo\n```\n\n",
            "properties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "archiveBrowsingEnabled",
                "blackedOut",
                "cdnRedirect",
                "description",
                "downloadDirect",
                "excludesPattern",
                "includesPattern",
                "key",
                "notes",
                "priorityResolution",
                "projectEnvironments",
                "projectKey",
                "repoLayoutRef",
                "xrayIndex"
            ],
            "inputProperties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering LocalGemsRepository resources.\n",
                "properties": {
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "the identity key of the repo.\n"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/localGenericRepository:LocalGenericRepository": {
            "description": "Creates a local Generic repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst terraform_local_test_generic_repo = new artifactory.LocalGenericRepository(\"terraform-local-test-generic-repo\", {key: \"terraform-local-test-generic-repo\"});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nterraform_local_test_generic_repo = artifactory.LocalGenericRepository(\"terraform-local-test-generic-repo\", key=\"terraform-local-test-generic-repo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var terraform_local_test_generic_repo = new Artifactory.LocalGenericRepository(\"terraform-local-test-generic-repo\", new()\n    {\n        Key = \"terraform-local-test-generic-repo\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewLocalGenericRepository(ctx, \"terraform-local-test-generic-repo\", \u0026artifactory.LocalGenericRepositoryArgs{\n\t\t\tKey: pulumi.String(\"terraform-local-test-generic-repo\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_localgenericrepository\" \"terraform-local-test-generic-repo\" {\n  key = \"terraform-local-test-generic-repo\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.LocalGenericRepository;\nimport com.pulumi.artifactory.LocalGenericRepositoryArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 terraform_local_test_generic_repo = new LocalGenericRepository(\"terraform-local-test-generic-repo\", LocalGenericRepositoryArgs.builder()\n            .key(\"terraform-local-test-generic-repo\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  terraform-local-test-generic-repo:\n    type: artifactory:LocalGenericRepository\n    properties:\n      key: terraform-local-test-generic-repo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLocal repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/localGenericRepository:LocalGenericRepository terraform-local-test-generic-repo terraform-local-test-generic-repo\n```\n\n",
            "properties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "A mandatory identifier for the repository that must be unique. \nIt cannot begin with a number or contain spaces or special characters.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "archiveBrowsingEnabled",
                "blackedOut",
                "cdnRedirect",
                "description",
                "downloadDirect",
                "excludesPattern",
                "includesPattern",
                "key",
                "notes",
                "priorityResolution",
                "projectEnvironments",
                "projectKey",
                "repoLayoutRef",
                "xrayIndex"
            ],
            "inputProperties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "A mandatory identifier for the repository that must be unique. \nIt cannot begin with a number or contain spaces or special characters.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering LocalGenericRepository resources.\n",
                "properties": {
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "A mandatory identifier for the repository that must be unique. \nIt cannot begin with a number or contain spaces or special characters.\n"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/localGitltfsRepository:LocalGitltfsRepository": {
            "description": "Creates a local Gitlfs repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst terraform_local_test_gitlfs_repo = new artifactory.LocalGitltfsRepository(\"terraform-local-test-gitlfs-repo\", {key: \"terraform-local-test-gitlfs-repo\"});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nterraform_local_test_gitlfs_repo = artifactory.LocalGitltfsRepository(\"terraform-local-test-gitlfs-repo\", key=\"terraform-local-test-gitlfs-repo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var terraform_local_test_gitlfs_repo = new Artifactory.LocalGitltfsRepository(\"terraform-local-test-gitlfs-repo\", new()\n    {\n        Key = \"terraform-local-test-gitlfs-repo\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewLocalGitltfsRepository(ctx, \"terraform-local-test-gitlfs-repo\", \u0026artifactory.LocalGitltfsRepositoryArgs{\n\t\t\tKey: pulumi.String(\"terraform-local-test-gitlfs-repo\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_localgitltfsrepository\" \"terraform-local-test-gitlfs-repo\" {\n  key = \"terraform-local-test-gitlfs-repo\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.LocalGitltfsRepository;\nimport com.pulumi.artifactory.LocalGitltfsRepositoryArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 terraform_local_test_gitlfs_repo = new LocalGitltfsRepository(\"terraform-local-test-gitlfs-repo\", LocalGitltfsRepositoryArgs.builder()\n            .key(\"terraform-local-test-gitlfs-repo\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  terraform-local-test-gitlfs-repo:\n    type: artifactory:LocalGitltfsRepository\n    properties:\n      key: terraform-local-test-gitlfs-repo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLocal repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/localGitltfsRepository:LocalGitltfsRepository terraform-local-test-gitlfs-repo terraform-local-test-gitlfs-repo\n```\n\n",
            "properties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "archiveBrowsingEnabled",
                "blackedOut",
                "cdnRedirect",
                "description",
                "downloadDirect",
                "excludesPattern",
                "includesPattern",
                "key",
                "notes",
                "priorityResolution",
                "projectEnvironments",
                "projectKey",
                "repoLayoutRef",
                "xrayIndex"
            ],
            "inputProperties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering LocalGitltfsRepository resources.\n",
                "properties": {
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "the identity key of the repo.\n"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/localGoRepository:LocalGoRepository": {
            "description": "Creates a local Go repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst terraform_local_test_go_repo = new artifactory.LocalGoRepository(\"terraform-local-test-go-repo\", {key: \"terraform-local-test-go-repo\"});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nterraform_local_test_go_repo = artifactory.LocalGoRepository(\"terraform-local-test-go-repo\", key=\"terraform-local-test-go-repo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var terraform_local_test_go_repo = new Artifactory.LocalGoRepository(\"terraform-local-test-go-repo\", new()\n    {\n        Key = \"terraform-local-test-go-repo\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewLocalGoRepository(ctx, \"terraform-local-test-go-repo\", \u0026artifactory.LocalGoRepositoryArgs{\n\t\t\tKey: pulumi.String(\"terraform-local-test-go-repo\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_localgorepository\" \"terraform-local-test-go-repo\" {\n  key = \"terraform-local-test-go-repo\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.LocalGoRepository;\nimport com.pulumi.artifactory.LocalGoRepositoryArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 terraform_local_test_go_repo = new LocalGoRepository(\"terraform-local-test-go-repo\", LocalGoRepositoryArgs.builder()\n            .key(\"terraform-local-test-go-repo\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  terraform-local-test-go-repo:\n    type: artifactory:LocalGoRepository\n    properties:\n      key: terraform-local-test-go-repo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLocal repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/localGoRepository:LocalGoRepository terraform-local-test-go-repo terraform-local-test-go-repo\n```\n\n",
            "properties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "archiveBrowsingEnabled",
                "blackedOut",
                "cdnRedirect",
                "description",
                "downloadDirect",
                "excludesPattern",
                "includesPattern",
                "key",
                "notes",
                "priorityResolution",
                "projectEnvironments",
                "projectKey",
                "repoLayoutRef",
                "xrayIndex"
            ],
            "inputProperties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering LocalGoRepository resources.\n",
                "properties": {
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "the identity key of the repo.\n"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/localGradleRepository:LocalGradleRepository": {
            "description": "Creates a local Gradle repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst terraform_local_test_gradle_repo_basic = new artifactory.LocalGradleRepository(\"terraform-local-test-gradle-repo-basic\", {\n    key: \"terraform-local-test-gradle-repo-basic\",\n    checksumPolicyType: \"client-checksums\",\n    snapshotVersionBehavior: \"unique\",\n    maxUniqueSnapshots: 10,\n    handleReleases: true,\n    handleSnapshots: true,\n    suppressPomConsistencyChecks: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nterraform_local_test_gradle_repo_basic = artifactory.LocalGradleRepository(\"terraform-local-test-gradle-repo-basic\",\n    key=\"terraform-local-test-gradle-repo-basic\",\n    checksum_policy_type=\"client-checksums\",\n    snapshot_version_behavior=\"unique\",\n    max_unique_snapshots=10,\n    handle_releases=True,\n    handle_snapshots=True,\n    suppress_pom_consistency_checks=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var terraform_local_test_gradle_repo_basic = new Artifactory.LocalGradleRepository(\"terraform-local-test-gradle-repo-basic\", new()\n    {\n        Key = \"terraform-local-test-gradle-repo-basic\",\n        ChecksumPolicyType = \"client-checksums\",\n        SnapshotVersionBehavior = \"unique\",\n        MaxUniqueSnapshots = 10,\n        HandleReleases = true,\n        HandleSnapshots = true,\n        SuppressPomConsistencyChecks = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewLocalGradleRepository(ctx, \"terraform-local-test-gradle-repo-basic\", \u0026artifactory.LocalGradleRepositoryArgs{\n\t\t\tKey:                          pulumi.String(\"terraform-local-test-gradle-repo-basic\"),\n\t\t\tChecksumPolicyType:           pulumi.String(\"client-checksums\"),\n\t\t\tSnapshotVersionBehavior:      pulumi.String(\"unique\"),\n\t\t\tMaxUniqueSnapshots:           pulumi.Int(10),\n\t\t\tHandleReleases:               pulumi.Bool(true),\n\t\t\tHandleSnapshots:              pulumi.Bool(true),\n\t\t\tSuppressPomConsistencyChecks: 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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_localgradlerepository\" \"terraform-local-test-gradle-repo-basic\" {\n  key                             = \"terraform-local-test-gradle-repo-basic\"\n  checksum_policy_type            = \"client-checksums\"\n  snapshot_version_behavior       = \"unique\"\n  max_unique_snapshots            = 10\n  handle_releases                 = true\n  handle_snapshots                = true\n  suppress_pom_consistency_checks = true\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.LocalGradleRepository;\nimport com.pulumi.artifactory.LocalGradleRepositoryArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 terraform_local_test_gradle_repo_basic = new LocalGradleRepository(\"terraform-local-test-gradle-repo-basic\", LocalGradleRepositoryArgs.builder()\n            .key(\"terraform-local-test-gradle-repo-basic\")\n            .checksumPolicyType(\"client-checksums\")\n            .snapshotVersionBehavior(\"unique\")\n            .maxUniqueSnapshots(10)\n            .handleReleases(true)\n            .handleSnapshots(true)\n            .suppressPomConsistencyChecks(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  terraform-local-test-gradle-repo-basic:\n    type: artifactory:LocalGradleRepository\n    properties:\n      key: terraform-local-test-gradle-repo-basic\n      checksumPolicyType: client-checksums\n      snapshotVersionBehavior: unique\n      maxUniqueSnapshots: 10\n      handleReleases: true\n      handleSnapshots: true\n      suppressPomConsistencyChecks: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLocal repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/localGradleRepository:LocalGradleRepository terraform-local-test-gradle-repo-basic terraform-local-test-gradle-repo-basic\n```\n\n",
            "properties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "checksumPolicyType": {
                    "type": "string",
                    "description": "Checksum policy determines how Artifactory behaves when a client checksum for a deployed\nresource is missing or conflicts with the locally calculated checksum (bad checksum). The options are\n`client-checksums` and `generated-checksums`. For more details,\nplease refer to [Checksum Policy](https://www.jfrog.com/confluence/display/JFROG/Local+Repositories#LocalRepositories-ChecksumPolicy).\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "handleReleases": {
                    "type": "boolean",
                    "description": "If set, Artifactory allows you to deploy release artifacts into this repository. Default is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                },
                "handleSnapshots": {
                    "type": "boolean",
                    "description": "If set, Artifactory allows you to deploy snapshot artifacts into this repository. Default is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "maxUniqueSnapshots": {
                    "type": "integer",
                    "description": "The maximum number of unique snapshots of a single artifact to store.\nOnce the number of snapshots exceeds this setting, older versions are removed.\nA value of 0 (default) indicates there is no limit, and unique snapshots are not cleaned up.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "snapshotVersionBehavior": {
                    "type": "string",
                    "description": "Specifies the naming convention for Maven SNAPSHOT versions.\nThe options are -\n"
                },
                "suppressPomConsistencyChecks": {
                    "type": "boolean",
                    "description": "By default, Artifactory keeps your repositories healthy by refusing POMs with incorrect coordinates (path).\nIf the groupId:artifactId:version information inside the POM does not match the deployed path, Artifactory rejects the deployment with a \"409 Conflict\" error.\nYou can disable this behavior by setting the Suppress POM Consistency Checks checkbox. True by default for Gradle repository.\n"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "archiveBrowsingEnabled",
                "blackedOut",
                "cdnRedirect",
                "checksumPolicyType",
                "description",
                "downloadDirect",
                "excludesPattern",
                "handleReleases",
                "handleSnapshots",
                "includesPattern",
                "key",
                "maxUniqueSnapshots",
                "notes",
                "priorityResolution",
                "projectEnvironments",
                "projectKey",
                "repoLayoutRef",
                "snapshotVersionBehavior",
                "suppressPomConsistencyChecks",
                "xrayIndex"
            ],
            "inputProperties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "checksumPolicyType": {
                    "type": "string",
                    "description": "Checksum policy determines how Artifactory behaves when a client checksum for a deployed\nresource is missing or conflicts with the locally calculated checksum (bad checksum). The options are\n`client-checksums` and `generated-checksums`. For more details,\nplease refer to [Checksum Policy](https://www.jfrog.com/confluence/display/JFROG/Local+Repositories#LocalRepositories-ChecksumPolicy).\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "handleReleases": {
                    "type": "boolean",
                    "description": "If set, Artifactory allows you to deploy release artifacts into this repository. Default is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                },
                "handleSnapshots": {
                    "type": "boolean",
                    "description": "If set, Artifactory allows you to deploy snapshot artifacts into this repository. Default is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "maxUniqueSnapshots": {
                    "type": "integer",
                    "description": "The maximum number of unique snapshots of a single artifact to store.\nOnce the number of snapshots exceeds this setting, older versions are removed.\nA value of 0 (default) indicates there is no limit, and unique snapshots are not cleaned up.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "snapshotVersionBehavior": {
                    "type": "string",
                    "description": "Specifies the naming convention for Maven SNAPSHOT versions.\nThe options are -\n"
                },
                "suppressPomConsistencyChecks": {
                    "type": "boolean",
                    "description": "By default, Artifactory keeps your repositories healthy by refusing POMs with incorrect coordinates (path).\nIf the groupId:artifactId:version information inside the POM does not match the deployed path, Artifactory rejects the deployment with a \"409 Conflict\" error.\nYou can disable this behavior by setting the Suppress POM Consistency Checks checkbox. True by default for Gradle repository.\n"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering LocalGradleRepository resources.\n",
                "properties": {
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "checksumPolicyType": {
                        "type": "string",
                        "description": "Checksum policy determines how Artifactory behaves when a client checksum for a deployed\nresource is missing or conflicts with the locally calculated checksum (bad checksum). The options are\n`client-checksums` and `generated-checksums`. For more details,\nplease refer to [Checksum Policy](https://www.jfrog.com/confluence/display/JFROG/Local+Repositories#LocalRepositories-ChecksumPolicy).\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "handleReleases": {
                        "type": "boolean",
                        "description": "If set, Artifactory allows you to deploy release artifacts into this repository. Default is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                    },
                    "handleSnapshots": {
                        "type": "boolean",
                        "description": "If set, Artifactory allows you to deploy snapshot artifacts into this repository. Default is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "the identity key of the repo.\n"
                    },
                    "maxUniqueSnapshots": {
                        "type": "integer",
                        "description": "The maximum number of unique snapshots of a single artifact to store.\nOnce the number of snapshots exceeds this setting, older versions are removed.\nA value of 0 (default) indicates there is no limit, and unique snapshots are not cleaned up.\n"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                    },
                    "snapshotVersionBehavior": {
                        "type": "string",
                        "description": "Specifies the naming convention for Maven SNAPSHOT versions.\nThe options are -\n"
                    },
                    "suppressPomConsistencyChecks": {
                        "type": "boolean",
                        "description": "By default, Artifactory keeps your repositories healthy by refusing POMs with incorrect coordinates (path).\nIf the groupId:artifactId:version information inside the POM does not match the deployed path, Artifactory rejects the deployment with a \"409 Conflict\" error.\nYou can disable this behavior by setting the Suppress POM Consistency Checks checkbox. True by default for Gradle repository.\n"
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/localHelmRepository:LocalHelmRepository": {
            "description": "Creates a local Helm repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst terraform_local_test_helm_repo = new artifactory.LocalHelmRepository(\"terraform-local-test-helm-repo\", {\n    key: \"terraform-local-test-helm-repo\",\n    forceNonDuplicateChart: true,\n    forceMetadataNameVersion: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nterraform_local_test_helm_repo = artifactory.LocalHelmRepository(\"terraform-local-test-helm-repo\",\n    key=\"terraform-local-test-helm-repo\",\n    force_non_duplicate_chart=True,\n    force_metadata_name_version=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var terraform_local_test_helm_repo = new Artifactory.LocalHelmRepository(\"terraform-local-test-helm-repo\", new()\n    {\n        Key = \"terraform-local-test-helm-repo\",\n        ForceNonDuplicateChart = true,\n        ForceMetadataNameVersion = false,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewLocalHelmRepository(ctx, \"terraform-local-test-helm-repo\", \u0026artifactory.LocalHelmRepositoryArgs{\n\t\t\tKey:                      pulumi.String(\"terraform-local-test-helm-repo\"),\n\t\t\tForceNonDuplicateChart:   pulumi.Bool(true),\n\t\t\tForceMetadataNameVersion: pulumi.Bool(false),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_localhelmrepository\" \"terraform-local-test-helm-repo\" {\n  key                         = \"terraform-local-test-helm-repo\"\n  force_non_duplicate_chart   = true\n  force_metadata_name_version = false\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.LocalHelmRepository;\nimport com.pulumi.artifactory.LocalHelmRepositoryArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 terraform_local_test_helm_repo = new LocalHelmRepository(\"terraform-local-test-helm-repo\", LocalHelmRepositoryArgs.builder()\n            .key(\"terraform-local-test-helm-repo\")\n            .forceNonDuplicateChart(true)\n            .forceMetadataNameVersion(false)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  terraform-local-test-helm-repo:\n    type: artifactory:LocalHelmRepository\n    properties:\n      key: terraform-local-test-helm-repo\n      forceNonDuplicateChart: true\n      forceMetadataNameVersion: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLocal repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/localHelmRepository:LocalHelmRepository terraform-local-test-helm-repo terraform-local-test-helm-repo\n```\n\n",
            "properties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "forceMetadataNameVersion": {
                    "type": "boolean",
                    "description": "Ensures that the chart name and version in the file name match the values in Chart.yaml and adhere to SemVer standards. Only available for 7.104.0 onward. Cannot be updated after it is set.\n"
                },
                "forceNonDuplicateChart": {
                    "type": "boolean",
                    "description": "Prevents the deployment of charts with the same name and version in different repository paths. Only available for 7.104.0 onward. Cannot be updated after it is set.\n"
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "archiveBrowsingEnabled",
                "blackedOut",
                "cdnRedirect",
                "description",
                "downloadDirect",
                "excludesPattern",
                "forceMetadataNameVersion",
                "forceNonDuplicateChart",
                "includesPattern",
                "key",
                "notes",
                "priorityResolution",
                "projectEnvironments",
                "projectKey",
                "repoLayoutRef",
                "xrayIndex"
            ],
            "inputProperties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "forceMetadataNameVersion": {
                    "type": "boolean",
                    "description": "Ensures that the chart name and version in the file name match the values in Chart.yaml and adhere to SemVer standards. Only available for 7.104.0 onward. Cannot be updated after it is set.\n"
                },
                "forceNonDuplicateChart": {
                    "type": "boolean",
                    "description": "Prevents the deployment of charts with the same name and version in different repository paths. Only available for 7.104.0 onward. Cannot be updated after it is set.\n"
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering LocalHelmRepository resources.\n",
                "properties": {
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "forceMetadataNameVersion": {
                        "type": "boolean",
                        "description": "Ensures that the chart name and version in the file name match the values in Chart.yaml and adhere to SemVer standards. Only available for 7.104.0 onward. Cannot be updated after it is set.\n"
                    },
                    "forceNonDuplicateChart": {
                        "type": "boolean",
                        "description": "Prevents the deployment of charts with the same name and version in different repository paths. Only available for 7.104.0 onward. Cannot be updated after it is set.\n"
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "the identity key of the repo.\n"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/localHelmociRepository:LocalHelmociRepository": {
            "description": "Creates a local Helm OCI repository.\n\nOfficial documentation can be found [here](https://jfrog.com/help/r/jfrog-artifactory-documentation/helm-oci-repositories)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst my_helmoci_local = new artifactory.LocalHelmociRepository(\"my-helmoci-local\", {\n    key: \"my-helmoci-local\",\n    tagRetention: 3,\n    maxUniqueTags: 5,\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nmy_helmoci_local = artifactory.LocalHelmociRepository(\"my-helmoci-local\",\n    key=\"my-helmoci-local\",\n    tag_retention=3,\n    max_unique_tags=5)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var my_helmoci_local = new Artifactory.LocalHelmociRepository(\"my-helmoci-local\", new()\n    {\n        Key = \"my-helmoci-local\",\n        TagRetention = 3,\n        MaxUniqueTags = 5,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewLocalHelmociRepository(ctx, \"my-helmoci-local\", \u0026artifactory.LocalHelmociRepositoryArgs{\n\t\t\tKey:           pulumi.String(\"my-helmoci-local\"),\n\t\t\tTagRetention:  pulumi.Int(3),\n\t\t\tMaxUniqueTags: pulumi.Int(5),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_localhelmocirepository\" \"my-helmoci-local\" {\n  key             = \"my-helmoci-local\"\n  tag_retention   = 3\n  max_unique_tags = 5\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.LocalHelmociRepository;\nimport com.pulumi.artifactory.LocalHelmociRepositoryArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 my_helmoci_local = new LocalHelmociRepository(\"my-helmoci-local\", LocalHelmociRepositoryArgs.builder()\n            .key(\"my-helmoci-local\")\n            .tagRetention(3)\n            .maxUniqueTags(5)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  my-helmoci-local:\n    type: artifactory:LocalHelmociRepository\n    properties:\n      key: my-helmoci-local\n      tagRetention: 3\n      maxUniqueTags: 5\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLocal repositories can be imported using their name, e.g.\n\n```sh\n$ pulumi import artifactory:index/localHelmociRepository:LocalHelmociRepository my-helmoci-local my-helmoci-local\n```\n\n",
            "properties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "maxUniqueTags": {
                    "type": "integer",
                    "description": "The maximum number of unique tags of a single OCI image to store in this \nrepository. Once the number tags for an image exceeds this setting, older tags are removed. A value of 0 (default) indicates there is no limit.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "tagRetention": {
                    "type": "integer",
                    "description": "If greater than 1, overwritten tags will be saved by their digest, up to the set up number.\n"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "archiveBrowsingEnabled",
                "blackedOut",
                "cdnRedirect",
                "description",
                "downloadDirect",
                "excludesPattern",
                "includesPattern",
                "key",
                "maxUniqueTags",
                "notes",
                "priorityResolution",
                "projectEnvironments",
                "projectKey",
                "repoLayoutRef",
                "tagRetention",
                "xrayIndex"
            ],
            "inputProperties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "maxUniqueTags": {
                    "type": "integer",
                    "description": "The maximum number of unique tags of a single OCI image to store in this \nrepository. Once the number tags for an image exceeds this setting, older tags are removed. A value of 0 (default) indicates there is no limit.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "tagRetention": {
                    "type": "integer",
                    "description": "If greater than 1, overwritten tags will be saved by their digest, up to the set up number.\n"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering LocalHelmociRepository resources.\n",
                "properties": {
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "the identity key of the repo.\n"
                    },
                    "maxUniqueTags": {
                        "type": "integer",
                        "description": "The maximum number of unique tags of a single OCI image to store in this \nrepository. Once the number tags for an image exceeds this setting, older tags are removed. A value of 0 (default) indicates there is no limit.\n"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                    },
                    "tagRetention": {
                        "type": "integer",
                        "description": "If greater than 1, overwritten tags will be saved by their digest, up to the set up number.\n"
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/localHexRepository:LocalHexRepository": {
            "description": "Creates a local Hex repository for storing Elixir/Erlang packages.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\nimport * as std from \"@pulumi/std\";\n\nconst some_keypairRSA = new artifactory.Keypair(\"some-keypairRSA\", {\n    pairName: `some-keypair${randid.id}`,\n    pairType: \"RSA\",\n    alias: \"foo-alias\",\n    privateKey: std.file({\n        input: \"samples/rsa.priv\",\n    }).then(invoke =\u003e invoke.result),\n    publicKey: std.file({\n        input: \"samples/rsa.pub\",\n    }).then(invoke =\u003e invoke.result),\n});\nconst my_hex_repo = new artifactory.LocalHexRepository(\"my-hex-repo\", {\n    key: \"my-hex-repo\",\n    hexPrimaryKeypairRef: some_keypairRSA.pairName,\n    description: \"Local Hex repository for Elixir packages\",\n    notes: \"Internal repository\",\n}, {\n    dependsOn: [some_keypairRSA],\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\nimport pulumi_std as std\n\nsome_keypair_rsa = artifactory.Keypair(\"some-keypairRSA\",\n    pair_name=f\"some-keypair{randid['id']}\",\n    pair_type=\"RSA\",\n    alias=\"foo-alias\",\n    private_key=std.file(input=\"samples/rsa.priv\").result,\n    public_key=std.file(input=\"samples/rsa.pub\").result)\nmy_hex_repo = artifactory.LocalHexRepository(\"my-hex-repo\",\n    key=\"my-hex-repo\",\n    hex_primary_keypair_ref=some_keypair_rsa.pair_name,\n    description=\"Local Hex repository for Elixir packages\",\n    notes=\"Internal repository\",\n    opts = pulumi.ResourceOptions(depends_on=[some_keypair_rsa]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var some_keypairRSA = new Artifactory.Keypair(\"some-keypairRSA\", new()\n    {\n        PairName = $\"some-keypair{randid.Id}\",\n        PairType = \"RSA\",\n        Alias = \"foo-alias\",\n        PrivateKey = Std.File.Invoke(new()\n        {\n            Input = \"samples/rsa.priv\",\n        }).Apply(invoke =\u003e invoke.Result),\n        PublicKey = Std.File.Invoke(new()\n        {\n            Input = \"samples/rsa.pub\",\n        }).Apply(invoke =\u003e invoke.Result),\n    });\n\n    var my_hex_repo = new Artifactory.LocalHexRepository(\"my-hex-repo\", new()\n    {\n        Key = \"my-hex-repo\",\n        HexPrimaryKeypairRef = some_keypairRSA.PairName,\n        Description = \"Local Hex repository for Elixir packages\",\n        Notes = \"Internal repository\",\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            some_keypairRSA,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"samples/rsa.priv\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile1, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"samples/rsa.pub\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsome_keypairRSA, err := artifactory.NewKeypair(ctx, \"some-keypairRSA\", \u0026artifactory.KeypairArgs{\n\t\t\tPairName:   pulumi.Sprintf(\"some-keypair%v\", randid.Id),\n\t\t\tPairType:   pulumi.String(\"RSA\"),\n\t\t\tAlias:      pulumi.String(\"foo-alias\"),\n\t\t\tPrivateKey: pulumi.String(invokeFile.Result),\n\t\t\tPublicKey:  pulumi.String(invokeFile1.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = artifactory.NewLocalHexRepository(ctx, \"my-hex-repo\", \u0026artifactory.LocalHexRepositoryArgs{\n\t\t\tKey:                  pulumi.String(\"my-hex-repo\"),\n\t\t\tHexPrimaryKeypairRef: some_keypairRSA.PairName,\n\t\t\tDescription:          pulumi.String(\"Local Hex repository for Elixir packages\"),\n\t\t\tNotes:                pulumi.String(\"Internal repository\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tsome_keypairRSA,\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n    std = {\n      source = \"pulumi/std\"\n    }\n  }\n}\n\nresource \"artifactory_keypair\" \"some-keypairRSA\" {\n  pair_name   =\"some-keypair${randid.id}\"\n  pair_type   = \"RSA\"\n  alias       = \"foo-alias\"\n  private_key = file(\"samples/rsa.priv\")\n  public_key  = file(\"samples/rsa.pub\")\n}\nresource \"artifactory_localhexrepository\" \"my-hex-repo\" {\n  depends_on              = [artifactory_keypair.some-keypairRSA]\n  key                     = \"my-hex-repo\"\n  hex_primary_keypair_ref = artifactory_keypair.some-keypairRSA.pair_name\n  description             = \"Local Hex repository for Elixir packages\"\n  notes                   = \"Internal repository\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.Keypair;\nimport com.pulumi.artifactory.KeypairArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FileArgs;\nimport com.pulumi.artifactory.LocalHexRepository;\nimport com.pulumi.artifactory.LocalHexRepositoryArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 some_keypairRSA = new Keypair(\"some-keypairRSA\", KeypairArgs.builder()\n            .pairName(String.format(\"some-keypair%s\", randid.id()))\n            .pairType(\"RSA\")\n            .alias(\"foo-alias\")\n            .privateKey(StdFunctions.file(FileArgs.builder()\n                .input(\"samples/rsa.priv\")\n                .build()).result())\n            .publicKey(StdFunctions.file(FileArgs.builder()\n                .input(\"samples/rsa.pub\")\n                .build()).result())\n            .build());\n\n        var my_hex_repo = new LocalHexRepository(\"my-hex-repo\", LocalHexRepositoryArgs.builder()\n            .key(\"my-hex-repo\")\n            .hexPrimaryKeypairRef(some_keypairRSA.pairName())\n            .description(\"Local Hex repository for Elixir packages\")\n            .notes(\"Internal repository\")\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(some_keypairRSA)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  some-keypairRSA:\n    type: artifactory:Keypair\n    properties:\n      pairName: some-keypair${randid.id}\n      pairType: RSA\n      alias: foo-alias\n      privateKey:\n        fn::invoke:\n          function: std:file\n          arguments:\n            input: samples/rsa.priv\n          return: result\n      publicKey:\n        fn::invoke:\n          function: std:file\n          arguments:\n            input: samples/rsa.pub\n          return: result\n  my-hex-repo:\n    type: artifactory:LocalHexRepository\n    properties:\n      key: my-hex-repo\n      hexPrimaryKeypairRef: ${[\"some-keypairRSA\"].pairName}\n      description: Local Hex repository for Elixir packages\n      notes: Internal repository\n    options:\n      dependsOn:\n        - ${[\"some-keypairRSA\"]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLocal repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/localHexRepository:LocalHexRepository my-hex-repo my-hex-repo\n```\n\n",
            "properties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "hexPrimaryKeypairRef": {
                    "type": "string",
                    "description": "Select the RSA key pair to sign and encrypt content for secure communication between Artifactory and the Mix client.\n"
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Artifactory REST API call Get Key Pair doesn't return keys \u003cspan pulumi-lang-nodejs=\"`privateKey`\" pulumi-lang-dotnet=\"`PrivateKey`\" pulumi-lang-go=\"`privateKey`\" pulumi-lang-python=\"`private_key`\" pulumi-lang-yaml=\"`privateKey`\" pulumi-lang-java=\"`privateKey`\" pulumi-lang-hcl=\"`private_key`\"\u003e`privateKey`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`passphrase`\" pulumi-lang-dotnet=\"`Passphrase`\" pulumi-lang-go=\"`passphrase`\" pulumi-lang-python=\"`passphrase`\" pulumi-lang-yaml=\"`passphrase`\" pulumi-lang-java=\"`passphrase`\" pulumi-lang-hcl=\"`passphrase`\"\u003e`passphrase`\u003c/span\u003e, but consumes these keys in the POST call.\n\nThe meta-argument \u003cspan pulumi-lang-nodejs=\"`lifecycle`\" pulumi-lang-dotnet=\"`Lifecycle`\" pulumi-lang-go=\"`lifecycle`\" pulumi-lang-python=\"`lifecycle`\" pulumi-lang-yaml=\"`lifecycle`\" pulumi-lang-java=\"`lifecycle`\" pulumi-lang-hcl=\"`lifecycle`\"\u003e`lifecycle`\u003c/span\u003e used here to make Provider ignore the changes for these two keys in the Terraform state.\n"
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "archiveBrowsingEnabled",
                "blackedOut",
                "cdnRedirect",
                "description",
                "downloadDirect",
                "excludesPattern",
                "hexPrimaryKeypairRef",
                "includesPattern",
                "key",
                "notes",
                "priorityResolution",
                "projectEnvironments",
                "projectKey",
                "repoLayoutRef",
                "xrayIndex"
            ],
            "inputProperties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "hexPrimaryKeypairRef": {
                    "type": "string",
                    "description": "Select the RSA key pair to sign and encrypt content for secure communication between Artifactory and the Mix client.\n"
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Artifactory REST API call Get Key Pair doesn't return keys \u003cspan pulumi-lang-nodejs=\"`privateKey`\" pulumi-lang-dotnet=\"`PrivateKey`\" pulumi-lang-go=\"`privateKey`\" pulumi-lang-python=\"`private_key`\" pulumi-lang-yaml=\"`privateKey`\" pulumi-lang-java=\"`privateKey`\" pulumi-lang-hcl=\"`private_key`\"\u003e`privateKey`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`passphrase`\" pulumi-lang-dotnet=\"`Passphrase`\" pulumi-lang-go=\"`passphrase`\" pulumi-lang-python=\"`passphrase`\" pulumi-lang-yaml=\"`passphrase`\" pulumi-lang-java=\"`passphrase`\" pulumi-lang-hcl=\"`passphrase`\"\u003e`passphrase`\u003c/span\u003e, but consumes these keys in the POST call.\n\nThe meta-argument \u003cspan pulumi-lang-nodejs=\"`lifecycle`\" pulumi-lang-dotnet=\"`Lifecycle`\" pulumi-lang-go=\"`lifecycle`\" pulumi-lang-python=\"`lifecycle`\" pulumi-lang-yaml=\"`lifecycle`\" pulumi-lang-java=\"`lifecycle`\" pulumi-lang-hcl=\"`lifecycle`\"\u003e`lifecycle`\u003c/span\u003e used here to make Provider ignore the changes for these two keys in the Terraform state.\n"
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "hexPrimaryKeypairRef",
                "key"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering LocalHexRepository resources.\n",
                "properties": {
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "hexPrimaryKeypairRef": {
                        "type": "string",
                        "description": "Select the RSA key pair to sign and encrypt content for secure communication between Artifactory and the Mix client.\n"
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "the identity key of the repo.\n"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Artifactory REST API call Get Key Pair doesn't return keys \u003cspan pulumi-lang-nodejs=\"`privateKey`\" pulumi-lang-dotnet=\"`PrivateKey`\" pulumi-lang-go=\"`privateKey`\" pulumi-lang-python=\"`private_key`\" pulumi-lang-yaml=\"`privateKey`\" pulumi-lang-java=\"`privateKey`\" pulumi-lang-hcl=\"`private_key`\"\u003e`privateKey`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`passphrase`\" pulumi-lang-dotnet=\"`Passphrase`\" pulumi-lang-go=\"`passphrase`\" pulumi-lang-python=\"`passphrase`\" pulumi-lang-yaml=\"`passphrase`\" pulumi-lang-java=\"`passphrase`\" pulumi-lang-hcl=\"`passphrase`\"\u003e`passphrase`\u003c/span\u003e, but consumes these keys in the POST call.\n\nThe meta-argument \u003cspan pulumi-lang-nodejs=\"`lifecycle`\" pulumi-lang-dotnet=\"`Lifecycle`\" pulumi-lang-go=\"`lifecycle`\" pulumi-lang-python=\"`lifecycle`\" pulumi-lang-yaml=\"`lifecycle`\" pulumi-lang-java=\"`lifecycle`\" pulumi-lang-hcl=\"`lifecycle`\"\u003e`lifecycle`\u003c/span\u003e used here to make Provider ignore the changes for these two keys in the Terraform state.\n"
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/localHuggingfacemlRepository:LocalHuggingfacemlRepository": {
            "description": "Creates a local Hugging Face repository.\n\nOfficial documentation can be found [here](https://jfrog.com/help/r/jfrog-artifactory-documentation/set-up-local-hugging-face-repositories).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst local_huggingfaceml_repo = new artifactory.LocalHuggingfacemlRepository(\"local-huggingfaceml-repo\", {key: \"local-huggingfaceml-repo\"});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nlocal_huggingfaceml_repo = artifactory.LocalHuggingfacemlRepository(\"local-huggingfaceml-repo\", key=\"local-huggingfaceml-repo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var local_huggingfaceml_repo = new Artifactory.LocalHuggingfacemlRepository(\"local-huggingfaceml-repo\", new()\n    {\n        Key = \"local-huggingfaceml-repo\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewLocalHuggingfacemlRepository(ctx, \"local-huggingfaceml-repo\", \u0026artifactory.LocalHuggingfacemlRepositoryArgs{\n\t\t\tKey: pulumi.String(\"local-huggingfaceml-repo\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_localhuggingfacemlrepository\" \"local-huggingfaceml-repo\" {\n  key = \"local-huggingfaceml-repo\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.LocalHuggingfacemlRepository;\nimport com.pulumi.artifactory.LocalHuggingfacemlRepositoryArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 local_huggingfaceml_repo = new LocalHuggingfacemlRepository(\"local-huggingfaceml-repo\", LocalHuggingfacemlRepositoryArgs.builder()\n            .key(\"local-huggingfaceml-repo\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  local-huggingfaceml-repo:\n    type: artifactory:LocalHuggingfacemlRepository\n    properties:\n      key: local-huggingfaceml-repo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLocal repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/localHuggingfacemlRepository:LocalHuggingfacemlRepository local-huggingfaceml-repo local-huggingfaceml-repo\n```\n\n",
            "properties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "archiveBrowsingEnabled",
                "blackedOut",
                "cdnRedirect",
                "description",
                "downloadDirect",
                "excludesPattern",
                "includesPattern",
                "key",
                "notes",
                "priorityResolution",
                "projectEnvironments",
                "projectKey",
                "repoLayoutRef",
                "xrayIndex"
            ],
            "inputProperties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering LocalHuggingfacemlRepository resources.\n",
                "properties": {
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "the identity key of the repo.\n"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/localIvyRepository:LocalIvyRepository": {
            "description": "Creates a local Ivy repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst terraform_local_test_ivy_repo = new artifactory.LocalIvyRepository(\"terraform-local-test-ivy-repo\", {key: \"terraform-local-test-ivy-repo\"});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nterraform_local_test_ivy_repo = artifactory.LocalIvyRepository(\"terraform-local-test-ivy-repo\", key=\"terraform-local-test-ivy-repo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var terraform_local_test_ivy_repo = new Artifactory.LocalIvyRepository(\"terraform-local-test-ivy-repo\", new()\n    {\n        Key = \"terraform-local-test-ivy-repo\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewLocalIvyRepository(ctx, \"terraform-local-test-ivy-repo\", \u0026artifactory.LocalIvyRepositoryArgs{\n\t\t\tKey: pulumi.String(\"terraform-local-test-ivy-repo\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_localivyrepository\" \"terraform-local-test-ivy-repo\" {\n  key = \"terraform-local-test-ivy-repo\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.LocalIvyRepository;\nimport com.pulumi.artifactory.LocalIvyRepositoryArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 terraform_local_test_ivy_repo = new LocalIvyRepository(\"terraform-local-test-ivy-repo\", LocalIvyRepositoryArgs.builder()\n            .key(\"terraform-local-test-ivy-repo\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  terraform-local-test-ivy-repo:\n    type: artifactory:LocalIvyRepository\n    properties:\n      key: terraform-local-test-ivy-repo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLocal repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/localIvyRepository:LocalIvyRepository terraform-local-test-ivy-repo terraform-local-test-ivy-repo\n```\n\n",
            "properties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "checksumPolicyType": {
                    "type": "string",
                    "description": "Checksum policy determines how Artifactory behaves when a client checksum for a deployed resource is missing or conflicts with the locally calculated checksum (bad checksum). Options are: \"client-checksums\", or \"server-generated-checksums\". Default: \"client-checksums\"\\n For more details, please refer to Checksum Policy - https://www.jfrog.com/confluence/display/JFROG/Local+Repositories#LocalRepositories-ChecksumPolicy"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "handleReleases": {
                    "type": "boolean",
                    "description": "If set, Artifactory allows you to deploy release artifacts into this repository."
                },
                "handleSnapshots": {
                    "type": "boolean",
                    "description": "If set, Artifactory allows you to deploy snapshot artifacts into this repository."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "maxUniqueSnapshots": {
                    "type": "integer",
                    "description": "The maximum number of unique snapshots of a single artifact to store. Once the number of snapshots exceeds this setting, older versions are removed. A value of 0 (default) indicates there is no limit, and unique snapshots are not cleaned up."
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "snapshotVersionBehavior": {
                    "type": "string",
                    "description": "Specifies the naming convention for Maven SNAPSHOT versions. The options are - \u003cspan pulumi-lang-nodejs=\"`unique`\" pulumi-lang-dotnet=\"`Unique`\" pulumi-lang-go=\"`unique`\" pulumi-lang-python=\"`unique`\" pulumi-lang-yaml=\"`unique`\" pulumi-lang-java=\"`unique`\" pulumi-lang-hcl=\"`unique`\"\u003e`unique`\u003c/span\u003e: Version number is based on a time-stamp (default), `non-unique`: Version number uses a self-overriding naming pattern of artifactId-version-SNAPSHOT.type, \u003cspan pulumi-lang-nodejs=\"`deployer`\" pulumi-lang-dotnet=\"`Deployer`\" pulumi-lang-go=\"`deployer`\" pulumi-lang-python=\"`deployer`\" pulumi-lang-yaml=\"`deployer`\" pulumi-lang-java=\"`deployer`\" pulumi-lang-hcl=\"`deployer`\"\u003e`deployer`\u003c/span\u003e: Respects the settings in the Maven client that is deploying the artifact."
                },
                "suppressPomConsistencyChecks": {
                    "type": "boolean",
                    "description": "By default, Artifactory keeps your repositories healthy by refusing POMs with incorrect coordinates (path). If the groupId:artifactId:version information inside the POM does not match the deployed path, Artifactory rejects the deployment with a `409 Conflict` error. You can disable this behavior by setting the Suppress POM Consistency Checks checkbox."
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "archiveBrowsingEnabled",
                "blackedOut",
                "cdnRedirect",
                "checksumPolicyType",
                "description",
                "downloadDirect",
                "excludesPattern",
                "handleReleases",
                "handleSnapshots",
                "includesPattern",
                "key",
                "maxUniqueSnapshots",
                "notes",
                "priorityResolution",
                "projectEnvironments",
                "projectKey",
                "repoLayoutRef",
                "snapshotVersionBehavior",
                "suppressPomConsistencyChecks",
                "xrayIndex"
            ],
            "inputProperties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "checksumPolicyType": {
                    "type": "string",
                    "description": "Checksum policy determines how Artifactory behaves when a client checksum for a deployed resource is missing or conflicts with the locally calculated checksum (bad checksum). Options are: \"client-checksums\", or \"server-generated-checksums\". Default: \"client-checksums\"\\n For more details, please refer to Checksum Policy - https://www.jfrog.com/confluence/display/JFROG/Local+Repositories#LocalRepositories-ChecksumPolicy"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "handleReleases": {
                    "type": "boolean",
                    "description": "If set, Artifactory allows you to deploy release artifacts into this repository."
                },
                "handleSnapshots": {
                    "type": "boolean",
                    "description": "If set, Artifactory allows you to deploy snapshot artifacts into this repository."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "maxUniqueSnapshots": {
                    "type": "integer",
                    "description": "The maximum number of unique snapshots of a single artifact to store. Once the number of snapshots exceeds this setting, older versions are removed. A value of 0 (default) indicates there is no limit, and unique snapshots are not cleaned up."
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "snapshotVersionBehavior": {
                    "type": "string",
                    "description": "Specifies the naming convention for Maven SNAPSHOT versions. The options are - \u003cspan pulumi-lang-nodejs=\"`unique`\" pulumi-lang-dotnet=\"`Unique`\" pulumi-lang-go=\"`unique`\" pulumi-lang-python=\"`unique`\" pulumi-lang-yaml=\"`unique`\" pulumi-lang-java=\"`unique`\" pulumi-lang-hcl=\"`unique`\"\u003e`unique`\u003c/span\u003e: Version number is based on a time-stamp (default), `non-unique`: Version number uses a self-overriding naming pattern of artifactId-version-SNAPSHOT.type, \u003cspan pulumi-lang-nodejs=\"`deployer`\" pulumi-lang-dotnet=\"`Deployer`\" pulumi-lang-go=\"`deployer`\" pulumi-lang-python=\"`deployer`\" pulumi-lang-yaml=\"`deployer`\" pulumi-lang-java=\"`deployer`\" pulumi-lang-hcl=\"`deployer`\"\u003e`deployer`\u003c/span\u003e: Respects the settings in the Maven client that is deploying the artifact."
                },
                "suppressPomConsistencyChecks": {
                    "type": "boolean",
                    "description": "By default, Artifactory keeps your repositories healthy by refusing POMs with incorrect coordinates (path). If the groupId:artifactId:version information inside the POM does not match the deployed path, Artifactory rejects the deployment with a `409 Conflict` error. You can disable this behavior by setting the Suppress POM Consistency Checks checkbox."
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering LocalIvyRepository resources.\n",
                "properties": {
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "checksumPolicyType": {
                        "type": "string",
                        "description": "Checksum policy determines how Artifactory behaves when a client checksum for a deployed resource is missing or conflicts with the locally calculated checksum (bad checksum). Options are: \"client-checksums\", or \"server-generated-checksums\". Default: \"client-checksums\"\\n For more details, please refer to Checksum Policy - https://www.jfrog.com/confluence/display/JFROG/Local+Repositories#LocalRepositories-ChecksumPolicy"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "handleReleases": {
                        "type": "boolean",
                        "description": "If set, Artifactory allows you to deploy release artifacts into this repository."
                    },
                    "handleSnapshots": {
                        "type": "boolean",
                        "description": "If set, Artifactory allows you to deploy snapshot artifacts into this repository."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "the identity key of the repo.\n"
                    },
                    "maxUniqueSnapshots": {
                        "type": "integer",
                        "description": "The maximum number of unique snapshots of a single artifact to store. Once the number of snapshots exceeds this setting, older versions are removed. A value of 0 (default) indicates there is no limit, and unique snapshots are not cleaned up."
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                    },
                    "snapshotVersionBehavior": {
                        "type": "string",
                        "description": "Specifies the naming convention for Maven SNAPSHOT versions. The options are - \u003cspan pulumi-lang-nodejs=\"`unique`\" pulumi-lang-dotnet=\"`Unique`\" pulumi-lang-go=\"`unique`\" pulumi-lang-python=\"`unique`\" pulumi-lang-yaml=\"`unique`\" pulumi-lang-java=\"`unique`\" pulumi-lang-hcl=\"`unique`\"\u003e`unique`\u003c/span\u003e: Version number is based on a time-stamp (default), `non-unique`: Version number uses a self-overriding naming pattern of artifactId-version-SNAPSHOT.type, \u003cspan pulumi-lang-nodejs=\"`deployer`\" pulumi-lang-dotnet=\"`Deployer`\" pulumi-lang-go=\"`deployer`\" pulumi-lang-python=\"`deployer`\" pulumi-lang-yaml=\"`deployer`\" pulumi-lang-java=\"`deployer`\" pulumi-lang-hcl=\"`deployer`\"\u003e`deployer`\u003c/span\u003e: Respects the settings in the Maven client that is deploying the artifact."
                    },
                    "suppressPomConsistencyChecks": {
                        "type": "boolean",
                        "description": "By default, Artifactory keeps your repositories healthy by refusing POMs with incorrect coordinates (path). If the groupId:artifactId:version information inside the POM does not match the deployed path, Artifactory rejects the deployment with a `409 Conflict` error. You can disable this behavior by setting the Suppress POM Consistency Checks checkbox."
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/localMachinelearningRepository:LocalMachinelearningRepository": {
            "description": "Provides a resource to creates a local Machine Learning repository.\n\nOfficial documentation can be found [here](https://jfrog.com/help/r/jfrog-artifactory-documentation/machine-learning-repositories).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst my_machinelearning_local = new artifactory.LocalMachinelearningRepository(\"my-machinelearning-local\", {key: \"my-machinelearning-local\"});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nmy_machinelearning_local = artifactory.LocalMachinelearningRepository(\"my-machinelearning-local\", key=\"my-machinelearning-local\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var my_machinelearning_local = new Artifactory.LocalMachinelearningRepository(\"my-machinelearning-local\", new()\n    {\n        Key = \"my-machinelearning-local\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewLocalMachinelearningRepository(ctx, \"my-machinelearning-local\", \u0026artifactory.LocalMachinelearningRepositoryArgs{\n\t\t\tKey: pulumi.String(\"my-machinelearning-local\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_localmachinelearningrepository\" \"my-machinelearning-local\" {\n  key = \"my-machinelearning-local\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.LocalMachinelearningRepository;\nimport com.pulumi.artifactory.LocalMachinelearningRepositoryArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 my_machinelearning_local = new LocalMachinelearningRepository(\"my-machinelearning-local\", LocalMachinelearningRepositoryArgs.builder()\n            .key(\"my-machinelearning-local\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  my-machinelearning-local:\n    type: artifactory:LocalMachinelearningRepository\n    properties:\n      key: my-machinelearning-local\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import artifactory:index/localMachinelearningRepository:LocalMachinelearningRepository my-machinelearning-local my-machinelearning-local\n```\n\n",
            "properties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks).\n"
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed.\n"
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "description": {
                    "type": "string",
                    "description": "Public description.\n"
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only.\n"
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded.\n"
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`).\n"
                },
                "key": {
                    "type": "string",
                    "description": "A mandatory identifier for the repository that must be unique. Must be 1 - 64 alphanumeric and hyphen characters. It cannot contain spaces or special characters.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description.\n"
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field\n"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Project environment for assigning this repository to. Allow values: \"DEV\", \"PROD\", or one of custom environment. Before Artifactory 7.53.1, up to 2 values (\"DEV\" and \"PROD\") are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed. The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update.\n"
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash.\n"
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name\n"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings.\n"
                }
            },
            "required": [
                "archiveBrowsingEnabled",
                "blackedOut",
                "cdnRedirect",
                "description",
                "downloadDirect",
                "excludesPattern",
                "includesPattern",
                "key",
                "notes",
                "priorityResolution",
                "projectEnvironments",
                "projectKey",
                "repoLayoutRef",
                "xrayIndex"
            ],
            "inputProperties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks).\n"
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed.\n"
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "description": {
                    "type": "string",
                    "description": "Public description.\n"
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only.\n"
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded.\n"
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`).\n"
                },
                "key": {
                    "type": "string",
                    "description": "A mandatory identifier for the repository that must be unique. Must be 1 - 64 alphanumeric and hyphen characters. It cannot contain spaces or special characters.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description.\n"
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field\n"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Project environment for assigning this repository to. Allow values: \"DEV\", \"PROD\", or one of custom environment. Before Artifactory 7.53.1, up to 2 values (\"DEV\" and \"PROD\") are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed. The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update.\n"
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash.\n"
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name\n"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings.\n"
                }
            },
            "requiredInputs": [
                "key"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering LocalMachinelearningRepository resources.\n",
                "properties": {
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks).\n"
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed.\n"
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description.\n"
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only.\n"
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded.\n"
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`).\n"
                    },
                    "key": {
                        "type": "string",
                        "description": "A mandatory identifier for the repository that must be unique. Must be 1 - 64 alphanumeric and hyphen characters. It cannot contain spaces or special characters.\n"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description.\n"
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field\n"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Project environment for assigning this repository to. Allow values: \"DEV\", \"PROD\", or one of custom environment. Before Artifactory 7.53.1, up to 2 values (\"DEV\" and \"PROD\") are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed. The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update.\n"
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash.\n"
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name\n"
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings.\n"
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/localMavenRepository:LocalMavenRepository": {
            "description": "Creates a local Maven repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst terraform_local_test_maven_repo_basic = new artifactory.LocalMavenRepository(\"terraform-local-test-maven-repo-basic\", {\n    key: \"terraform-local-test-maven-repo-basic\",\n    checksumPolicyType: \"client-checksums\",\n    snapshotVersionBehavior: \"unique\",\n    maxUniqueSnapshots: 10,\n    handleReleases: true,\n    handleSnapshots: true,\n    suppressPomConsistencyChecks: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nterraform_local_test_maven_repo_basic = artifactory.LocalMavenRepository(\"terraform-local-test-maven-repo-basic\",\n    key=\"terraform-local-test-maven-repo-basic\",\n    checksum_policy_type=\"client-checksums\",\n    snapshot_version_behavior=\"unique\",\n    max_unique_snapshots=10,\n    handle_releases=True,\n    handle_snapshots=True,\n    suppress_pom_consistency_checks=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var terraform_local_test_maven_repo_basic = new Artifactory.LocalMavenRepository(\"terraform-local-test-maven-repo-basic\", new()\n    {\n        Key = \"terraform-local-test-maven-repo-basic\",\n        ChecksumPolicyType = \"client-checksums\",\n        SnapshotVersionBehavior = \"unique\",\n        MaxUniqueSnapshots = 10,\n        HandleReleases = true,\n        HandleSnapshots = true,\n        SuppressPomConsistencyChecks = false,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewLocalMavenRepository(ctx, \"terraform-local-test-maven-repo-basic\", \u0026artifactory.LocalMavenRepositoryArgs{\n\t\t\tKey:                          pulumi.String(\"terraform-local-test-maven-repo-basic\"),\n\t\t\tChecksumPolicyType:           pulumi.String(\"client-checksums\"),\n\t\t\tSnapshotVersionBehavior:      pulumi.String(\"unique\"),\n\t\t\tMaxUniqueSnapshots:           pulumi.Int(10),\n\t\t\tHandleReleases:               pulumi.Bool(true),\n\t\t\tHandleSnapshots:              pulumi.Bool(true),\n\t\t\tSuppressPomConsistencyChecks: pulumi.Bool(false),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_localmavenrepository\" \"terraform-local-test-maven-repo-basic\" {\n  key                             = \"terraform-local-test-maven-repo-basic\"\n  checksum_policy_type            = \"client-checksums\"\n  snapshot_version_behavior       = \"unique\"\n  max_unique_snapshots            = 10\n  handle_releases                 = true\n  handle_snapshots                = true\n  suppress_pom_consistency_checks = false\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.LocalMavenRepository;\nimport com.pulumi.artifactory.LocalMavenRepositoryArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 terraform_local_test_maven_repo_basic = new LocalMavenRepository(\"terraform-local-test-maven-repo-basic\", LocalMavenRepositoryArgs.builder()\n            .key(\"terraform-local-test-maven-repo-basic\")\n            .checksumPolicyType(\"client-checksums\")\n            .snapshotVersionBehavior(\"unique\")\n            .maxUniqueSnapshots(10)\n            .handleReleases(true)\n            .handleSnapshots(true)\n            .suppressPomConsistencyChecks(false)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  terraform-local-test-maven-repo-basic:\n    type: artifactory:LocalMavenRepository\n    properties:\n      key: terraform-local-test-maven-repo-basic\n      checksumPolicyType: client-checksums\n      snapshotVersionBehavior: unique\n      maxUniqueSnapshots: 10\n      handleReleases: true\n      handleSnapshots: true\n      suppressPomConsistencyChecks: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLocal repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/localMavenRepository:LocalMavenRepository terraform-local-test-maven-repo-basic terraform-local-test-maven-repo-basic\n```\n\n",
            "properties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "checksumPolicyType": {
                    "type": "string",
                    "description": "Checksum policy determines how Artifactory behaves when a client checksum for a deployed resource is missing or conflicts with the locally calculated checksum (bad checksum). The options are:\n- `client-checksums`\n- `server-generated-checksums`.\nFor more details, please refer to [Checksum Policy](https://www.jfrog.com/confluence/display/JFROG/Local+Repositories#LocalRepositories-ChecksumPolicy).\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "handleReleases": {
                    "type": "boolean",
                    "description": "If set, Artifactory allows you to deploy release artifacts into this repository. Default is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                },
                "handleSnapshots": {
                    "type": "boolean",
                    "description": "If set, Artifactory allows you to deploy snapshot artifacts into this repository. Default is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "maxUniqueSnapshots": {
                    "type": "integer",
                    "description": "The maximum number of unique snapshots of a single artifact to store.\nOnce the number of snapshots exceeds this setting, older versions are removed.\nA value of 0 (default) indicates there is no limit, and unique snapshots are not cleaned up.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "snapshotVersionBehavior": {
                    "type": "string",
                    "description": "Specifies the naming convention for Maven SNAPSHOT versions.\nThe options are -\n"
                },
                "suppressPomConsistencyChecks": {
                    "type": "boolean",
                    "description": "By default, Artifactory keeps your repositories healthy by refusing POMs with incorrect coordinates (path).\nIf the groupId:artifactId:version information inside the POM does not match the deployed path, Artifactory rejects the deployment with a \"409 Conflict\" error.\nYou can disable this behavior by setting the Suppress POM Consistency Checks checkbox. False by default for Maven repository.\n"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "archiveBrowsingEnabled",
                "blackedOut",
                "cdnRedirect",
                "checksumPolicyType",
                "description",
                "downloadDirect",
                "excludesPattern",
                "handleReleases",
                "handleSnapshots",
                "includesPattern",
                "key",
                "maxUniqueSnapshots",
                "notes",
                "priorityResolution",
                "projectEnvironments",
                "projectKey",
                "repoLayoutRef",
                "snapshotVersionBehavior",
                "suppressPomConsistencyChecks",
                "xrayIndex"
            ],
            "inputProperties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "checksumPolicyType": {
                    "type": "string",
                    "description": "Checksum policy determines how Artifactory behaves when a client checksum for a deployed resource is missing or conflicts with the locally calculated checksum (bad checksum). The options are:\n- `client-checksums`\n- `server-generated-checksums`.\nFor more details, please refer to [Checksum Policy](https://www.jfrog.com/confluence/display/JFROG/Local+Repositories#LocalRepositories-ChecksumPolicy).\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "handleReleases": {
                    "type": "boolean",
                    "description": "If set, Artifactory allows you to deploy release artifacts into this repository. Default is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                },
                "handleSnapshots": {
                    "type": "boolean",
                    "description": "If set, Artifactory allows you to deploy snapshot artifacts into this repository. Default is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "maxUniqueSnapshots": {
                    "type": "integer",
                    "description": "The maximum number of unique snapshots of a single artifact to store.\nOnce the number of snapshots exceeds this setting, older versions are removed.\nA value of 0 (default) indicates there is no limit, and unique snapshots are not cleaned up.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "snapshotVersionBehavior": {
                    "type": "string",
                    "description": "Specifies the naming convention for Maven SNAPSHOT versions.\nThe options are -\n"
                },
                "suppressPomConsistencyChecks": {
                    "type": "boolean",
                    "description": "By default, Artifactory keeps your repositories healthy by refusing POMs with incorrect coordinates (path).\nIf the groupId:artifactId:version information inside the POM does not match the deployed path, Artifactory rejects the deployment with a \"409 Conflict\" error.\nYou can disable this behavior by setting the Suppress POM Consistency Checks checkbox. False by default for Maven repository.\n"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering LocalMavenRepository resources.\n",
                "properties": {
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "checksumPolicyType": {
                        "type": "string",
                        "description": "Checksum policy determines how Artifactory behaves when a client checksum for a deployed resource is missing or conflicts with the locally calculated checksum (bad checksum). The options are:\n- `client-checksums`\n- `server-generated-checksums`.\nFor more details, please refer to [Checksum Policy](https://www.jfrog.com/confluence/display/JFROG/Local+Repositories#LocalRepositories-ChecksumPolicy).\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "handleReleases": {
                        "type": "boolean",
                        "description": "If set, Artifactory allows you to deploy release artifacts into this repository. Default is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                    },
                    "handleSnapshots": {
                        "type": "boolean",
                        "description": "If set, Artifactory allows you to deploy snapshot artifacts into this repository. Default is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "the identity key of the repo.\n"
                    },
                    "maxUniqueSnapshots": {
                        "type": "integer",
                        "description": "The maximum number of unique snapshots of a single artifact to store.\nOnce the number of snapshots exceeds this setting, older versions are removed.\nA value of 0 (default) indicates there is no limit, and unique snapshots are not cleaned up.\n"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                    },
                    "snapshotVersionBehavior": {
                        "type": "string",
                        "description": "Specifies the naming convention for Maven SNAPSHOT versions.\nThe options are -\n"
                    },
                    "suppressPomConsistencyChecks": {
                        "type": "boolean",
                        "description": "By default, Artifactory keeps your repositories healthy by refusing POMs with incorrect coordinates (path).\nIf the groupId:artifactId:version information inside the POM does not match the deployed path, Artifactory rejects the deployment with a \"409 Conflict\" error.\nYou can disable this behavior by setting the Suppress POM Consistency Checks checkbox. False by default for Maven repository.\n"
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/localNixRepository:LocalNixRepository": {
            "description": "Creates a local Nix repository for hosting Nix store artifacts and channels. See [Nix repositories](https://docs.jfrog.com/artifactory/docs/nix-repositories) in the JFrog documentation.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst my_nix_local = new artifactory.LocalNixRepository(\"my-nix-local\", {\n    key: \"my-nix-local\",\n    description: \"Local Nix repository\",\n    notes: \"Internal repository\",\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nmy_nix_local = artifactory.LocalNixRepository(\"my-nix-local\",\n    key=\"my-nix-local\",\n    description=\"Local Nix repository\",\n    notes=\"Internal repository\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var my_nix_local = new Artifactory.LocalNixRepository(\"my-nix-local\", new()\n    {\n        Key = \"my-nix-local\",\n        Description = \"Local Nix repository\",\n        Notes = \"Internal repository\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewLocalNixRepository(ctx, \"my-nix-local\", \u0026artifactory.LocalNixRepositoryArgs{\n\t\t\tKey:         pulumi.String(\"my-nix-local\"),\n\t\t\tDescription: pulumi.String(\"Local Nix repository\"),\n\t\t\tNotes:       pulumi.String(\"Internal repository\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_localnixrepository\" \"my-nix-local\" {\n  key         = \"my-nix-local\"\n  description = \"Local Nix repository\"\n  notes       = \"Internal repository\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.LocalNixRepository;\nimport com.pulumi.artifactory.LocalNixRepositoryArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 my_nix_local = new LocalNixRepository(\"my-nix-local\", LocalNixRepositoryArgs.builder()\n            .key(\"my-nix-local\")\n            .description(\"Local Nix repository\")\n            .notes(\"Internal repository\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  my-nix-local:\n    type: artifactory:LocalNixRepository\n    properties:\n      key: my-nix-local\n      description: Local Nix repository\n      notes: Internal repository\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRepositories can be imported using the repository key, for example:\n\n```sh\n$ pulumi import artifactory:index/localNixRepository:LocalNixRepository my-nix-local my-nix-local\n```\n\n",
            "properties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "Repository key.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout reference. Defaults to `nix-default` when unset.\n"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "archiveBrowsingEnabled",
                "blackedOut",
                "cdnRedirect",
                "description",
                "downloadDirect",
                "excludesPattern",
                "includesPattern",
                "key",
                "notes",
                "priorityResolution",
                "projectEnvironments",
                "projectKey",
                "repoLayoutRef",
                "xrayIndex"
            ],
            "inputProperties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "Repository key.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout reference. Defaults to `nix-default` when unset.\n"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering LocalNixRepository resources.\n",
                "properties": {
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "Repository key.\n"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Repository layout reference. Defaults to `nix-default` when unset.\n"
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/localNpmRepository:LocalNpmRepository": {
            "description": "Creates a local Npm repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst terraform_local_test_npm_repo = new artifactory.LocalNpmRepository(\"terraform-local-test-npm-repo\", {key: \"terraform-local-test-npm-repo\"});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nterraform_local_test_npm_repo = artifactory.LocalNpmRepository(\"terraform-local-test-npm-repo\", key=\"terraform-local-test-npm-repo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var terraform_local_test_npm_repo = new Artifactory.LocalNpmRepository(\"terraform-local-test-npm-repo\", new()\n    {\n        Key = \"terraform-local-test-npm-repo\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewLocalNpmRepository(ctx, \"terraform-local-test-npm-repo\", \u0026artifactory.LocalNpmRepositoryArgs{\n\t\t\tKey: pulumi.String(\"terraform-local-test-npm-repo\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_localnpmrepository\" \"terraform-local-test-npm-repo\" {\n  key = \"terraform-local-test-npm-repo\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.LocalNpmRepository;\nimport com.pulumi.artifactory.LocalNpmRepositoryArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 terraform_local_test_npm_repo = new LocalNpmRepository(\"terraform-local-test-npm-repo\", LocalNpmRepositoryArgs.builder()\n            .key(\"terraform-local-test-npm-repo\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  terraform-local-test-npm-repo:\n    type: artifactory:LocalNpmRepository\n    properties:\n      key: terraform-local-test-npm-repo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLocal repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/localNpmRepository:LocalNpmRepository terraform-local-test-npm-repo terraform-local-test-npm-repo\n```\n\n",
            "properties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "archiveBrowsingEnabled",
                "blackedOut",
                "cdnRedirect",
                "description",
                "downloadDirect",
                "excludesPattern",
                "includesPattern",
                "key",
                "notes",
                "priorityResolution",
                "projectEnvironments",
                "projectKey",
                "repoLayoutRef",
                "xrayIndex"
            ],
            "inputProperties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering LocalNpmRepository resources.\n",
                "properties": {
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "the identity key of the repo.\n"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/localNugetRepository:LocalNugetRepository": {
            "description": "Creates a local Nuget repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst terraform_local_test_nuget_repo_basic = new artifactory.LocalNugetRepository(\"terraform-local-test-nuget-repo-basic\", {\n    key: \"terraform-local-test-nuget-repo-basic\",\n    maxUniqueSnapshots: 5,\n    forceNugetAuthentication: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nterraform_local_test_nuget_repo_basic = artifactory.LocalNugetRepository(\"terraform-local-test-nuget-repo-basic\",\n    key=\"terraform-local-test-nuget-repo-basic\",\n    max_unique_snapshots=5,\n    force_nuget_authentication=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var terraform_local_test_nuget_repo_basic = new Artifactory.LocalNugetRepository(\"terraform-local-test-nuget-repo-basic\", new()\n    {\n        Key = \"terraform-local-test-nuget-repo-basic\",\n        MaxUniqueSnapshots = 5,\n        ForceNugetAuthentication = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewLocalNugetRepository(ctx, \"terraform-local-test-nuget-repo-basic\", \u0026artifactory.LocalNugetRepositoryArgs{\n\t\t\tKey:                      pulumi.String(\"terraform-local-test-nuget-repo-basic\"),\n\t\t\tMaxUniqueSnapshots:       pulumi.Int(5),\n\t\t\tForceNugetAuthentication: 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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_localnugetrepository\" \"terraform-local-test-nuget-repo-basic\" {\n  key                        = \"terraform-local-test-nuget-repo-basic\"\n  max_unique_snapshots       = 5\n  force_nuget_authentication = true\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.LocalNugetRepository;\nimport com.pulumi.artifactory.LocalNugetRepositoryArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 terraform_local_test_nuget_repo_basic = new LocalNugetRepository(\"terraform-local-test-nuget-repo-basic\", LocalNugetRepositoryArgs.builder()\n            .key(\"terraform-local-test-nuget-repo-basic\")\n            .maxUniqueSnapshots(5)\n            .forceNugetAuthentication(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  terraform-local-test-nuget-repo-basic:\n    type: artifactory:LocalNugetRepository\n    properties:\n      key: terraform-local-test-nuget-repo-basic\n      maxUniqueSnapshots: 5\n      forceNugetAuthentication: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLocal repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/localNugetRepository:LocalNugetRepository terraform-local-test-nuget-repo-basic terraform-local-test-nuget-repo-basic\n```\n\n",
            "properties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "forceNugetAuthentication": {
                    "type": "boolean",
                    "description": "Force basic authentication credentials in order to use this repository.\nDefault is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "maxUniqueSnapshots": {
                    "type": "integer",
                    "description": "The maximum number of unique snapshots of a single artifact to store\nOnce the number of snapshots exceeds this setting, older versions are removed\nA value of 0 (default) indicates there is no limit, and unique snapshots are not cleaned up.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "archiveBrowsingEnabled",
                "blackedOut",
                "cdnRedirect",
                "description",
                "downloadDirect",
                "excludesPattern",
                "forceNugetAuthentication",
                "includesPattern",
                "key",
                "maxUniqueSnapshots",
                "notes",
                "priorityResolution",
                "projectEnvironments",
                "projectKey",
                "repoLayoutRef",
                "xrayIndex"
            ],
            "inputProperties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "forceNugetAuthentication": {
                    "type": "boolean",
                    "description": "Force basic authentication credentials in order to use this repository.\nDefault is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "maxUniqueSnapshots": {
                    "type": "integer",
                    "description": "The maximum number of unique snapshots of a single artifact to store\nOnce the number of snapshots exceeds this setting, older versions are removed\nA value of 0 (default) indicates there is no limit, and unique snapshots are not cleaned up.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering LocalNugetRepository resources.\n",
                "properties": {
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "forceNugetAuthentication": {
                        "type": "boolean",
                        "description": "Force basic authentication credentials in order to use this repository.\nDefault is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "the identity key of the repo.\n"
                    },
                    "maxUniqueSnapshots": {
                        "type": "integer",
                        "description": "The maximum number of unique snapshots of a single artifact to store\nOnce the number of snapshots exceeds this setting, older versions are removed\nA value of 0 (default) indicates there is no limit, and unique snapshots are not cleaned up.\n"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/localOciRepository:LocalOciRepository": {
            "description": "Creates a local OCI repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst my_oci_local = new artifactory.LocalOciRepository(\"my-oci-local\", {\n    key: \"my-oci-local\",\n    tagRetention: 3,\n    maxUniqueTags: 5,\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nmy_oci_local = artifactory.LocalOciRepository(\"my-oci-local\",\n    key=\"my-oci-local\",\n    tag_retention=3,\n    max_unique_tags=5)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var my_oci_local = new Artifactory.LocalOciRepository(\"my-oci-local\", new()\n    {\n        Key = \"my-oci-local\",\n        TagRetention = 3,\n        MaxUniqueTags = 5,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewLocalOciRepository(ctx, \"my-oci-local\", \u0026artifactory.LocalOciRepositoryArgs{\n\t\t\tKey:           pulumi.String(\"my-oci-local\"),\n\t\t\tTagRetention:  pulumi.Int(3),\n\t\t\tMaxUniqueTags: pulumi.Int(5),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_localocirepository\" \"my-oci-local\" {\n  key             = \"my-oci-local\"\n  tag_retention   = 3\n  max_unique_tags = 5\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.LocalOciRepository;\nimport com.pulumi.artifactory.LocalOciRepositoryArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 my_oci_local = new LocalOciRepository(\"my-oci-local\", LocalOciRepositoryArgs.builder()\n            .key(\"my-oci-local\")\n            .tagRetention(3)\n            .maxUniqueTags(5)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  my-oci-local:\n    type: artifactory:LocalOciRepository\n    properties:\n      key: my-oci-local\n      tagRetention: 3\n      maxUniqueTags: 5\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLocal repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/localOciRepository:LocalOciRepository my-oci-local my-oci-local\n```\n\n",
            "properties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "maxUniqueTags": {
                    "type": "integer",
                    "description": "The maximum number of unique tags of a single OCI image to store in this repository. Once the number tags for an image exceeds this setting, older tags are removed. A value of 0 (default) indicates there is no limit.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "tagRetention": {
                    "type": "integer",
                    "description": "If greater than 1, overwritten tags will be saved by their digest, up to the set up number.\n"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "archiveBrowsingEnabled",
                "blackedOut",
                "cdnRedirect",
                "description",
                "downloadDirect",
                "excludesPattern",
                "includesPattern",
                "key",
                "maxUniqueTags",
                "notes",
                "priorityResolution",
                "projectEnvironments",
                "projectKey",
                "repoLayoutRef",
                "tagRetention",
                "xrayIndex"
            ],
            "inputProperties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "maxUniqueTags": {
                    "type": "integer",
                    "description": "The maximum number of unique tags of a single OCI image to store in this repository. Once the number tags for an image exceeds this setting, older tags are removed. A value of 0 (default) indicates there is no limit.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "tagRetention": {
                    "type": "integer",
                    "description": "If greater than 1, overwritten tags will be saved by their digest, up to the set up number.\n"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering LocalOciRepository resources.\n",
                "properties": {
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "the identity key of the repo.\n"
                    },
                    "maxUniqueTags": {
                        "type": "integer",
                        "description": "The maximum number of unique tags of a single OCI image to store in this repository. Once the number tags for an image exceeds this setting, older tags are removed. A value of 0 (default) indicates there is no limit.\n"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                    },
                    "tagRetention": {
                        "type": "integer",
                        "description": "If greater than 1, overwritten tags will be saved by their digest, up to the set up number.\n"
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/localOpkgRepository:LocalOpkgRepository": {
            "description": "Creates a local Opkg repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst terraform_local_test_opkg_repo = new artifactory.LocalOpkgRepository(\"terraform-local-test-opkg-repo\", {key: \"terraform-local-test-opkg-repo\"});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nterraform_local_test_opkg_repo = artifactory.LocalOpkgRepository(\"terraform-local-test-opkg-repo\", key=\"terraform-local-test-opkg-repo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var terraform_local_test_opkg_repo = new Artifactory.LocalOpkgRepository(\"terraform-local-test-opkg-repo\", new()\n    {\n        Key = \"terraform-local-test-opkg-repo\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewLocalOpkgRepository(ctx, \"terraform-local-test-opkg-repo\", \u0026artifactory.LocalOpkgRepositoryArgs{\n\t\t\tKey: pulumi.String(\"terraform-local-test-opkg-repo\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_localopkgrepository\" \"terraform-local-test-opkg-repo\" {\n  key = \"terraform-local-test-opkg-repo\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.LocalOpkgRepository;\nimport com.pulumi.artifactory.LocalOpkgRepositoryArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 terraform_local_test_opkg_repo = new LocalOpkgRepository(\"terraform-local-test-opkg-repo\", LocalOpkgRepositoryArgs.builder()\n            .key(\"terraform-local-test-opkg-repo\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  terraform-local-test-opkg-repo:\n    type: artifactory:LocalOpkgRepository\n    properties:\n      key: terraform-local-test-opkg-repo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLocal repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/localOpkgRepository:LocalOpkgRepository terraform-local-test-opkg-repo terraform-local-test-opkg-repo\n```\n\n",
            "properties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "archiveBrowsingEnabled",
                "blackedOut",
                "cdnRedirect",
                "description",
                "downloadDirect",
                "excludesPattern",
                "includesPattern",
                "key",
                "notes",
                "priorityResolution",
                "projectEnvironments",
                "projectKey",
                "repoLayoutRef",
                "xrayIndex"
            ],
            "inputProperties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering LocalOpkgRepository resources.\n",
                "properties": {
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "the identity key of the repo.\n"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/localPubRepository:LocalPubRepository": {
            "description": "Creates a local Pub repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst terraform_local_test_pub_repo = new artifactory.LocalPubRepository(\"terraform-local-test-pub-repo\", {key: \"terraform-local-test-pub-repo\"});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nterraform_local_test_pub_repo = artifactory.LocalPubRepository(\"terraform-local-test-pub-repo\", key=\"terraform-local-test-pub-repo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var terraform_local_test_pub_repo = new Artifactory.LocalPubRepository(\"terraform-local-test-pub-repo\", new()\n    {\n        Key = \"terraform-local-test-pub-repo\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewLocalPubRepository(ctx, \"terraform-local-test-pub-repo\", \u0026artifactory.LocalPubRepositoryArgs{\n\t\t\tKey: pulumi.String(\"terraform-local-test-pub-repo\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_localpubrepository\" \"terraform-local-test-pub-repo\" {\n  key = \"terraform-local-test-pub-repo\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.LocalPubRepository;\nimport com.pulumi.artifactory.LocalPubRepositoryArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 terraform_local_test_pub_repo = new LocalPubRepository(\"terraform-local-test-pub-repo\", LocalPubRepositoryArgs.builder()\n            .key(\"terraform-local-test-pub-repo\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  terraform-local-test-pub-repo:\n    type: artifactory:LocalPubRepository\n    properties:\n      key: terraform-local-test-pub-repo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLocal repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/localPubRepository:LocalPubRepository terraform-local-test-pub-repo terraform-local-test-pub-repo\n```\n\n",
            "properties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "archiveBrowsingEnabled",
                "blackedOut",
                "cdnRedirect",
                "description",
                "downloadDirect",
                "excludesPattern",
                "includesPattern",
                "key",
                "notes",
                "priorityResolution",
                "projectEnvironments",
                "projectKey",
                "repoLayoutRef",
                "xrayIndex"
            ],
            "inputProperties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering LocalPubRepository resources.\n",
                "properties": {
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "the identity key of the repo.\n"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/localPuppetRepository:LocalPuppetRepository": {
            "description": "Creates a local Puppet repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst terraform_local_test_puppet_repo = new artifactory.LocalPuppetRepository(\"terraform-local-test-puppet-repo\", {key: \"terraform-local-test-puppet-repo\"});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nterraform_local_test_puppet_repo = artifactory.LocalPuppetRepository(\"terraform-local-test-puppet-repo\", key=\"terraform-local-test-puppet-repo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var terraform_local_test_puppet_repo = new Artifactory.LocalPuppetRepository(\"terraform-local-test-puppet-repo\", new()\n    {\n        Key = \"terraform-local-test-puppet-repo\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewLocalPuppetRepository(ctx, \"terraform-local-test-puppet-repo\", \u0026artifactory.LocalPuppetRepositoryArgs{\n\t\t\tKey: pulumi.String(\"terraform-local-test-puppet-repo\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_localpuppetrepository\" \"terraform-local-test-puppet-repo\" {\n  key = \"terraform-local-test-puppet-repo\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.LocalPuppetRepository;\nimport com.pulumi.artifactory.LocalPuppetRepositoryArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 terraform_local_test_puppet_repo = new LocalPuppetRepository(\"terraform-local-test-puppet-repo\", LocalPuppetRepositoryArgs.builder()\n            .key(\"terraform-local-test-puppet-repo\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  terraform-local-test-puppet-repo:\n    type: artifactory:LocalPuppetRepository\n    properties:\n      key: terraform-local-test-puppet-repo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLocal repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/localPuppetRepository:LocalPuppetRepository terraform-local-test-puppet-repo terraform-local-test-puppet-repo\n```\n\n",
            "properties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "archiveBrowsingEnabled",
                "blackedOut",
                "cdnRedirect",
                "description",
                "downloadDirect",
                "excludesPattern",
                "includesPattern",
                "key",
                "notes",
                "priorityResolution",
                "projectEnvironments",
                "projectKey",
                "repoLayoutRef",
                "xrayIndex"
            ],
            "inputProperties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering LocalPuppetRepository resources.\n",
                "properties": {
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "the identity key of the repo.\n"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/localPypiRepository:LocalPypiRepository": {
            "description": "Creates a local Pypi repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst terraform_local_test_pypi_repo = new artifactory.LocalPypiRepository(\"terraform-local-test-pypi-repo\", {key: \"terraform-local-test-pypi-repo\"});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nterraform_local_test_pypi_repo = artifactory.LocalPypiRepository(\"terraform-local-test-pypi-repo\", key=\"terraform-local-test-pypi-repo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var terraform_local_test_pypi_repo = new Artifactory.LocalPypiRepository(\"terraform-local-test-pypi-repo\", new()\n    {\n        Key = \"terraform-local-test-pypi-repo\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewLocalPypiRepository(ctx, \"terraform-local-test-pypi-repo\", \u0026artifactory.LocalPypiRepositoryArgs{\n\t\t\tKey: pulumi.String(\"terraform-local-test-pypi-repo\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_localpypirepository\" \"terraform-local-test-pypi-repo\" {\n  key = \"terraform-local-test-pypi-repo\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.LocalPypiRepository;\nimport com.pulumi.artifactory.LocalPypiRepositoryArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 terraform_local_test_pypi_repo = new LocalPypiRepository(\"terraform-local-test-pypi-repo\", LocalPypiRepositoryArgs.builder()\n            .key(\"terraform-local-test-pypi-repo\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  terraform-local-test-pypi-repo:\n    type: artifactory:LocalPypiRepository\n    properties:\n      key: terraform-local-test-pypi-repo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLocal repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/localPypiRepository:LocalPypiRepository terraform-local-test-pypi-repo terraform-local-test-pypi-repo\n```\n\n",
            "properties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "archiveBrowsingEnabled",
                "blackedOut",
                "cdnRedirect",
                "description",
                "downloadDirect",
                "excludesPattern",
                "includesPattern",
                "key",
                "notes",
                "priorityResolution",
                "projectEnvironments",
                "projectKey",
                "repoLayoutRef",
                "xrayIndex"
            ],
            "inputProperties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering LocalPypiRepository resources.\n",
                "properties": {
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "the identity key of the repo.\n"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/localRepositoryMultiReplication:LocalRepositoryMultiReplication": {
            "description": "Provides a local repository replication resource, also referred to as Artifactory push replication. This can be used to create and manage Artifactory local repository replications using [Multi-push Replication API](https://www.jfrog.com/confluence/display/JFROG/Artifactory+REST+API#ArtifactoryRESTAPI-CreateorReplaceLocalMulti-pushReplication).\n\nPush replication is used to synchronize Local Repositories, and is implemented by the Artifactory server on the near end invoking a synchronization of artifacts to the far end.\n\nSee the [Official Documentation](https://www.jfrog.com/confluence/display/JFROG/Repository+Replication#RepositoryReplication-PushReplication).\n\nThis resource replaces \u003cspan pulumi-lang-nodejs=\"`artifactory.PushReplication`\" pulumi-lang-dotnet=\"`artifactory.PushReplication`\" pulumi-lang-go=\"`PushReplication`\" pulumi-lang-python=\"`PushReplication`\" pulumi-lang-yaml=\"`artifactory.PushReplication`\" pulumi-lang-java=\"`artifactory.PushReplication`\" pulumi-lang-hcl=\"`artifactory_push_replication`\"\u003e`artifactory.PushReplication`\u003c/span\u003e and used to create a replication of one local repository to multiple repositories on the remote server. \n\n~\u003eThis resource requires Artifactory Enterprise license. Use \u003cspan pulumi-lang-nodejs=\"`artifactory.LocalRepositorySingleReplication`\" pulumi-lang-dotnet=\"`artifactory.LocalRepositorySingleReplication`\" pulumi-lang-go=\"`LocalRepositorySingleReplication`\" pulumi-lang-python=\"`LocalRepositorySingleReplication`\" pulumi-lang-yaml=\"`artifactory.LocalRepositorySingleReplication`\" pulumi-lang-java=\"`artifactory.LocalRepositorySingleReplication`\" pulumi-lang-hcl=\"`artifactory_local_repository_single_replication`\"\u003e`artifactory.LocalRepositorySingleReplication`\u003c/span\u003e with other licenses.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst config = new pulumi.Config();\n// The base URL of the Artifactory deployment\nconst artifactoryUrl = config.require(\"artifactoryUrl\");\n// The username for the Artifactory\nconst artifactoryUsername = config.require(\"artifactoryUsername\");\n// The password for the Artifactory\nconst artifactoryPassword = config.require(\"artifactoryPassword\");\n// Create a replication between two artifactory local repositories\nconst providerTestSource = new artifactory.LocalMavenRepository(\"provider_test_source\", {key: \"provider_test_source\"});\nconst providerTestDest = new artifactory.LocalMavenRepository(\"provider_test_dest\", {key: \"provider_test_dest\"});\nconst providerTestDest1 = new artifactory.LocalMavenRepository(\"provider_test_dest1\", {key: \"provider_test_dest1\"});\nconst foo_rep = new artifactory.LocalRepositoryMultiReplication(\"foo-rep\", {\n    repoKey: providerTestSource.key,\n    cronExp: \"0 0 * * * ?\",\n    enableEventReplication: true,\n    replications: [\n        {\n            url: pulumi.interpolate`${artifactoryUrl}/artifactory/${providerTestDest.key}`,\n            username: \"$var.artifactory_username\",\n            password: \"$var.artifactory_password\",\n            enabled: true,\n        },\n        {\n            url: pulumi.interpolate`${artifactoryUrl}/artifactory/${providerTestDest1.key}`,\n            username: \"$var.artifactory_username\",\n            password: \"$var.artifactory_password\",\n            enabled: true,\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nconfig = pulumi.Config()\n# The base URL of the Artifactory deployment\nartifactory_url = config.require(\"artifactoryUrl\")\n# The username for the Artifactory\nartifactory_username = config.require(\"artifactoryUsername\")\n# The password for the Artifactory\nartifactory_password = config.require(\"artifactoryPassword\")\n# Create a replication between two artifactory local repositories\nprovider_test_source = artifactory.LocalMavenRepository(\"provider_test_source\", key=\"provider_test_source\")\nprovider_test_dest = artifactory.LocalMavenRepository(\"provider_test_dest\", key=\"provider_test_dest\")\nprovider_test_dest1 = artifactory.LocalMavenRepository(\"provider_test_dest1\", key=\"provider_test_dest1\")\nfoo_rep = artifactory.LocalRepositoryMultiReplication(\"foo-rep\",\n    repo_key=provider_test_source.key,\n    cron_exp=\"0 0 * * * ?\",\n    enable_event_replication=True,\n    replications=[\n        {\n            \"url\": provider_test_dest.key.apply(lambda key: f\"{artifactory_url}/artifactory/{key}\"),\n            \"username\": \"$var.artifactory_username\",\n            \"password\": \"$var.artifactory_password\",\n            \"enabled\": True,\n        },\n        {\n            \"url\": provider_test_dest1.key.apply(lambda key: f\"{artifactory_url}/artifactory/{key}\"),\n            \"username\": \"$var.artifactory_username\",\n            \"password\": \"$var.artifactory_password\",\n            \"enabled\": True,\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    // The base URL of the Artifactory deployment\n    var artifactoryUrl = config.Require(\"artifactoryUrl\");\n    // The username for the Artifactory\n    var artifactoryUsername = config.Require(\"artifactoryUsername\");\n    // The password for the Artifactory\n    var artifactoryPassword = config.Require(\"artifactoryPassword\");\n    // Create a replication between two artifactory local repositories\n    var providerTestSource = new Artifactory.LocalMavenRepository(\"provider_test_source\", new()\n    {\n        Key = \"provider_test_source\",\n    });\n\n    var providerTestDest = new Artifactory.LocalMavenRepository(\"provider_test_dest\", new()\n    {\n        Key = \"provider_test_dest\",\n    });\n\n    var providerTestDest1 = new Artifactory.LocalMavenRepository(\"provider_test_dest1\", new()\n    {\n        Key = \"provider_test_dest1\",\n    });\n\n    var foo_rep = new Artifactory.LocalRepositoryMultiReplication(\"foo-rep\", new()\n    {\n        RepoKey = providerTestSource.Key,\n        CronExp = \"0 0 * * * ?\",\n        EnableEventReplication = true,\n        Replications = new[]\n        {\n            new Artifactory.Inputs.LocalRepositoryMultiReplicationReplicationArgs\n            {\n                Url = providerTestDest.Key.Apply(key =\u003e $\"{artifactoryUrl}/artifactory/{key}\"),\n                Username = \"$var.artifactory_username\",\n                Password = \"$var.artifactory_password\",\n                Enabled = true,\n            },\n            new Artifactory.Inputs.LocalRepositoryMultiReplicationReplicationArgs\n            {\n                Url = providerTestDest1.Key.Apply(key =\u003e $\"{artifactoryUrl}/artifactory/{key}\"),\n                Username = \"$var.artifactory_username\",\n                Password = \"$var.artifactory_password\",\n                Enabled = true,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\t// The base URL of the Artifactory deployment\n\t\tartifactoryUrl := cfg.Require(\"artifactoryUrl\")\n\t\t// The username for the Artifactory\n\t\tartifactoryUsername := cfg.Require(\"artifactoryUsername\")\n\t\t// The password for the Artifactory\n\t\tartifactoryPassword := cfg.Require(\"artifactoryPassword\")\n\t\t// Create a replication between two artifactory local repositories\n\t\tproviderTestSource, err := artifactory.NewLocalMavenRepository(ctx, \"provider_test_source\", \u0026artifactory.LocalMavenRepositoryArgs{\n\t\t\tKey: pulumi.String(\"provider_test_source\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tproviderTestDest, err := artifactory.NewLocalMavenRepository(ctx, \"provider_test_dest\", \u0026artifactory.LocalMavenRepositoryArgs{\n\t\t\tKey: pulumi.String(\"provider_test_dest\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tproviderTestDest1, err := artifactory.NewLocalMavenRepository(ctx, \"provider_test_dest1\", \u0026artifactory.LocalMavenRepositoryArgs{\n\t\t\tKey: pulumi.String(\"provider_test_dest1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = artifactory.NewLocalRepositoryMultiReplication(ctx, \"foo-rep\", \u0026artifactory.LocalRepositoryMultiReplicationArgs{\n\t\t\tRepoKey:                providerTestSource.Key,\n\t\t\tCronExp:                pulumi.String(\"0 0 * * * ?\"),\n\t\t\tEnableEventReplication: pulumi.Bool(true),\n\t\t\tReplications: artifactory.LocalRepositoryMultiReplicationReplicationArray{\n\t\t\t\t\u0026artifactory.LocalRepositoryMultiReplicationReplicationArgs{\n\t\t\t\t\tUrl: providerTestDest.Key.ApplyT(func(key string) (string, error) {\n\t\t\t\t\t\treturn fmt.Sprintf(\"%v/artifactory/%v\", artifactoryUrl, key), nil\n\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\tUsername: pulumi.String(\"$var.artifactory_username\"),\n\t\t\t\t\tPassword: pulumi.String(\"$var.artifactory_password\"),\n\t\t\t\t\tEnabled:  pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\t\u0026artifactory.LocalRepositoryMultiReplicationReplicationArgs{\n\t\t\t\t\tUrl: providerTestDest1.Key.ApplyT(func(key string) (string, error) {\n\t\t\t\t\t\treturn fmt.Sprintf(\"%v/artifactory/%v\", artifactoryUrl, key), nil\n\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\tUsername: pulumi.String(\"$var.artifactory_username\"),\n\t\t\t\t\tPassword: pulumi.String(\"$var.artifactory_password\"),\n\t\t\t\t\tEnabled:  pulumi.Bool(true),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\n# Create a replication between two artifactory local repositories\nresource \"artifactory_localmavenrepository\" \"provider_test_source\" {\n  key = \"provider_test_source\"\n}\nresource \"artifactory_localmavenrepository\" \"provider_test_dest\" {\n  key = \"provider_test_dest\"\n}\nresource \"artifactory_localmavenrepository\" \"provider_test_dest1\" {\n  key = \"provider_test_dest1\"\n}\nresource \"artifactory_localrepositorymultireplication\" \"foo-rep\" {\n  repo_key                 = artifactory_localmavenrepository.provider_test_source.key\n  cron_exp                 = \"0 0 * * * ?\"\n  enable_event_replication = true\n  replications {\n    url      =\"${var.artifactoryUrl}/artifactory/${artifactory_localmavenrepository.provider_test_dest.key}\"\n    username = \"$var.artifactory_username\"\n    password = \"$var.artifactory_password\"\n    enabled  = true\n  }\n  replications {\n    url      =\"${var.artifactoryUrl}/artifactory/${artifactory_localmavenrepository.provider_test_dest1.key}\"\n    username = \"$var.artifactory_username\"\n    password = \"$var.artifactory_password\"\n    enabled  = true\n  }\n}\nvariable \"artifactoryUrl\" {\n  type        = string\n  description = \"The base URL of the Artifactory deployment\"\n}\nvariable \"artifactoryUsername\" {\n  type        = string\n  description = \"The username for the Artifactory\"\n}\nvariable \"artifactoryPassword\" {\n  type        = string\n  description = \"The password for the Artifactory\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.LocalMavenRepository;\nimport com.pulumi.artifactory.LocalMavenRepositoryArgs;\nimport com.pulumi.artifactory.LocalRepositoryMultiReplication;\nimport com.pulumi.artifactory.LocalRepositoryMultiReplicationArgs;\nimport com.pulumi.artifactory.inputs.LocalRepositoryMultiReplicationReplicationArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 config = ctx.config();\n        final var artifactoryUrl = config.require(\"artifactoryUrl\");\n        final var artifactoryUsername = config.require(\"artifactoryUsername\");\n        final var artifactoryPassword = config.require(\"artifactoryPassword\");\n        // Create a replication between two artifactory local repositories\n        var providerTestSource = new LocalMavenRepository(\"providerTestSource\", LocalMavenRepositoryArgs.builder()\n            .key(\"provider_test_source\")\n            .build());\n\n        var providerTestDest = new LocalMavenRepository(\"providerTestDest\", LocalMavenRepositoryArgs.builder()\n            .key(\"provider_test_dest\")\n            .build());\n\n        var providerTestDest1 = new LocalMavenRepository(\"providerTestDest1\", LocalMavenRepositoryArgs.builder()\n            .key(\"provider_test_dest1\")\n            .build());\n\n        var foo_rep = new LocalRepositoryMultiReplication(\"foo-rep\", LocalRepositoryMultiReplicationArgs.builder()\n            .repoKey(providerTestSource.key())\n            .cronExp(\"0 0 * * * ?\")\n            .enableEventReplication(true)\n            .replications(            \n                LocalRepositoryMultiReplicationReplicationArgs.builder()\n                    .url(providerTestDest.key().applyValue(_key -\u003e String.format(\"%s/artifactory/%s\", artifactoryUrl,_key)))\n                    .username(\"$var.artifactory_username\")\n                    .password(\"$var.artifactory_password\")\n                    .enabled(true)\n                    .build(),\n                LocalRepositoryMultiReplicationReplicationArgs.builder()\n                    .url(providerTestDest1.key().applyValue(_key -\u003e String.format(\"%s/artifactory/%s\", artifactoryUrl,_key)))\n                    .username(\"$var.artifactory_username\")\n                    .password(\"$var.artifactory_password\")\n                    .enabled(true)\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  artifactoryUrl:\n    type: string\n  artifactoryUsername:\n    type: string\n  artifactoryPassword:\n    type: string\nresources:\n  # Create a replication between two artifactory local repositories\n  providerTestSource:\n    type: artifactory:LocalMavenRepository\n    name: provider_test_source\n    properties:\n      key: provider_test_source\n  providerTestDest:\n    type: artifactory:LocalMavenRepository\n    name: provider_test_dest\n    properties:\n      key: provider_test_dest\n  providerTestDest1:\n    type: artifactory:LocalMavenRepository\n    name: provider_test_dest1\n    properties:\n      key: provider_test_dest1\n  foo-rep:\n    type: artifactory:LocalRepositoryMultiReplication\n    properties:\n      repoKey: ${providerTestSource.key}\n      cronExp: 0 0 * * * ?\n      enableEventReplication: true\n      replications:\n        - url: ${artifactoryUrl}/artifactory/${providerTestDest.key}\n          username: $var.artifactory_username\n          password: $var.artifactory_password\n          enabled: true\n        - url: ${artifactoryUrl}/artifactory/${providerTestDest1.key}\n          username: $var.artifactory_username\n          password: $var.artifactory_password\n          enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nPush replication configs can be imported using their repo key, e.g.\n\n```sh\n$ pulumi import artifactory:index/localRepositoryMultiReplication:LocalRepositoryMultiReplication foo-rep provider_test_source\n```\n\n",
            "properties": {
                "cronExp": {
                    "type": "string",
                    "description": "A valid CRON expression that you can use to control replication frequency. Eg: `0 0 12 * * ? *`, `0 0 2 ? * MON-SAT *`. Note: use 6 or 7 parts format - Seconds, Minutes Hours, Day Of Month, Month, Day Of Week, Year (optional). Specifying both a day-of-week AND a day-of-month parameter is not supported. One of them should be replaced by `?`. Incorrect: `* 5,7,9 14/2 * * WED,SAT *`, correct: `* 5,7,9 14/2 ? * WED,SAT *`. See details in [Cron Trigger Tutorial](https://www.quartz-scheduler.org/documentation/quartz-2.3.0/tutorials/crontrigger.html).\n"
                },
                "enableEventReplication": {
                    "type": "boolean",
                    "description": "When set, each event will trigger replication of the artifacts changed in this event. This can be any type of event on artifact, e.g. add, deleted or property change. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                },
                "replications": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/LocalRepositoryMultiReplicationReplication:LocalRepositoryMultiReplicationReplication"
                    },
                    "description": "List of replications minimum 1 element.\n"
                },
                "repoKey": {
                    "type": "string",
                    "description": "Repository name.\n"
                }
            },
            "required": [
                "cronExp",
                "enableEventReplication",
                "repoKey"
            ],
            "inputProperties": {
                "cronExp": {
                    "type": "string",
                    "description": "A valid CRON expression that you can use to control replication frequency. Eg: `0 0 12 * * ? *`, `0 0 2 ? * MON-SAT *`. Note: use 6 or 7 parts format - Seconds, Minutes Hours, Day Of Month, Month, Day Of Week, Year (optional). Specifying both a day-of-week AND a day-of-month parameter is not supported. One of them should be replaced by `?`. Incorrect: `* 5,7,9 14/2 * * WED,SAT *`, correct: `* 5,7,9 14/2 ? * WED,SAT *`. See details in [Cron Trigger Tutorial](https://www.quartz-scheduler.org/documentation/quartz-2.3.0/tutorials/crontrigger.html).\n"
                },
                "enableEventReplication": {
                    "type": "boolean",
                    "description": "When set, each event will trigger replication of the artifacts changed in this event. This can be any type of event on artifact, e.g. add, deleted or property change. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                },
                "replications": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/LocalRepositoryMultiReplicationReplication:LocalRepositoryMultiReplicationReplication"
                    },
                    "description": "List of replications minimum 1 element.\n"
                },
                "repoKey": {
                    "type": "string",
                    "description": "Repository name.\n"
                }
            },
            "requiredInputs": [
                "cronExp",
                "repoKey"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering LocalRepositoryMultiReplication resources.\n",
                "properties": {
                    "cronExp": {
                        "type": "string",
                        "description": "A valid CRON expression that you can use to control replication frequency. Eg: `0 0 12 * * ? *`, `0 0 2 ? * MON-SAT *`. Note: use 6 or 7 parts format - Seconds, Minutes Hours, Day Of Month, Month, Day Of Week, Year (optional). Specifying both a day-of-week AND a day-of-month parameter is not supported. One of them should be replaced by `?`. Incorrect: `* 5,7,9 14/2 * * WED,SAT *`, correct: `* 5,7,9 14/2 ? * WED,SAT *`. See details in [Cron Trigger Tutorial](https://www.quartz-scheduler.org/documentation/quartz-2.3.0/tutorials/crontrigger.html).\n"
                    },
                    "enableEventReplication": {
                        "type": "boolean",
                        "description": "When set, each event will trigger replication of the artifacts changed in this event. This can be any type of event on artifact, e.g. add, deleted or property change. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                    },
                    "replications": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/artifactory:index/LocalRepositoryMultiReplicationReplication:LocalRepositoryMultiReplicationReplication"
                        },
                        "description": "List of replications minimum 1 element.\n"
                    },
                    "repoKey": {
                        "type": "string",
                        "description": "Repository name.\n"
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/localRepositorySingleReplication:LocalRepositorySingleReplication": {
            "description": "Provides a local repository replication resource, also referred to as Artifactory push replication. This can be used to create and manage Artifactory local repository replications using [Push Replication API](https://www.jfrog.com/confluence/display/JFROG/Artifactory+REST+API#ArtifactoryRESTAPI-SetRepositoryReplicationConfiguration).\n\nPush replication is used to synchronize Local Repositories, and is implemented by the Artifactory server on the near end invoking a synchronization of artifacts to the far end.\nSee the [Official Documentation](https://www.jfrog.com/confluence/display/JFROG/Repository+Replication#RepositoryReplication-PushReplication).\n\nThis resource can create the replication of local repository to single repository on the remote server. \n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst config = new pulumi.Config();\n// The base URL of the Artifactory deployment\nconst artifactoryUrl = config.require(\"artifactoryUrl\");\n// The username for the Artifactory\nconst artifactoryUsername = config.require(\"artifactoryUsername\");\n// The password for the Artifactory\nconst artifactoryPassword = config.require(\"artifactoryPassword\");\n// Create a replication between two artifactory local repositories\nconst providerTestSource = new artifactory.LocalMavenRepository(\"provider_test_source\", {key: \"provider_test_source\"});\nconst providerTestDest = new artifactory.LocalMavenRepository(\"provider_test_dest\", {key: \"provider_test_dest\"});\nconst foo_rep = new artifactory.LocalRepositorySingleReplication(\"foo-rep\", {\n    repoKey: providerTestSource.key,\n    cronExp: \"0 0 * * * ?\",\n    enableEventReplication: true,\n    url: pulumi.interpolate`${artifactoryUrl}/artifactory/${providerTestDest.key}`,\n    username: \"$var.artifactory_username\",\n    password: \"$var.artifactory_password\",\n    enabled: true,\n    socketTimeoutMillis: 16000,\n    syncDeletes: false,\n    syncProperties: true,\n    syncStatistics: true,\n    includePathPrefixPattern: \"/some-repo/\",\n    excludePathPrefixPattern: \"/some-other-repo/\",\n    checkBinaryExistenceInFilestore: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nconfig = pulumi.Config()\n# The base URL of the Artifactory deployment\nartifactory_url = config.require(\"artifactoryUrl\")\n# The username for the Artifactory\nartifactory_username = config.require(\"artifactoryUsername\")\n# The password for the Artifactory\nartifactory_password = config.require(\"artifactoryPassword\")\n# Create a replication between two artifactory local repositories\nprovider_test_source = artifactory.LocalMavenRepository(\"provider_test_source\", key=\"provider_test_source\")\nprovider_test_dest = artifactory.LocalMavenRepository(\"provider_test_dest\", key=\"provider_test_dest\")\nfoo_rep = artifactory.LocalRepositorySingleReplication(\"foo-rep\",\n    repo_key=provider_test_source.key,\n    cron_exp=\"0 0 * * * ?\",\n    enable_event_replication=True,\n    url=provider_test_dest.key.apply(lambda key: f\"{artifactory_url}/artifactory/{key}\"),\n    username=\"$var.artifactory_username\",\n    password=\"$var.artifactory_password\",\n    enabled=True,\n    socket_timeout_millis=16000,\n    sync_deletes=False,\n    sync_properties=True,\n    sync_statistics=True,\n    include_path_prefix_pattern=\"/some-repo/\",\n    exclude_path_prefix_pattern=\"/some-other-repo/\",\n    check_binary_existence_in_filestore=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    // The base URL of the Artifactory deployment\n    var artifactoryUrl = config.Require(\"artifactoryUrl\");\n    // The username for the Artifactory\n    var artifactoryUsername = config.Require(\"artifactoryUsername\");\n    // The password for the Artifactory\n    var artifactoryPassword = config.Require(\"artifactoryPassword\");\n    // Create a replication between two artifactory local repositories\n    var providerTestSource = new Artifactory.LocalMavenRepository(\"provider_test_source\", new()\n    {\n        Key = \"provider_test_source\",\n    });\n\n    var providerTestDest = new Artifactory.LocalMavenRepository(\"provider_test_dest\", new()\n    {\n        Key = \"provider_test_dest\",\n    });\n\n    var foo_rep = new Artifactory.LocalRepositorySingleReplication(\"foo-rep\", new()\n    {\n        RepoKey = providerTestSource.Key,\n        CronExp = \"0 0 * * * ?\",\n        EnableEventReplication = true,\n        Url = providerTestDest.Key.Apply(key =\u003e $\"{artifactoryUrl}/artifactory/{key}\"),\n        Username = \"$var.artifactory_username\",\n        Password = \"$var.artifactory_password\",\n        Enabled = true,\n        SocketTimeoutMillis = 16000,\n        SyncDeletes = false,\n        SyncProperties = true,\n        SyncStatistics = true,\n        IncludePathPrefixPattern = \"/some-repo/\",\n        ExcludePathPrefixPattern = \"/some-other-repo/\",\n        CheckBinaryExistenceInFilestore = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\t// The base URL of the Artifactory deployment\n\t\tartifactoryUrl := cfg.Require(\"artifactoryUrl\")\n\t\t// The username for the Artifactory\n\t\tartifactoryUsername := cfg.Require(\"artifactoryUsername\")\n\t\t// The password for the Artifactory\n\t\tartifactoryPassword := cfg.Require(\"artifactoryPassword\")\n\t\t// Create a replication between two artifactory local repositories\n\t\tproviderTestSource, err := artifactory.NewLocalMavenRepository(ctx, \"provider_test_source\", \u0026artifactory.LocalMavenRepositoryArgs{\n\t\t\tKey: pulumi.String(\"provider_test_source\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tproviderTestDest, err := artifactory.NewLocalMavenRepository(ctx, \"provider_test_dest\", \u0026artifactory.LocalMavenRepositoryArgs{\n\t\t\tKey: pulumi.String(\"provider_test_dest\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = artifactory.NewLocalRepositorySingleReplication(ctx, \"foo-rep\", \u0026artifactory.LocalRepositorySingleReplicationArgs{\n\t\t\tRepoKey:                providerTestSource.Key,\n\t\t\tCronExp:                pulumi.String(\"0 0 * * * ?\"),\n\t\t\tEnableEventReplication: pulumi.Bool(true),\n\t\t\tUrl: providerTestDest.Key.ApplyT(func(key string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"%v/artifactory/%v\", artifactoryUrl, key), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tUsername:                        pulumi.String(\"$var.artifactory_username\"),\n\t\t\tPassword:                        pulumi.String(\"$var.artifactory_password\"),\n\t\t\tEnabled:                         pulumi.Bool(true),\n\t\t\tSocketTimeoutMillis:             pulumi.Int(16000),\n\t\t\tSyncDeletes:                     pulumi.Bool(false),\n\t\t\tSyncProperties:                  pulumi.Bool(true),\n\t\t\tSyncStatistics:                  pulumi.Bool(true),\n\t\t\tIncludePathPrefixPattern:        pulumi.String(\"/some-repo/\"),\n\t\t\tExcludePathPrefixPattern:        pulumi.String(\"/some-other-repo/\"),\n\t\t\tCheckBinaryExistenceInFilestore: 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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\n# Create a replication between two artifactory local repositories\nresource \"artifactory_localmavenrepository\" \"provider_test_source\" {\n  key = \"provider_test_source\"\n}\nresource \"artifactory_localmavenrepository\" \"provider_test_dest\" {\n  key = \"provider_test_dest\"\n}\nresource \"artifactory_localrepositorysinglereplication\" \"foo-rep\" {\n  repo_key                            = artifactory_localmavenrepository.provider_test_source.key\n  cron_exp                            = \"0 0 * * * ?\"\n  enable_event_replication            = true\n  url                                 =\"${var.artifactoryUrl}/artifactory/${artifactory_localmavenrepository.provider_test_dest.key}\"\n  username                            = \"$var.artifactory_username\"\n  password                            = \"$var.artifactory_password\"\n  enabled                             = true\n  socket_timeout_millis               = 16000\n  sync_deletes                        = false\n  sync_properties                     = true\n  sync_statistics                     = true\n  include_path_prefix_pattern         = \"/some-repo/\"\n  exclude_path_prefix_pattern         = \"/some-other-repo/\"\n  check_binary_existence_in_filestore = true\n}\nvariable \"artifactoryUrl\" {\n  type        = string\n  description = \"The base URL of the Artifactory deployment\"\n}\nvariable \"artifactoryUsername\" {\n  type        = string\n  description = \"The username for the Artifactory\"\n}\nvariable \"artifactoryPassword\" {\n  type        = string\n  description = \"The password for the Artifactory\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.LocalMavenRepository;\nimport com.pulumi.artifactory.LocalMavenRepositoryArgs;\nimport com.pulumi.artifactory.LocalRepositorySingleReplication;\nimport com.pulumi.artifactory.LocalRepositorySingleReplicationArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 config = ctx.config();\n        final var artifactoryUrl = config.require(\"artifactoryUrl\");\n        final var artifactoryUsername = config.require(\"artifactoryUsername\");\n        final var artifactoryPassword = config.require(\"artifactoryPassword\");\n        // Create a replication between two artifactory local repositories\n        var providerTestSource = new LocalMavenRepository(\"providerTestSource\", LocalMavenRepositoryArgs.builder()\n            .key(\"provider_test_source\")\n            .build());\n\n        var providerTestDest = new LocalMavenRepository(\"providerTestDest\", LocalMavenRepositoryArgs.builder()\n            .key(\"provider_test_dest\")\n            .build());\n\n        var foo_rep = new LocalRepositorySingleReplication(\"foo-rep\", LocalRepositorySingleReplicationArgs.builder()\n            .repoKey(providerTestSource.key())\n            .cronExp(\"0 0 * * * ?\")\n            .enableEventReplication(true)\n            .url(providerTestDest.key().applyValue(_key -\u003e String.format(\"%s/artifactory/%s\", artifactoryUrl,_key)))\n            .username(\"$var.artifactory_username\")\n            .password(\"$var.artifactory_password\")\n            .enabled(true)\n            .socketTimeoutMillis(16000)\n            .syncDeletes(false)\n            .syncProperties(true)\n            .syncStatistics(true)\n            .includePathPrefixPattern(\"/some-repo/\")\n            .excludePathPrefixPattern(\"/some-other-repo/\")\n            .checkBinaryExistenceInFilestore(true)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  artifactoryUrl:\n    type: string\n  artifactoryUsername:\n    type: string\n  artifactoryPassword:\n    type: string\nresources:\n  # Create a replication between two artifactory local repositories\n  providerTestSource:\n    type: artifactory:LocalMavenRepository\n    name: provider_test_source\n    properties:\n      key: provider_test_source\n  providerTestDest:\n    type: artifactory:LocalMavenRepository\n    name: provider_test_dest\n    properties:\n      key: provider_test_dest\n  foo-rep:\n    type: artifactory:LocalRepositorySingleReplication\n    properties:\n      repoKey: ${providerTestSource.key}\n      cronExp: 0 0 * * * ?\n      enableEventReplication: true\n      url: ${artifactoryUrl}/artifactory/${providerTestDest.key}\n      username: $var.artifactory_username\n      password: $var.artifactory_password\n      enabled: true\n      socketTimeoutMillis: 16000\n      syncDeletes: false\n      syncProperties: true\n      syncStatistics: true\n      includePathPrefixPattern: /some-repo/\n      excludePathPrefixPattern: /some-other-repo/\n      checkBinaryExistenceInFilestore: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nPush replication configs can be imported using their repo key, e.g.\n\n```sh\n$ pulumi import artifactory:index/localRepositorySingleReplication:LocalRepositorySingleReplication foo-rep provider_test_source\n```\n\n",
            "properties": {
                "checkBinaryExistenceInFilestore": {
                    "type": "boolean",
                    "description": "Enabling the \u003cspan pulumi-lang-nodejs=\"`checkBinaryExistenceInFilestore`\" pulumi-lang-dotnet=\"`CheckBinaryExistenceInFilestore`\" pulumi-lang-go=\"`checkBinaryExistenceInFilestore`\" pulumi-lang-python=\"`check_binary_existence_in_filestore`\" pulumi-lang-yaml=\"`checkBinaryExistenceInFilestore`\" pulumi-lang-java=\"`checkBinaryExistenceInFilestore`\" pulumi-lang-hcl=\"`check_binary_existence_in_filestore`\"\u003e`checkBinaryExistenceInFilestore`\u003c/span\u003e flag requires an Enterprise Plus license. When true, enables distributed checksum storage. For more information, see [Optimizing Repository Replication with Checksum-Based Storage](https://www.jfrog.com/confluence/display/JFROG/Repository+Replication#RepositoryReplication-OptimizingRepositoryReplicationUsingStorageLevelSynchronizationOptions).\n"
                },
                "cronExp": {
                    "type": "string",
                    "description": "A valid CRON expression that you can use to control replication frequency. Eg: `0 0 12 * * ? *`, `0 0 2 ? * MON-SAT *`. Note: use 6 or 7 parts format - Seconds, Minutes Hours, Day Of Month, Month, Day Of Week, Year (optional). Specifying both a day-of-week AND a day-of-month parameter is not supported. One of them should be replaced by `?`. Incorrect: `* 5,7,9 14/2 * * WED,SAT *`, correct: `* 5,7,9 14/2 ? * WED,SAT *`. See details in [Cron Trigger Tutorial](https://www.quartz-scheduler.org/documentation/quartz-2.3.0/tutorials/crontrigger.html).\n"
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the \u003cspan pulumi-lang-nodejs=\"`proxy`\" pulumi-lang-dotnet=\"`Proxy`\" pulumi-lang-go=\"`proxy`\" pulumi-lang-python=\"`proxy`\" pulumi-lang-yaml=\"`proxy`\" pulumi-lang-java=\"`proxy`\" pulumi-lang-hcl=\"`proxy`\"\u003e`proxy`\u003c/span\u003e attribute will be ignored (from version 7.41.7). The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                },
                "enableEventReplication": {
                    "type": "boolean",
                    "description": "When set, each event will trigger replication of the artifacts changed in this event. This can be any type of event on artifact, e.g. add, deleted or property change. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "When set, enables replication of this repository to the target specified in \u003cspan pulumi-lang-nodejs=\"`url`\" pulumi-lang-dotnet=\"`Url`\" pulumi-lang-go=\"`url`\" pulumi-lang-python=\"`url`\" pulumi-lang-yaml=\"`url`\" pulumi-lang-java=\"`url`\" pulumi-lang-hcl=\"`url`\"\u003e`url`\u003c/span\u003e attribute. Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                },
                "excludePathPrefixPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`. By default, no artifacts are excluded.\n"
                },
                "includePathPrefixPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included `(**/*)`.\n"
                },
                "password": {
                    "type": "string",
                    "description": "Use either the HTTP authentication password or [identity token](https://www.jfrog.com/confluence/display/JFROG/User+Profile#UserProfile-IdentityTokenidentitytoken).\n",
                    "secret": true
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. The proxy configuration will be used when communicating with the remote instance.\n"
                },
                "replicationKey": {
                    "type": "string",
                    "description": "Replication ID, the value is unknown until the resource is created. Can't be set or updated.\n"
                },
                "repoKey": {
                    "type": "string",
                    "description": "Repository name.\n"
                },
                "socketTimeoutMillis": {
                    "type": "integer",
                    "description": "The network timeout in milliseconds to use for remote operations. Default value is \u003cspan pulumi-lang-nodejs=\"`15000`\" pulumi-lang-dotnet=\"`15000`\" pulumi-lang-go=\"`15000`\" pulumi-lang-python=\"`15000`\" pulumi-lang-yaml=\"`15000`\" pulumi-lang-java=\"`15000`\" pulumi-lang-hcl=\"`15000`\"\u003e`15000`\u003c/span\u003e.\n"
                },
                "syncDeletes": {
                    "type": "boolean",
                    "description": "When set, items that were deleted locally should also be deleted remotely (also applies to properties metadata). Note that enabling this option, will delete artifacts on the target that do not exist in the source repository. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                },
                "syncProperties": {
                    "type": "boolean",
                    "description": "When set, the task also synchronizes the properties of replicated artifacts. Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                },
                "syncStatistics": {
                    "type": "boolean",
                    "description": "When set, the task also synchronizes artifact download statistics. Set to avoid inadvertent cleanup at the target instance when setting up replication for disaster recovery. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e\n"
                },
                "url": {
                    "type": "string",
                    "description": "The URL of the target local repository on a remote Artifactory server. Use the format `https://\u003cartifactory_url\u003e/artifactory/\u003crepository_name\u003e`.\n"
                },
                "username": {
                    "type": "string",
                    "description": "Username on the remote Artifactory instance.\n"
                }
            },
            "required": [
                "checkBinaryExistenceInFilestore",
                "cronExp",
                "disableProxy",
                "enableEventReplication",
                "enabled",
                "excludePathPrefixPattern",
                "includePathPrefixPattern",
                "proxy",
                "replicationKey",
                "repoKey",
                "socketTimeoutMillis",
                "syncDeletes",
                "syncProperties",
                "syncStatistics",
                "url",
                "username"
            ],
            "inputProperties": {
                "checkBinaryExistenceInFilestore": {
                    "type": "boolean",
                    "description": "Enabling the \u003cspan pulumi-lang-nodejs=\"`checkBinaryExistenceInFilestore`\" pulumi-lang-dotnet=\"`CheckBinaryExistenceInFilestore`\" pulumi-lang-go=\"`checkBinaryExistenceInFilestore`\" pulumi-lang-python=\"`check_binary_existence_in_filestore`\" pulumi-lang-yaml=\"`checkBinaryExistenceInFilestore`\" pulumi-lang-java=\"`checkBinaryExistenceInFilestore`\" pulumi-lang-hcl=\"`check_binary_existence_in_filestore`\"\u003e`checkBinaryExistenceInFilestore`\u003c/span\u003e flag requires an Enterprise Plus license. When true, enables distributed checksum storage. For more information, see [Optimizing Repository Replication with Checksum-Based Storage](https://www.jfrog.com/confluence/display/JFROG/Repository+Replication#RepositoryReplication-OptimizingRepositoryReplicationUsingStorageLevelSynchronizationOptions).\n"
                },
                "cronExp": {
                    "type": "string",
                    "description": "A valid CRON expression that you can use to control replication frequency. Eg: `0 0 12 * * ? *`, `0 0 2 ? * MON-SAT *`. Note: use 6 or 7 parts format - Seconds, Minutes Hours, Day Of Month, Month, Day Of Week, Year (optional). Specifying both a day-of-week AND a day-of-month parameter is not supported. One of them should be replaced by `?`. Incorrect: `* 5,7,9 14/2 * * WED,SAT *`, correct: `* 5,7,9 14/2 ? * WED,SAT *`. See details in [Cron Trigger Tutorial](https://www.quartz-scheduler.org/documentation/quartz-2.3.0/tutorials/crontrigger.html).\n"
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the \u003cspan pulumi-lang-nodejs=\"`proxy`\" pulumi-lang-dotnet=\"`Proxy`\" pulumi-lang-go=\"`proxy`\" pulumi-lang-python=\"`proxy`\" pulumi-lang-yaml=\"`proxy`\" pulumi-lang-java=\"`proxy`\" pulumi-lang-hcl=\"`proxy`\"\u003e`proxy`\u003c/span\u003e attribute will be ignored (from version 7.41.7). The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                },
                "enableEventReplication": {
                    "type": "boolean",
                    "description": "When set, each event will trigger replication of the artifacts changed in this event. This can be any type of event on artifact, e.g. add, deleted or property change. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "When set, enables replication of this repository to the target specified in \u003cspan pulumi-lang-nodejs=\"`url`\" pulumi-lang-dotnet=\"`Url`\" pulumi-lang-go=\"`url`\" pulumi-lang-python=\"`url`\" pulumi-lang-yaml=\"`url`\" pulumi-lang-java=\"`url`\" pulumi-lang-hcl=\"`url`\"\u003e`url`\u003c/span\u003e attribute. Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                },
                "excludePathPrefixPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`. By default, no artifacts are excluded.\n"
                },
                "includePathPrefixPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included `(**/*)`.\n"
                },
                "password": {
                    "type": "string",
                    "description": "Use either the HTTP authentication password or [identity token](https://www.jfrog.com/confluence/display/JFROG/User+Profile#UserProfile-IdentityTokenidentitytoken).\n",
                    "secret": true
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. The proxy configuration will be used when communicating with the remote instance.\n"
                },
                "repoKey": {
                    "type": "string",
                    "description": "Repository name.\n"
                },
                "socketTimeoutMillis": {
                    "type": "integer",
                    "description": "The network timeout in milliseconds to use for remote operations. Default value is \u003cspan pulumi-lang-nodejs=\"`15000`\" pulumi-lang-dotnet=\"`15000`\" pulumi-lang-go=\"`15000`\" pulumi-lang-python=\"`15000`\" pulumi-lang-yaml=\"`15000`\" pulumi-lang-java=\"`15000`\" pulumi-lang-hcl=\"`15000`\"\u003e`15000`\u003c/span\u003e.\n"
                },
                "syncDeletes": {
                    "type": "boolean",
                    "description": "When set, items that were deleted locally should also be deleted remotely (also applies to properties metadata). Note that enabling this option, will delete artifacts on the target that do not exist in the source repository. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                },
                "syncProperties": {
                    "type": "boolean",
                    "description": "When set, the task also synchronizes the properties of replicated artifacts. Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                },
                "syncStatistics": {
                    "type": "boolean",
                    "description": "When set, the task also synchronizes artifact download statistics. Set to avoid inadvertent cleanup at the target instance when setting up replication for disaster recovery. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e\n"
                },
                "url": {
                    "type": "string",
                    "description": "The URL of the target local repository on a remote Artifactory server. Use the format `https://\u003cartifactory_url\u003e/artifactory/\u003crepository_name\u003e`.\n"
                },
                "username": {
                    "type": "string",
                    "description": "Username on the remote Artifactory instance.\n"
                }
            },
            "requiredInputs": [
                "cronExp",
                "repoKey",
                "url",
                "username"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering LocalRepositorySingleReplication resources.\n",
                "properties": {
                    "checkBinaryExistenceInFilestore": {
                        "type": "boolean",
                        "description": "Enabling the \u003cspan pulumi-lang-nodejs=\"`checkBinaryExistenceInFilestore`\" pulumi-lang-dotnet=\"`CheckBinaryExistenceInFilestore`\" pulumi-lang-go=\"`checkBinaryExistenceInFilestore`\" pulumi-lang-python=\"`check_binary_existence_in_filestore`\" pulumi-lang-yaml=\"`checkBinaryExistenceInFilestore`\" pulumi-lang-java=\"`checkBinaryExistenceInFilestore`\" pulumi-lang-hcl=\"`check_binary_existence_in_filestore`\"\u003e`checkBinaryExistenceInFilestore`\u003c/span\u003e flag requires an Enterprise Plus license. When true, enables distributed checksum storage. For more information, see [Optimizing Repository Replication with Checksum-Based Storage](https://www.jfrog.com/confluence/display/JFROG/Repository+Replication#RepositoryReplication-OptimizingRepositoryReplicationUsingStorageLevelSynchronizationOptions).\n"
                    },
                    "cronExp": {
                        "type": "string",
                        "description": "A valid CRON expression that you can use to control replication frequency. Eg: `0 0 12 * * ? *`, `0 0 2 ? * MON-SAT *`. Note: use 6 or 7 parts format - Seconds, Minutes Hours, Day Of Month, Month, Day Of Week, Year (optional). Specifying both a day-of-week AND a day-of-month parameter is not supported. One of them should be replaced by `?`. Incorrect: `* 5,7,9 14/2 * * WED,SAT *`, correct: `* 5,7,9 14/2 ? * WED,SAT *`. See details in [Cron Trigger Tutorial](https://www.quartz-scheduler.org/documentation/quartz-2.3.0/tutorials/crontrigger.html).\n"
                    },
                    "disableProxy": {
                        "type": "boolean",
                        "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the \u003cspan pulumi-lang-nodejs=\"`proxy`\" pulumi-lang-dotnet=\"`Proxy`\" pulumi-lang-go=\"`proxy`\" pulumi-lang-python=\"`proxy`\" pulumi-lang-yaml=\"`proxy`\" pulumi-lang-java=\"`proxy`\" pulumi-lang-hcl=\"`proxy`\"\u003e`proxy`\u003c/span\u003e attribute will be ignored (from version 7.41.7). The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                    },
                    "enableEventReplication": {
                        "type": "boolean",
                        "description": "When set, each event will trigger replication of the artifacts changed in this event. This can be any type of event on artifact, e.g. add, deleted or property change. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                    },
                    "enabled": {
                        "type": "boolean",
                        "description": "When set, enables replication of this repository to the target specified in \u003cspan pulumi-lang-nodejs=\"`url`\" pulumi-lang-dotnet=\"`Url`\" pulumi-lang-go=\"`url`\" pulumi-lang-python=\"`url`\" pulumi-lang-yaml=\"`url`\" pulumi-lang-java=\"`url`\" pulumi-lang-hcl=\"`url`\"\u003e`url`\u003c/span\u003e attribute. Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                    },
                    "excludePathPrefixPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`. By default, no artifacts are excluded.\n"
                    },
                    "includePathPrefixPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included `(**/*)`.\n"
                    },
                    "password": {
                        "type": "string",
                        "description": "Use either the HTTP authentication password or [identity token](https://www.jfrog.com/confluence/display/JFROG/User+Profile#UserProfile-IdentityTokenidentitytoken).\n",
                        "secret": true
                    },
                    "proxy": {
                        "type": "string",
                        "description": "Proxy key from Artifactory Proxies settings. The proxy configuration will be used when communicating with the remote instance.\n"
                    },
                    "replicationKey": {
                        "type": "string",
                        "description": "Replication ID, the value is unknown until the resource is created. Can't be set or updated.\n"
                    },
                    "repoKey": {
                        "type": "string",
                        "description": "Repository name.\n"
                    },
                    "socketTimeoutMillis": {
                        "type": "integer",
                        "description": "The network timeout in milliseconds to use for remote operations. Default value is \u003cspan pulumi-lang-nodejs=\"`15000`\" pulumi-lang-dotnet=\"`15000`\" pulumi-lang-go=\"`15000`\" pulumi-lang-python=\"`15000`\" pulumi-lang-yaml=\"`15000`\" pulumi-lang-java=\"`15000`\" pulumi-lang-hcl=\"`15000`\"\u003e`15000`\u003c/span\u003e.\n"
                    },
                    "syncDeletes": {
                        "type": "boolean",
                        "description": "When set, items that were deleted locally should also be deleted remotely (also applies to properties metadata). Note that enabling this option, will delete artifacts on the target that do not exist in the source repository. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                    },
                    "syncProperties": {
                        "type": "boolean",
                        "description": "When set, the task also synchronizes the properties of replicated artifacts. Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                    },
                    "syncStatistics": {
                        "type": "boolean",
                        "description": "When set, the task also synchronizes artifact download statistics. Set to avoid inadvertent cleanup at the target instance when setting up replication for disaster recovery. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e\n"
                    },
                    "url": {
                        "type": "string",
                        "description": "The URL of the target local repository on a remote Artifactory server. Use the format `https://\u003cartifactory_url\u003e/artifactory/\u003crepository_name\u003e`.\n"
                    },
                    "username": {
                        "type": "string",
                        "description": "Username on the remote Artifactory instance.\n"
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/localRpmRepository:LocalRpmRepository": {
            "description": "Creates a local RPM repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\nimport * as std from \"@pulumi/std\";\n\nconst some_keypair_gpg_1 = new artifactory.Keypair(\"some-keypair-gpg-1\", {\n    pairName: `some-keypair${randid.id}`,\n    pairType: \"GPG\",\n    alias: \"foo-alias1\",\n    privateKey: std.file({\n        input: \"samples/gpg.priv\",\n    }).then(invoke =\u003e invoke.result),\n    publicKey: std.file({\n        input: \"samples/gpg.pub\",\n    }).then(invoke =\u003e invoke.result),\n});\nconst some_keypair_gpg_2 = new artifactory.Keypair(\"some-keypair-gpg-2\", {\n    pairName: `some-keypair${randid.id}`,\n    pairType: \"GPG\",\n    alias: \"foo-alias2\",\n    privateKey: std.file({\n        input: \"samples/gpg.priv\",\n    }).then(invoke =\u003e invoke.result),\n    publicKey: std.file({\n        input: \"samples/gpg.pub\",\n    }).then(invoke =\u003e invoke.result),\n});\nconst terraform_local_test_rpm_repo_basic = new artifactory.LocalRpmRepository(\"terraform-local-test-rpm-repo-basic\", {\n    key: \"terraform-local-test-rpm-repo-basic\",\n    yumRootDepth: 5,\n    calculateYumMetadata: true,\n    enableFileListsIndexing: true,\n    yumGroupFileNames: \"file-1.xml,file-2.xml\",\n    primaryKeypairRef: some_keypairGPG1.pairName,\n    secondaryKeypairRef: some_keypairGPG2.pairName,\n}, {\n    dependsOn: [\n        some_keypair_gpg_1,\n        some_keypair_gpg_2,\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\nimport pulumi_std as std\n\nsome_keypair_gpg_1 = artifactory.Keypair(\"some-keypair-gpg-1\",\n    pair_name=f\"some-keypair{randid['id']}\",\n    pair_type=\"GPG\",\n    alias=\"foo-alias1\",\n    private_key=std.file(input=\"samples/gpg.priv\").result,\n    public_key=std.file(input=\"samples/gpg.pub\").result)\nsome_keypair_gpg_2 = artifactory.Keypair(\"some-keypair-gpg-2\",\n    pair_name=f\"some-keypair{randid['id']}\",\n    pair_type=\"GPG\",\n    alias=\"foo-alias2\",\n    private_key=std.file(input=\"samples/gpg.priv\").result,\n    public_key=std.file(input=\"samples/gpg.pub\").result)\nterraform_local_test_rpm_repo_basic = artifactory.LocalRpmRepository(\"terraform-local-test-rpm-repo-basic\",\n    key=\"terraform-local-test-rpm-repo-basic\",\n    yum_root_depth=5,\n    calculate_yum_metadata=True,\n    enable_file_lists_indexing=True,\n    yum_group_file_names=\"file-1.xml,file-2.xml\",\n    primary_keypair_ref=some_keypair_gpg1[\"pairName\"],\n    secondary_keypair_ref=some_keypair_gpg2[\"pairName\"],\n    opts = pulumi.ResourceOptions(depends_on=[\n            some_keypair_gpg_1,\n            some_keypair_gpg_2,\n        ]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var some_keypair_gpg_1 = new Artifactory.Keypair(\"some-keypair-gpg-1\", new()\n    {\n        PairName = $\"some-keypair{randid.Id}\",\n        PairType = \"GPG\",\n        Alias = \"foo-alias1\",\n        PrivateKey = Std.File.Invoke(new()\n        {\n            Input = \"samples/gpg.priv\",\n        }).Apply(invoke =\u003e invoke.Result),\n        PublicKey = Std.File.Invoke(new()\n        {\n            Input = \"samples/gpg.pub\",\n        }).Apply(invoke =\u003e invoke.Result),\n    });\n\n    var some_keypair_gpg_2 = new Artifactory.Keypair(\"some-keypair-gpg-2\", new()\n    {\n        PairName = $\"some-keypair{randid.Id}\",\n        PairType = \"GPG\",\n        Alias = \"foo-alias2\",\n        PrivateKey = Std.File.Invoke(new()\n        {\n            Input = \"samples/gpg.priv\",\n        }).Apply(invoke =\u003e invoke.Result),\n        PublicKey = Std.File.Invoke(new()\n        {\n            Input = \"samples/gpg.pub\",\n        }).Apply(invoke =\u003e invoke.Result),\n    });\n\n    var terraform_local_test_rpm_repo_basic = new Artifactory.LocalRpmRepository(\"terraform-local-test-rpm-repo-basic\", new()\n    {\n        Key = \"terraform-local-test-rpm-repo-basic\",\n        YumRootDepth = 5,\n        CalculateYumMetadata = true,\n        EnableFileListsIndexing = true,\n        YumGroupFileNames = \"file-1.xml,file-2.xml\",\n        PrimaryKeypairRef = some_keypairGPG1.PairName,\n        SecondaryKeypairRef = some_keypairGPG2.PairName,\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            some_keypair_gpg_1,\n            some_keypair_gpg_2,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"samples/gpg.priv\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile1, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"samples/gpg.pub\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsome_keypair_gpg_1, err := artifactory.NewKeypair(ctx, \"some-keypair-gpg-1\", \u0026artifactory.KeypairArgs{\n\t\t\tPairName:   pulumi.Sprintf(\"some-keypair%v\", randid.Id),\n\t\t\tPairType:   pulumi.String(\"GPG\"),\n\t\t\tAlias:      pulumi.String(\"foo-alias1\"),\n\t\t\tPrivateKey: pulumi.String(invokeFile.Result),\n\t\t\tPublicKey:  pulumi.String(invokeFile1.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile2, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"samples/gpg.priv\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile3, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"samples/gpg.pub\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsome_keypair_gpg_2, err := artifactory.NewKeypair(ctx, \"some-keypair-gpg-2\", \u0026artifactory.KeypairArgs{\n\t\t\tPairName:   pulumi.Sprintf(\"some-keypair%v\", randid.Id),\n\t\t\tPairType:   pulumi.String(\"GPG\"),\n\t\t\tAlias:      pulumi.String(\"foo-alias2\"),\n\t\t\tPrivateKey: pulumi.String(invokeFile2.Result),\n\t\t\tPublicKey:  pulumi.String(invokeFile3.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = artifactory.NewLocalRpmRepository(ctx, \"terraform-local-test-rpm-repo-basic\", \u0026artifactory.LocalRpmRepositoryArgs{\n\t\t\tKey:                     pulumi.String(\"terraform-local-test-rpm-repo-basic\"),\n\t\t\tYumRootDepth:            pulumi.Int(5),\n\t\t\tCalculateYumMetadata:    pulumi.Bool(true),\n\t\t\tEnableFileListsIndexing: pulumi.Bool(true),\n\t\t\tYumGroupFileNames:       pulumi.String(\"file-1.xml,file-2.xml\"),\n\t\t\tPrimaryKeypairRef:       pulumi.Any(some_keypairGPG1.PairName),\n\t\t\tSecondaryKeypairRef:     pulumi.Any(some_keypairGPG2.PairName),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tsome_keypair_gpg_1,\n\t\t\tsome_keypair_gpg_2,\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n    std = {\n      source = \"pulumi/std\"\n    }\n  }\n}\n\nresource \"artifactory_localrpmrepository\" \"terraform-local-test-rpm-repo-basic\" {\n  depends_on                 = [artifactory_keypair.some-keypair-gpg-1, artifactory_keypair.some-keypair-gpg-2]\n  key                        = \"terraform-local-test-rpm-repo-basic\"\n  yum_root_depth             = 5\n  calculate_yum_metadata     = true\n  enable_file_lists_indexing = true\n  yum_group_file_names       = \"file-1.xml,file-2.xml\"\n  primary_keypair_ref        = some-keypairGPG1.pairName\n  secondary_keypair_ref      = some-keypairGPG2.pairName\n}\nresource \"artifactory_keypair\" \"some-keypair-gpg-1\" {\n  pair_name   =\"some-keypair${randid.id}\"\n  pair_type   = \"GPG\"\n  alias       = \"foo-alias1\"\n  private_key = file(\"samples/gpg.priv\")\n  public_key  = file(\"samples/gpg.pub\")\n}\nresource \"artifactory_keypair\" \"some-keypair-gpg-2\" {\n  pair_name   =\"some-keypair${randid.id}\"\n  pair_type   = \"GPG\"\n  alias       = \"foo-alias2\"\n  private_key = file(\"samples/gpg.priv\")\n  public_key  = file(\"samples/gpg.pub\")\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.Keypair;\nimport com.pulumi.artifactory.KeypairArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FileArgs;\nimport com.pulumi.artifactory.LocalRpmRepository;\nimport com.pulumi.artifactory.LocalRpmRepositoryArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 some_keypair_gpg_1 = new Keypair(\"some-keypair-gpg-1\", KeypairArgs.builder()\n            .pairName(String.format(\"some-keypair%s\", randid.id()))\n            .pairType(\"GPG\")\n            .alias(\"foo-alias1\")\n            .privateKey(StdFunctions.file(FileArgs.builder()\n                .input(\"samples/gpg.priv\")\n                .build()).result())\n            .publicKey(StdFunctions.file(FileArgs.builder()\n                .input(\"samples/gpg.pub\")\n                .build()).result())\n            .build());\n\n        var some_keypair_gpg_2 = new Keypair(\"some-keypair-gpg-2\", KeypairArgs.builder()\n            .pairName(String.format(\"some-keypair%s\", randid.id()))\n            .pairType(\"GPG\")\n            .alias(\"foo-alias2\")\n            .privateKey(StdFunctions.file(FileArgs.builder()\n                .input(\"samples/gpg.priv\")\n                .build()).result())\n            .publicKey(StdFunctions.file(FileArgs.builder()\n                .input(\"samples/gpg.pub\")\n                .build()).result())\n            .build());\n\n        var terraform_local_test_rpm_repo_basic = new LocalRpmRepository(\"terraform-local-test-rpm-repo-basic\", LocalRpmRepositoryArgs.builder()\n            .key(\"terraform-local-test-rpm-repo-basic\")\n            .yumRootDepth(5)\n            .calculateYumMetadata(true)\n            .enableFileListsIndexing(true)\n            .yumGroupFileNames(\"file-1.xml,file-2.xml\")\n            .primaryKeypairRef(some_keypairGPG1.pairName())\n            .secondaryKeypairRef(some_keypairGPG2.pairName())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(                \n                    some_keypair_gpg_1,\n                    some_keypair_gpg_2)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  terraform-local-test-rpm-repo-basic:\n    type: artifactory:LocalRpmRepository\n    properties:\n      key: terraform-local-test-rpm-repo-basic\n      yumRootDepth: 5\n      calculateYumMetadata: true\n      enableFileListsIndexing: true\n      yumGroupFileNames: file-1.xml,file-2.xml\n      primaryKeypairRef: ${[\"some-keypairGPG1\"].pairName}\n      secondaryKeypairRef: ${[\"some-keypairGPG2\"].pairName}\n    options:\n      dependsOn:\n        - ${[\"some-keypair-gpg-1\"]}\n        - ${[\"some-keypair-gpg-2\"]}\n  some-keypair-gpg-1:\n    type: artifactory:Keypair\n    properties:\n      pairName: some-keypair${randid.id}\n      pairType: GPG\n      alias: foo-alias1\n      privateKey:\n        fn::invoke:\n          function: std:file\n          arguments:\n            input: samples/gpg.priv\n          return: result\n      publicKey:\n        fn::invoke:\n          function: std:file\n          arguments:\n            input: samples/gpg.pub\n          return: result\n  some-keypair-gpg-2:\n    type: artifactory:Keypair\n    properties:\n      pairName: some-keypair${randid.id}\n      pairType: GPG\n      alias: foo-alias2\n      privateKey:\n        fn::invoke:\n          function: std:file\n          arguments:\n            input: samples/gpg.priv\n          return: result\n      publicKey:\n        fn::invoke:\n          function: std:file\n          arguments:\n            input: samples/gpg.pub\n          return: result\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLocal repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/localRpmRepository:LocalRpmRepository terraform-local-test-rpm-repo-basic terraform-local-test-rpm-repo-basic\n```\n\n",
            "properties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "calculateYumMetadata": {
                    "type": "boolean",
                    "description": "Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "enableFileListsIndexing": {
                    "type": "boolean",
                    "description": "Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "primaryKeypairRef": {
                    "type": "string",
                    "description": "The primary GPG key to be used to sign packages.\n"
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "secondaryKeypairRef": {
                    "type": "string",
                    "description": "The secondary GPG key to be used to sign packages.\n"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                },
                "yumGroupFileNames": {
                    "type": "string",
                    "description": "A comma separated list of XML file names containing RPM group component definitions. \nArtifactory includes the group definitions as part of the calculated RPM metadata, as well as automatically\ngenerating a gzipped version of the group files, if required. Default is empty string.\n"
                },
                "yumRootDepth": {
                    "type": "integer",
                    "description": "The depth, relative to the repository's root folder, where RPM metadata is created. \nThis is useful when your repository contains multiple RPM repositories under parallel hierarchies. For example, if\nyour RPMs are stored under 'fedora/linux/$releasever/$basearch', specify a depth of 4. Once the number of snapshots\nexceeds this setting, older versions are removed. A value of 0 (default) indicates there is no limit, and unique\nsnapshots are not cleaned up.\n"
                }
            },
            "required": [
                "archiveBrowsingEnabled",
                "blackedOut",
                "calculateYumMetadata",
                "cdnRedirect",
                "description",
                "downloadDirect",
                "enableFileListsIndexing",
                "excludesPattern",
                "includesPattern",
                "key",
                "notes",
                "primaryKeypairRef",
                "priorityResolution",
                "projectEnvironments",
                "projectKey",
                "repoLayoutRef",
                "secondaryKeypairRef",
                "xrayIndex",
                "yumGroupFileNames",
                "yumRootDepth"
            ],
            "inputProperties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "calculateYumMetadata": {
                    "type": "boolean",
                    "description": "Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "enableFileListsIndexing": {
                    "type": "boolean",
                    "description": "Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "primaryKeypairRef": {
                    "type": "string",
                    "description": "The primary GPG key to be used to sign packages.\n"
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "secondaryKeypairRef": {
                    "type": "string",
                    "description": "The secondary GPG key to be used to sign packages.\n"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                },
                "yumGroupFileNames": {
                    "type": "string",
                    "description": "A comma separated list of XML file names containing RPM group component definitions. \nArtifactory includes the group definitions as part of the calculated RPM metadata, as well as automatically\ngenerating a gzipped version of the group files, if required. Default is empty string.\n"
                },
                "yumRootDepth": {
                    "type": "integer",
                    "description": "The depth, relative to the repository's root folder, where RPM metadata is created. \nThis is useful when your repository contains multiple RPM repositories under parallel hierarchies. For example, if\nyour RPMs are stored under 'fedora/linux/$releasever/$basearch', specify a depth of 4. Once the number of snapshots\nexceeds this setting, older versions are removed. A value of 0 (default) indicates there is no limit, and unique\nsnapshots are not cleaned up.\n"
                }
            },
            "requiredInputs": [
                "key"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering LocalRpmRepository resources.\n",
                "properties": {
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                    },
                    "calculateYumMetadata": {
                        "type": "boolean",
                        "description": "Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                    },
                    "enableFileListsIndexing": {
                        "type": "boolean",
                        "description": "Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "the identity key of the repo.\n"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "primaryKeypairRef": {
                        "type": "string",
                        "description": "The primary GPG key to be used to sign packages.\n"
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                    },
                    "secondaryKeypairRef": {
                        "type": "string",
                        "description": "The secondary GPG key to be used to sign packages.\n"
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    },
                    "yumGroupFileNames": {
                        "type": "string",
                        "description": "A comma separated list of XML file names containing RPM group component definitions. \nArtifactory includes the group definitions as part of the calculated RPM metadata, as well as automatically\ngenerating a gzipped version of the group files, if required. Default is empty string.\n"
                    },
                    "yumRootDepth": {
                        "type": "integer",
                        "description": "The depth, relative to the repository's root folder, where RPM metadata is created. \nThis is useful when your repository contains multiple RPM repositories under parallel hierarchies. For example, if\nyour RPMs are stored under 'fedora/linux/$releasever/$basearch', specify a depth of 4. Once the number of snapshots\nexceeds this setting, older versions are removed. A value of 0 (default) indicates there is no limit, and unique\nsnapshots are not cleaned up.\n"
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/localSbtRepository:LocalSbtRepository": {
            "description": "Creates a local Sbt repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst terraform_local_test_sbt_repo = new artifactory.LocalSbtRepository(\"terraform-local-test-sbt-repo\", {key: \"terraform-local-test-sbt-repo\"});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nterraform_local_test_sbt_repo = artifactory.LocalSbtRepository(\"terraform-local-test-sbt-repo\", key=\"terraform-local-test-sbt-repo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var terraform_local_test_sbt_repo = new Artifactory.LocalSbtRepository(\"terraform-local-test-sbt-repo\", new()\n    {\n        Key = \"terraform-local-test-sbt-repo\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewLocalSbtRepository(ctx, \"terraform-local-test-sbt-repo\", \u0026artifactory.LocalSbtRepositoryArgs{\n\t\t\tKey: pulumi.String(\"terraform-local-test-sbt-repo\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_localsbtrepository\" \"terraform-local-test-sbt-repo\" {\n  key = \"terraform-local-test-sbt-repo\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.LocalSbtRepository;\nimport com.pulumi.artifactory.LocalSbtRepositoryArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 terraform_local_test_sbt_repo = new LocalSbtRepository(\"terraform-local-test-sbt-repo\", LocalSbtRepositoryArgs.builder()\n            .key(\"terraform-local-test-sbt-repo\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  terraform-local-test-sbt-repo:\n    type: artifactory:LocalSbtRepository\n    properties:\n      key: terraform-local-test-sbt-repo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLocal repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/localSbtRepository:LocalSbtRepository terraform-local-test-sbt-repo terraform-local-test-sbt-repo\n```\n\n",
            "properties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "checksumPolicyType": {
                    "type": "string",
                    "description": "Checksum policy determines how Artifactory behaves when a client checksum for a deployed resource is missing or conflicts with the locally calculated checksum (bad checksum). Options are: \"client-checksums\", or \"server-generated-checksums\". Default: \"client-checksums\"\\n For more details, please refer to Checksum Policy - https://www.jfrog.com/confluence/display/JFROG/Local+Repositories#LocalRepositories-ChecksumPolicy"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "handleReleases": {
                    "type": "boolean",
                    "description": "If set, Artifactory allows you to deploy release artifacts into this repository."
                },
                "handleSnapshots": {
                    "type": "boolean",
                    "description": "If set, Artifactory allows you to deploy snapshot artifacts into this repository."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "maxUniqueSnapshots": {
                    "type": "integer",
                    "description": "The maximum number of unique snapshots of a single artifact to store. Once the number of snapshots exceeds this setting, older versions are removed. A value of 0 (default) indicates there is no limit, and unique snapshots are not cleaned up."
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "snapshotVersionBehavior": {
                    "type": "string",
                    "description": "Specifies the naming convention for Maven SNAPSHOT versions. The options are - \u003cspan pulumi-lang-nodejs=\"`unique`\" pulumi-lang-dotnet=\"`Unique`\" pulumi-lang-go=\"`unique`\" pulumi-lang-python=\"`unique`\" pulumi-lang-yaml=\"`unique`\" pulumi-lang-java=\"`unique`\" pulumi-lang-hcl=\"`unique`\"\u003e`unique`\u003c/span\u003e: Version number is based on a time-stamp (default), `non-unique`: Version number uses a self-overriding naming pattern of artifactId-version-SNAPSHOT.type, \u003cspan pulumi-lang-nodejs=\"`deployer`\" pulumi-lang-dotnet=\"`Deployer`\" pulumi-lang-go=\"`deployer`\" pulumi-lang-python=\"`deployer`\" pulumi-lang-yaml=\"`deployer`\" pulumi-lang-java=\"`deployer`\" pulumi-lang-hcl=\"`deployer`\"\u003e`deployer`\u003c/span\u003e: Respects the settings in the Maven client that is deploying the artifact."
                },
                "suppressPomConsistencyChecks": {
                    "type": "boolean",
                    "description": "By default, Artifactory keeps your repositories healthy by refusing POMs with incorrect coordinates (path). If the groupId:artifactId:version information inside the POM does not match the deployed path, Artifactory rejects the deployment with a `409 Conflict` error. You can disable this behavior by setting the Suppress POM Consistency Checks checkbox."
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "archiveBrowsingEnabled",
                "blackedOut",
                "cdnRedirect",
                "checksumPolicyType",
                "description",
                "downloadDirect",
                "excludesPattern",
                "handleReleases",
                "handleSnapshots",
                "includesPattern",
                "key",
                "maxUniqueSnapshots",
                "notes",
                "priorityResolution",
                "projectEnvironments",
                "projectKey",
                "repoLayoutRef",
                "snapshotVersionBehavior",
                "suppressPomConsistencyChecks",
                "xrayIndex"
            ],
            "inputProperties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "checksumPolicyType": {
                    "type": "string",
                    "description": "Checksum policy determines how Artifactory behaves when a client checksum for a deployed resource is missing or conflicts with the locally calculated checksum (bad checksum). Options are: \"client-checksums\", or \"server-generated-checksums\". Default: \"client-checksums\"\\n For more details, please refer to Checksum Policy - https://www.jfrog.com/confluence/display/JFROG/Local+Repositories#LocalRepositories-ChecksumPolicy"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "handleReleases": {
                    "type": "boolean",
                    "description": "If set, Artifactory allows you to deploy release artifacts into this repository."
                },
                "handleSnapshots": {
                    "type": "boolean",
                    "description": "If set, Artifactory allows you to deploy snapshot artifacts into this repository."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "maxUniqueSnapshots": {
                    "type": "integer",
                    "description": "The maximum number of unique snapshots of a single artifact to store. Once the number of snapshots exceeds this setting, older versions are removed. A value of 0 (default) indicates there is no limit, and unique snapshots are not cleaned up."
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "snapshotVersionBehavior": {
                    "type": "string",
                    "description": "Specifies the naming convention for Maven SNAPSHOT versions. The options are - \u003cspan pulumi-lang-nodejs=\"`unique`\" pulumi-lang-dotnet=\"`Unique`\" pulumi-lang-go=\"`unique`\" pulumi-lang-python=\"`unique`\" pulumi-lang-yaml=\"`unique`\" pulumi-lang-java=\"`unique`\" pulumi-lang-hcl=\"`unique`\"\u003e`unique`\u003c/span\u003e: Version number is based on a time-stamp (default), `non-unique`: Version number uses a self-overriding naming pattern of artifactId-version-SNAPSHOT.type, \u003cspan pulumi-lang-nodejs=\"`deployer`\" pulumi-lang-dotnet=\"`Deployer`\" pulumi-lang-go=\"`deployer`\" pulumi-lang-python=\"`deployer`\" pulumi-lang-yaml=\"`deployer`\" pulumi-lang-java=\"`deployer`\" pulumi-lang-hcl=\"`deployer`\"\u003e`deployer`\u003c/span\u003e: Respects the settings in the Maven client that is deploying the artifact."
                },
                "suppressPomConsistencyChecks": {
                    "type": "boolean",
                    "description": "By default, Artifactory keeps your repositories healthy by refusing POMs with incorrect coordinates (path). If the groupId:artifactId:version information inside the POM does not match the deployed path, Artifactory rejects the deployment with a `409 Conflict` error. You can disable this behavior by setting the Suppress POM Consistency Checks checkbox."
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering LocalSbtRepository resources.\n",
                "properties": {
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "checksumPolicyType": {
                        "type": "string",
                        "description": "Checksum policy determines how Artifactory behaves when a client checksum for a deployed resource is missing or conflicts with the locally calculated checksum (bad checksum). Options are: \"client-checksums\", or \"server-generated-checksums\". Default: \"client-checksums\"\\n For more details, please refer to Checksum Policy - https://www.jfrog.com/confluence/display/JFROG/Local+Repositories#LocalRepositories-ChecksumPolicy"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "handleReleases": {
                        "type": "boolean",
                        "description": "If set, Artifactory allows you to deploy release artifacts into this repository."
                    },
                    "handleSnapshots": {
                        "type": "boolean",
                        "description": "If set, Artifactory allows you to deploy snapshot artifacts into this repository."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "the identity key of the repo.\n"
                    },
                    "maxUniqueSnapshots": {
                        "type": "integer",
                        "description": "The maximum number of unique snapshots of a single artifact to store. Once the number of snapshots exceeds this setting, older versions are removed. A value of 0 (default) indicates there is no limit, and unique snapshots are not cleaned up."
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                    },
                    "snapshotVersionBehavior": {
                        "type": "string",
                        "description": "Specifies the naming convention for Maven SNAPSHOT versions. The options are - \u003cspan pulumi-lang-nodejs=\"`unique`\" pulumi-lang-dotnet=\"`Unique`\" pulumi-lang-go=\"`unique`\" pulumi-lang-python=\"`unique`\" pulumi-lang-yaml=\"`unique`\" pulumi-lang-java=\"`unique`\" pulumi-lang-hcl=\"`unique`\"\u003e`unique`\u003c/span\u003e: Version number is based on a time-stamp (default), `non-unique`: Version number uses a self-overriding naming pattern of artifactId-version-SNAPSHOT.type, \u003cspan pulumi-lang-nodejs=\"`deployer`\" pulumi-lang-dotnet=\"`Deployer`\" pulumi-lang-go=\"`deployer`\" pulumi-lang-python=\"`deployer`\" pulumi-lang-yaml=\"`deployer`\" pulumi-lang-java=\"`deployer`\" pulumi-lang-hcl=\"`deployer`\"\u003e`deployer`\u003c/span\u003e: Respects the settings in the Maven client that is deploying the artifact."
                    },
                    "suppressPomConsistencyChecks": {
                        "type": "boolean",
                        "description": "By default, Artifactory keeps your repositories healthy by refusing POMs with incorrect coordinates (path). If the groupId:artifactId:version information inside the POM does not match the deployed path, Artifactory rejects the deployment with a `409 Conflict` error. You can disable this behavior by setting the Suppress POM Consistency Checks checkbox."
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/localSwiftRepository:LocalSwiftRepository": {
            "description": "Creates a local Swift repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst terraform_local_test_swift_repo = new artifactory.LocalSwiftRepository(\"terraform-local-test-swift-repo\", {key: \"terraform-local-test-swift-repo\"});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nterraform_local_test_swift_repo = artifactory.LocalSwiftRepository(\"terraform-local-test-swift-repo\", key=\"terraform-local-test-swift-repo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var terraform_local_test_swift_repo = new Artifactory.LocalSwiftRepository(\"terraform-local-test-swift-repo\", new()\n    {\n        Key = \"terraform-local-test-swift-repo\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewLocalSwiftRepository(ctx, \"terraform-local-test-swift-repo\", \u0026artifactory.LocalSwiftRepositoryArgs{\n\t\t\tKey: pulumi.String(\"terraform-local-test-swift-repo\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_localswiftrepository\" \"terraform-local-test-swift-repo\" {\n  key = \"terraform-local-test-swift-repo\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.LocalSwiftRepository;\nimport com.pulumi.artifactory.LocalSwiftRepositoryArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 terraform_local_test_swift_repo = new LocalSwiftRepository(\"terraform-local-test-swift-repo\", LocalSwiftRepositoryArgs.builder()\n            .key(\"terraform-local-test-swift-repo\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  terraform-local-test-swift-repo:\n    type: artifactory:LocalSwiftRepository\n    properties:\n      key: terraform-local-test-swift-repo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLocal repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/localSwiftRepository:LocalSwiftRepository terraform-local-test-swift-repo terraform-local-test-swift-repo\n```\n\n",
            "properties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "archiveBrowsingEnabled",
                "blackedOut",
                "cdnRedirect",
                "description",
                "downloadDirect",
                "excludesPattern",
                "includesPattern",
                "key",
                "notes",
                "priorityResolution",
                "projectEnvironments",
                "projectKey",
                "repoLayoutRef",
                "xrayIndex"
            ],
            "inputProperties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering LocalSwiftRepository resources.\n",
                "properties": {
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "the identity key of the repo.\n"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/localTerraformBackendRepository:LocalTerraformBackendRepository": {
            "description": "Creates a local Terraform Backend repository.\nOfficial documentation can be found [here](https://www.jfrog.com/confluence/display/JFROG/Terraform+Repositories).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst terraform_local_test_terraformbackend_repo = new artifactory.LocalTerraformBackendRepository(\"terraform-local-test-terraformbackend-repo\", {key: \"terraform-local-test-terraformbackend-repo\"});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nterraform_local_test_terraformbackend_repo = artifactory.LocalTerraformBackendRepository(\"terraform-local-test-terraformbackend-repo\", key=\"terraform-local-test-terraformbackend-repo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var terraform_local_test_terraformbackend_repo = new Artifactory.LocalTerraformBackendRepository(\"terraform-local-test-terraformbackend-repo\", new()\n    {\n        Key = \"terraform-local-test-terraformbackend-repo\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewLocalTerraformBackendRepository(ctx, \"terraform-local-test-terraformbackend-repo\", \u0026artifactory.LocalTerraformBackendRepositoryArgs{\n\t\t\tKey: pulumi.String(\"terraform-local-test-terraformbackend-repo\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_localterraformbackendrepository\" \"terraform-local-test-terraformbackend-repo\" {\n  key = \"terraform-local-test-terraformbackend-repo\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.LocalTerraformBackendRepository;\nimport com.pulumi.artifactory.LocalTerraformBackendRepositoryArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 terraform_local_test_terraformbackend_repo = new LocalTerraformBackendRepository(\"terraform-local-test-terraformbackend-repo\", LocalTerraformBackendRepositoryArgs.builder()\n            .key(\"terraform-local-test-terraformbackend-repo\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  terraform-local-test-terraformbackend-repo:\n    type: artifactory:LocalTerraformBackendRepository\n    properties:\n      key: terraform-local-test-terraformbackend-repo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLocal repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/localTerraformBackendRepository:LocalTerraformBackendRepository terraform-local-test-terraformbackend-repo terraform-local-test-terraformbackend-repo\n```\n\n",
            "properties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "archiveBrowsingEnabled",
                "blackedOut",
                "cdnRedirect",
                "description",
                "downloadDirect",
                "excludesPattern",
                "includesPattern",
                "key",
                "notes",
                "priorityResolution",
                "projectEnvironments",
                "projectKey",
                "repoLayoutRef",
                "xrayIndex"
            ],
            "inputProperties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering LocalTerraformBackendRepository resources.\n",
                "properties": {
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "the identity key of the repo.\n"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/localTerraformModuleRepository:LocalTerraformModuleRepository": {
            "description": "Creates a local Terraform Module repository.\nOfficial documentation can be found [here](https://www.jfrog.com/confluence/display/JFROG/Terraform+Repositories).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst terraform_local_test_terraform_module_repo = new artifactory.LocalTerraformModuleRepository(\"terraform-local-test-terraform-module-repo\", {key: \"terraform-local-test-terraform-module-repo\"});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nterraform_local_test_terraform_module_repo = artifactory.LocalTerraformModuleRepository(\"terraform-local-test-terraform-module-repo\", key=\"terraform-local-test-terraform-module-repo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var terraform_local_test_terraform_module_repo = new Artifactory.LocalTerraformModuleRepository(\"terraform-local-test-terraform-module-repo\", new()\n    {\n        Key = \"terraform-local-test-terraform-module-repo\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewLocalTerraformModuleRepository(ctx, \"terraform-local-test-terraform-module-repo\", \u0026artifactory.LocalTerraformModuleRepositoryArgs{\n\t\t\tKey: pulumi.String(\"terraform-local-test-terraform-module-repo\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_localterraformmodulerepository\" \"terraform-local-test-terraform-module-repo\" {\n  key = \"terraform-local-test-terraform-module-repo\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.LocalTerraformModuleRepository;\nimport com.pulumi.artifactory.LocalTerraformModuleRepositoryArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 terraform_local_test_terraform_module_repo = new LocalTerraformModuleRepository(\"terraform-local-test-terraform-module-repo\", LocalTerraformModuleRepositoryArgs.builder()\n            .key(\"terraform-local-test-terraform-module-repo\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  terraform-local-test-terraform-module-repo:\n    type: artifactory:LocalTerraformModuleRepository\n    properties:\n      key: terraform-local-test-terraform-module-repo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLocal repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/localTerraformModuleRepository:LocalTerraformModuleRepository terraform-local-test-terraform-module-repo terraform-local-test-terraform-module-repo\n```\n\n",
            "properties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "archiveBrowsingEnabled",
                "blackedOut",
                "cdnRedirect",
                "description",
                "downloadDirect",
                "excludesPattern",
                "includesPattern",
                "key",
                "notes",
                "priorityResolution",
                "projectEnvironments",
                "projectKey",
                "repoLayoutRef",
                "xrayIndex"
            ],
            "inputProperties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering LocalTerraformModuleRepository resources.\n",
                "properties": {
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "the identity key of the repo.\n"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/localTerraformProviderRepository:LocalTerraformProviderRepository": {
            "description": "Creates a local Terraform Provider repository.\nOfficial documentation can be found [here](https://www.jfrog.com/confluence/display/JFROG/Terraform+Repositories).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst terraform_local_test_terraform_provider_repo = new artifactory.LocalTerraformProviderRepository(\"terraform-local-test-terraform-provider-repo\", {key: \"terraform-local-test-terraform-provider-repo\"});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nterraform_local_test_terraform_provider_repo = artifactory.LocalTerraformProviderRepository(\"terraform-local-test-terraform-provider-repo\", key=\"terraform-local-test-terraform-provider-repo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var terraform_local_test_terraform_provider_repo = new Artifactory.LocalTerraformProviderRepository(\"terraform-local-test-terraform-provider-repo\", new()\n    {\n        Key = \"terraform-local-test-terraform-provider-repo\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewLocalTerraformProviderRepository(ctx, \"terraform-local-test-terraform-provider-repo\", \u0026artifactory.LocalTerraformProviderRepositoryArgs{\n\t\t\tKey: pulumi.String(\"terraform-local-test-terraform-provider-repo\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_localterraformproviderrepository\" \"terraform-local-test-terraform-provider-repo\" {\n  key = \"terraform-local-test-terraform-provider-repo\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.LocalTerraformProviderRepository;\nimport com.pulumi.artifactory.LocalTerraformProviderRepositoryArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 terraform_local_test_terraform_provider_repo = new LocalTerraformProviderRepository(\"terraform-local-test-terraform-provider-repo\", LocalTerraformProviderRepositoryArgs.builder()\n            .key(\"terraform-local-test-terraform-provider-repo\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  terraform-local-test-terraform-provider-repo:\n    type: artifactory:LocalTerraformProviderRepository\n    properties:\n      key: terraform-local-test-terraform-provider-repo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLocal repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/localTerraformProviderRepository:LocalTerraformProviderRepository terraform-local-test-terraform-provider-repo terraform-local-test-terraform-provider-repo\n```\n\n",
            "properties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "archiveBrowsingEnabled",
                "blackedOut",
                "cdnRedirect",
                "description",
                "downloadDirect",
                "excludesPattern",
                "includesPattern",
                "key",
                "notes",
                "priorityResolution",
                "projectEnvironments",
                "projectKey",
                "repoLayoutRef",
                "xrayIndex"
            ],
            "inputProperties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering LocalTerraformProviderRepository resources.\n",
                "properties": {
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "the identity key of the repo.\n"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/localVagrantRepository:LocalVagrantRepository": {
            "description": "Creates a local Vagrant repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst terraform_local_test_vagrant_repo = new artifactory.LocalVagrantRepository(\"terraform-local-test-vagrant-repo\", {key: \"terraform-local-test-vagrant-repo\"});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nterraform_local_test_vagrant_repo = artifactory.LocalVagrantRepository(\"terraform-local-test-vagrant-repo\", key=\"terraform-local-test-vagrant-repo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var terraform_local_test_vagrant_repo = new Artifactory.LocalVagrantRepository(\"terraform-local-test-vagrant-repo\", new()\n    {\n        Key = \"terraform-local-test-vagrant-repo\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewLocalVagrantRepository(ctx, \"terraform-local-test-vagrant-repo\", \u0026artifactory.LocalVagrantRepositoryArgs{\n\t\t\tKey: pulumi.String(\"terraform-local-test-vagrant-repo\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_localvagrantrepository\" \"terraform-local-test-vagrant-repo\" {\n  key = \"terraform-local-test-vagrant-repo\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.LocalVagrantRepository;\nimport com.pulumi.artifactory.LocalVagrantRepositoryArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 terraform_local_test_vagrant_repo = new LocalVagrantRepository(\"terraform-local-test-vagrant-repo\", LocalVagrantRepositoryArgs.builder()\n            .key(\"terraform-local-test-vagrant-repo\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  terraform-local-test-vagrant-repo:\n    type: artifactory:LocalVagrantRepository\n    properties:\n      key: terraform-local-test-vagrant-repo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nLocal repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/localVagrantRepository:LocalVagrantRepository terraform-local-test-vagrant-repo terraform-local-test-vagrant-repo\n```\n\n",
            "properties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "archiveBrowsingEnabled",
                "blackedOut",
                "cdnRedirect",
                "description",
                "downloadDirect",
                "excludesPattern",
                "includesPattern",
                "key",
                "notes",
                "priorityResolution",
                "projectEnvironments",
                "projectKey",
                "repoLayoutRef",
                "xrayIndex"
            ],
            "inputProperties": {
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "the identity key of the repo.\n"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering LocalVagrantRepository resources.\n",
                "properties": {
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "the identity key of the repo.\n"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/mailServer:MailServer": {
            "description": "Provides an Artifactory Mail Server resource. This can be used to create and manage Artifactory mail server configuration.\n\n## Example Usage\n\n### S\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst mymailserver = new artifactory.MailServer(\"mymailserver\", {\n    enabled: true,\n    artifactoryUrl: \"http://tempurl.org\",\n    from: \"test@jfrog.com\",\n    host: \"http://tempurl.org\",\n    username: \"test-user\",\n    password: \"test-password\",\n    port: 25,\n    subjectPrefix: \"[Test]\",\n    useSsl: true,\n    useTls: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nmymailserver = artifactory.MailServer(\"mymailserver\",\n    enabled=True,\n    artifactory_url=\"http://tempurl.org\",\n    from_=\"test@jfrog.com\",\n    host=\"http://tempurl.org\",\n    username=\"test-user\",\n    password=\"test-password\",\n    port=25,\n    subject_prefix=\"[Test]\",\n    use_ssl=True,\n    use_tls=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var mymailserver = new Artifactory.MailServer(\"mymailserver\", new()\n    {\n        Enabled = true,\n        ArtifactoryUrl = \"http://tempurl.org\",\n        From = \"test@jfrog.com\",\n        Host = \"http://tempurl.org\",\n        Username = \"test-user\",\n        Password = \"test-password\",\n        Port = 25,\n        SubjectPrefix = \"[Test]\",\n        UseSsl = true,\n        UseTls = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewMailServer(ctx, \"mymailserver\", \u0026artifactory.MailServerArgs{\n\t\t\tEnabled:        pulumi.Bool(true),\n\t\t\tArtifactoryUrl: pulumi.String(\"http://tempurl.org\"),\n\t\t\tFrom:           pulumi.String(\"test@jfrog.com\"),\n\t\t\tHost:           pulumi.String(\"http://tempurl.org\"),\n\t\t\tUsername:       pulumi.String(\"test-user\"),\n\t\t\tPassword:       pulumi.String(\"test-password\"),\n\t\t\tPort:           pulumi.Int(25),\n\t\t\tSubjectPrefix:  pulumi.String(\"[Test]\"),\n\t\t\tUseSsl:         pulumi.Bool(true),\n\t\t\tUseTls:         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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_mailserver\" \"mymailserver\" {\n  enabled         = true\n  artifactory_url = \"http://tempurl.org\"\n  from            = \"test@jfrog.com\"\n  host            = \"http://tempurl.org\"\n  username        = \"test-user\"\n  password        = \"test-password\"\n  port            = 25\n  subject_prefix  = \"[Test]\"\n  use_ssl         = true\n  use_tls         = true\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.MailServer;\nimport com.pulumi.artifactory.MailServerArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 mymailserver = new MailServer(\"mymailserver\", MailServerArgs.builder()\n            .enabled(true)\n            .artifactoryUrl(\"http://tempurl.org\")\n            .from(\"test@jfrog.com\")\n            .host(\"http://tempurl.org\")\n            .username(\"test-user\")\n            .password(\"test-password\")\n            .port(25)\n            .subjectPrefix(\"[Test]\")\n            .useSsl(true)\n            .useTls(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  mymailserver:\n    type: artifactory:MailServer\n    properties:\n      enabled: true\n      artifactoryUrl: http://tempurl.org\n      from: test@jfrog.com\n      host: http://tempurl.org\n      username: test-user\n      password: test-password\n      port: 25\n      subjectPrefix: '[Test]'\n      useSsl: true\n      useTls: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import artifactory:index/mailServer:MailServer my-mail-server mymailserver\n```\n\n~\u003eThe \u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\" pulumi-lang-hcl=\"`password`\"\u003e`password`\u003c/span\u003e attribute is not retrievable from Artifactory thus there will be state drift after importing this resource.\n\n",
            "properties": {
                "artifactoryUrl": {
                    "type": "string",
                    "description": "The Artifactory URL to to link to in all outgoing messages.\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "When set, mail notifications are enabled.\n"
                },
                "from": {
                    "type": "string",
                    "description": "The 'from' address header to use in all outgoing messages.\n"
                },
                "host": {
                    "type": "string",
                    "description": "The mail server IP address / DNS.\n"
                },
                "password": {
                    "type": "string",
                    "description": "The password for authentication with the mail server.\n"
                },
                "port": {
                    "type": "integer",
                    "description": "The port number of the mail server.\n"
                },
                "subjectPrefix": {
                    "type": "string",
                    "description": "A prefix to use for the subject of all outgoing mails.\n"
                },
                "useSsl": {
                    "type": "boolean",
                    "description": "When set to 'true', uses a secure connection to the mail server.\n"
                },
                "useTls": {
                    "type": "boolean",
                    "description": "When set to 'true', uses Transport Layer Security when connecting to the mail server.\n"
                },
                "username": {
                    "type": "string",
                    "description": "The username for authentication with the mail server.\n"
                }
            },
            "required": [
                "enabled",
                "host",
                "port",
                "useSsl",
                "useTls"
            ],
            "inputProperties": {
                "artifactoryUrl": {
                    "type": "string",
                    "description": "The Artifactory URL to to link to in all outgoing messages.\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "When set, mail notifications are enabled.\n"
                },
                "from": {
                    "type": "string",
                    "description": "The 'from' address header to use in all outgoing messages.\n"
                },
                "host": {
                    "type": "string",
                    "description": "The mail server IP address / DNS.\n"
                },
                "password": {
                    "type": "string",
                    "description": "The password for authentication with the mail server.\n"
                },
                "port": {
                    "type": "integer",
                    "description": "The port number of the mail server.\n"
                },
                "subjectPrefix": {
                    "type": "string",
                    "description": "A prefix to use for the subject of all outgoing mails.\n"
                },
                "useSsl": {
                    "type": "boolean",
                    "description": "When set to 'true', uses a secure connection to the mail server.\n"
                },
                "useTls": {
                    "type": "boolean",
                    "description": "When set to 'true', uses Transport Layer Security when connecting to the mail server.\n"
                },
                "username": {
                    "type": "string",
                    "description": "The username for authentication with the mail server.\n"
                }
            },
            "requiredInputs": [
                "enabled",
                "host",
                "port"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering MailServer resources.\n",
                "properties": {
                    "artifactoryUrl": {
                        "type": "string",
                        "description": "The Artifactory URL to to link to in all outgoing messages.\n"
                    },
                    "enabled": {
                        "type": "boolean",
                        "description": "When set, mail notifications are enabled.\n"
                    },
                    "from": {
                        "type": "string",
                        "description": "The 'from' address header to use in all outgoing messages.\n"
                    },
                    "host": {
                        "type": "string",
                        "description": "The mail server IP address / DNS.\n"
                    },
                    "password": {
                        "type": "string",
                        "description": "The password for authentication with the mail server.\n"
                    },
                    "port": {
                        "type": "integer",
                        "description": "The port number of the mail server.\n"
                    },
                    "subjectPrefix": {
                        "type": "string",
                        "description": "A prefix to use for the subject of all outgoing mails.\n"
                    },
                    "useSsl": {
                        "type": "boolean",
                        "description": "When set to 'true', uses a secure connection to the mail server.\n"
                    },
                    "useTls": {
                        "type": "boolean",
                        "description": "When set to 'true', uses Transport Layer Security when connecting to the mail server.\n"
                    },
                    "username": {
                        "type": "string",
                        "description": "The username for authentication with the mail server.\n"
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/managedUser:ManagedUser": {
            "description": "Provides an Artifactory managed user resource. This can be used to create and maintain Artifactory users. For example, service account where password is known and managed externally.\n\nUnlike \u003cspan pulumi-lang-nodejs=\"`artifactory.UnmanagedUser`\" pulumi-lang-dotnet=\"`artifactory.UnmanagedUser`\" pulumi-lang-go=\"`UnmanagedUser`\" pulumi-lang-python=\"`UnmanagedUser`\" pulumi-lang-yaml=\"`artifactory.UnmanagedUser`\" pulumi-lang-java=\"`artifactory.UnmanagedUser`\" pulumi-lang-hcl=\"`artifactory_unmanaged_user`\"\u003e`artifactory.UnmanagedUser`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`artifactory.User`\" pulumi-lang-dotnet=\"`artifactory.User`\" pulumi-lang-go=\"`User`\" pulumi-lang-python=\"`User`\" pulumi-lang-yaml=\"`artifactory.User`\" pulumi-lang-java=\"`artifactory.User`\" pulumi-lang-hcl=\"`artifactory_user`\"\u003e`artifactory.User`\u003c/span\u003e, the \u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\" pulumi-lang-hcl=\"`password`\"\u003e`password`\u003c/span\u003e attribute is required and cannot be empty. Consider using a separate provider to generate and manage passwords.\n\n~\u003eThe password is stored in the Terraform state file. Make sure you secure it, please refer to the official Terraform documentation.\n\n-\u003eDue to Terraform limitation with interpolated value, we can only validate interpolated value prior to making API requests. This means `terraform validate` or `pulumi preview` will not return error if \u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\" pulumi-lang-hcl=\"`password`\"\u003e`password`\u003c/span\u003e does not meet \u003cspan pulumi-lang-nodejs=\"`passwordPolicy`\" pulumi-lang-dotnet=\"`PasswordPolicy`\" pulumi-lang-go=\"`passwordPolicy`\" pulumi-lang-python=\"`password_policy`\" pulumi-lang-yaml=\"`passwordPolicy`\" pulumi-lang-java=\"`passwordPolicy`\" pulumi-lang-hcl=\"`password_policy`\"\u003e`passwordPolicy`\u003c/span\u003e criteria.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst test_user = new artifactory.ManagedUser(\"test-user\", {\n    name: \"terraform\",\n    password: \"my super secret password\",\n    passwordPolicy: {\n        uppercase: 1,\n        lowercase: 1,\n        specialChar: 1,\n        digit: 1,\n        length: 10,\n    },\n    email: \"test-user@artifactory-terraform.com\",\n    groups: [\n        \"readers\",\n        \"logged-in-users\",\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\ntest_user = artifactory.ManagedUser(\"test-user\",\n    name=\"terraform\",\n    password=\"my super secret password\",\n    password_policy={\n        \"uppercase\": 1,\n        \"lowercase\": 1,\n        \"special_char\": 1,\n        \"digit\": 1,\n        \"length\": 10,\n    },\n    email=\"test-user@artifactory-terraform.com\",\n    groups=[\n        \"readers\",\n        \"logged-in-users\",\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test_user = new Artifactory.ManagedUser(\"test-user\", new()\n    {\n        Name = \"terraform\",\n        Password = \"my super secret password\",\n        PasswordPolicy = new Artifactory.Inputs.ManagedUserPasswordPolicyArgs\n        {\n            Uppercase = 1,\n            Lowercase = 1,\n            SpecialChar = 1,\n            Digit = 1,\n            Length = 10,\n        },\n        Email = \"test-user@artifactory-terraform.com\",\n        Groups = new[]\n        {\n            \"readers\",\n            \"logged-in-users\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewManagedUser(ctx, \"test-user\", \u0026artifactory.ManagedUserArgs{\n\t\t\tName:     pulumi.String(\"terraform\"),\n\t\t\tPassword: pulumi.String(\"my super secret password\"),\n\t\t\tPasswordPolicy: \u0026artifactory.ManagedUserPasswordPolicyArgs{\n\t\t\t\tUppercase:   pulumi.Int(1),\n\t\t\t\tLowercase:   pulumi.Int(1),\n\t\t\t\tSpecialChar: pulumi.Int(1),\n\t\t\t\tDigit:       pulumi.Int(1),\n\t\t\t\tLength:      pulumi.Int(10),\n\t\t\t},\n\t\t\tEmail: pulumi.String(\"test-user@artifactory-terraform.com\"),\n\t\t\tGroups: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"readers\"),\n\t\t\t\tpulumi.String(\"logged-in-users\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_manageduser\" \"test-user\" {\n  name     = \"terraform\"\n  password = \"my super secret password\"\n  password_policy = {\n    uppercase    = 1\n    lowercase    = 1\n    special_char = 1\n    digit        = 1\n    length       = 10\n  }\n  email  = \"test-user@artifactory-terraform.com\"\n  groups = [\"readers\", \"logged-in-users\"]\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.ManagedUser;\nimport com.pulumi.artifactory.ManagedUserArgs;\nimport com.pulumi.artifactory.inputs.ManagedUserPasswordPolicyArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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_user = new ManagedUser(\"test-user\", ManagedUserArgs.builder()\n            .name(\"terraform\")\n            .password(\"my super secret password\")\n            .passwordPolicy(ManagedUserPasswordPolicyArgs.builder()\n                .uppercase(1)\n                .lowercase(1)\n                .specialChar(1)\n                .digit(1)\n                .length(10)\n                .build())\n            .email(\"test-user@artifactory-terraform.com\")\n            .groups(            \n                \"readers\",\n                \"logged-in-users\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test-user:\n    type: artifactory:ManagedUser\n    properties:\n      name: terraform\n      password: my super secret password\n      passwordPolicy:\n        uppercase: 1\n        lowercase: 1\n        specialChar: 1\n        digit: 1\n        length: 10\n      email: test-user@artifactory-terraform.com\n      groups:\n        - readers\n        - logged-in-users\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import artifactory:index/managedUser:ManagedUser test-user myusername\n```\n\n",
            "properties": {
                "admin": {
                    "type": "boolean",
                    "description": "(Optional, Default: false) When enabled, this user is an administrator with all the ensuing privileges.\n"
                },
                "disableUiAccess": {
                    "type": "boolean",
                    "description": "(Optional, Default: true) When enabled, this user can only access the system through the REST API. This option cannot be set if the user has Admin privileges.\n"
                },
                "email": {
                    "type": "string",
                    "description": "Email for user.\n"
                },
                "groups": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of groups this user is a part of. **Notes:** If this attribute is not specified then user's group membership is set to empty. User will not be part of default \"readers\" group automatically.\n"
                },
                "internalPasswordDisabled": {
                    "type": "boolean",
                    "description": "(Optional, Default: false) When enabled, disables the fallback mechanism for using an internal password when external authentication (such as LDAP) is enabled.\n"
                },
                "name": {
                    "type": "string",
                    "description": "Username for user. May contain lowercase letters, numbers and symbols: '.-_@' for self-hosted. For SaaS, '+' is also allowed.\n"
                },
                "password": {
                    "type": "string",
                    "description": "Password for the user.\n",
                    "secret": true
                },
                "passwordPolicy": {
                    "$ref": "#/types/artifactory:index/ManagedUserPasswordPolicy:ManagedUserPasswordPolicy",
                    "description": "Password policy to match JFrog Access to provide pre-apply validation. Default values: `uppercase=1`, `lowercase=1`, `special_char=0`, `digit=1`, `length=8`. Also see [Supported Access Configurations](https://jfrog.com/help/r/jfrog-installation-setup-documentation/supported-access-configurations) for more details\n"
                },
                "profileUpdatable": {
                    "type": "boolean",
                    "description": "(Optional, Default: true) When enabled, this user can update their profile details (except for the password. Only an administrator can update the password). There may be cases in which you want to leave this unset to prevent users from updating their profile. For example, a departmental user with a single password shared between all department members.\n"
                }
            },
            "required": [
                "admin",
                "disableUiAccess",
                "email",
                "groups",
                "internalPasswordDisabled",
                "name",
                "password",
                "profileUpdatable"
            ],
            "inputProperties": {
                "admin": {
                    "type": "boolean",
                    "description": "(Optional, Default: false) When enabled, this user is an administrator with all the ensuing privileges.\n"
                },
                "disableUiAccess": {
                    "type": "boolean",
                    "description": "(Optional, Default: true) When enabled, this user can only access the system through the REST API. This option cannot be set if the user has Admin privileges.\n"
                },
                "email": {
                    "type": "string",
                    "description": "Email for user.\n"
                },
                "groups": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of groups this user is a part of. **Notes:** If this attribute is not specified then user's group membership is set to empty. User will not be part of default \"readers\" group automatically.\n"
                },
                "internalPasswordDisabled": {
                    "type": "boolean",
                    "description": "(Optional, Default: false) When enabled, disables the fallback mechanism for using an internal password when external authentication (such as LDAP) is enabled.\n"
                },
                "name": {
                    "type": "string",
                    "description": "Username for user. May contain lowercase letters, numbers and symbols: '.-_@' for self-hosted. For SaaS, '+' is also allowed.\n"
                },
                "password": {
                    "type": "string",
                    "description": "Password for the user.\n",
                    "secret": true
                },
                "passwordPolicy": {
                    "$ref": "#/types/artifactory:index/ManagedUserPasswordPolicy:ManagedUserPasswordPolicy",
                    "description": "Password policy to match JFrog Access to provide pre-apply validation. Default values: `uppercase=1`, `lowercase=1`, `special_char=0`, `digit=1`, `length=8`. Also see [Supported Access Configurations](https://jfrog.com/help/r/jfrog-installation-setup-documentation/supported-access-configurations) for more details\n"
                },
                "profileUpdatable": {
                    "type": "boolean",
                    "description": "(Optional, Default: true) When enabled, this user can update their profile details (except for the password. Only an administrator can update the password). There may be cases in which you want to leave this unset to prevent users from updating their profile. For example, a departmental user with a single password shared between all department members.\n"
                }
            },
            "requiredInputs": [
                "email",
                "password"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering ManagedUser resources.\n",
                "properties": {
                    "admin": {
                        "type": "boolean",
                        "description": "(Optional, Default: false) When enabled, this user is an administrator with all the ensuing privileges.\n"
                    },
                    "disableUiAccess": {
                        "type": "boolean",
                        "description": "(Optional, Default: true) When enabled, this user can only access the system through the REST API. This option cannot be set if the user has Admin privileges.\n"
                    },
                    "email": {
                        "type": "string",
                        "description": "Email for user.\n"
                    },
                    "groups": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of groups this user is a part of. **Notes:** If this attribute is not specified then user's group membership is set to empty. User will not be part of default \"readers\" group automatically.\n"
                    },
                    "internalPasswordDisabled": {
                        "type": "boolean",
                        "description": "(Optional, Default: false) When enabled, disables the fallback mechanism for using an internal password when external authentication (such as LDAP) is enabled.\n"
                    },
                    "name": {
                        "type": "string",
                        "description": "Username for user. May contain lowercase letters, numbers and symbols: '.-_@' for self-hosted. For SaaS, '+' is also allowed.\n"
                    },
                    "password": {
                        "type": "string",
                        "description": "Password for the user.\n",
                        "secret": true
                    },
                    "passwordPolicy": {
                        "$ref": "#/types/artifactory:index/ManagedUserPasswordPolicy:ManagedUserPasswordPolicy",
                        "description": "Password policy to match JFrog Access to provide pre-apply validation. Default values: `uppercase=1`, `lowercase=1`, `special_char=0`, `digit=1`, `length=8`. Also see [Supported Access Configurations](https://jfrog.com/help/r/jfrog-installation-setup-documentation/supported-access-configurations) for more details\n"
                    },
                    "profileUpdatable": {
                        "type": "boolean",
                        "description": "(Optional, Default: true) When enabled, this user can update their profile details (except for the password. Only an administrator can update the password). There may be cases in which you want to leave this unset to prevent users from updating their profile. For example, a departmental user with a single password shared between all department members.\n"
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/mavenRepository:MavenRepository": {
            "description": "Creates a virtual Maven repository.\nOfficial documentation can be found [here](https://www.jfrog.com/confluence/display/JFROG/Maven+Repository).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst bar = new artifactory.LocalMavenRepository(\"bar\", {\n    key: \"bar\",\n    repoLayoutRef: \"maven-2-default\",\n});\nconst baz = new artifactory.RemoteMavenRepository(\"baz\", {\n    key: \"baz\",\n    url: \"https://search.maven.com/\",\n    repoLayoutRef: \"maven-2-default\",\n});\nconst maven_virt_repo = new artifactory.MavenRepository(\"maven-virt-repo\", {\n    key: \"maven-virt-repo\",\n    repoLayoutRef: \"maven-2-default\",\n    repositories: [\n        bar.key,\n        baz.key,\n    ],\n    description: \"A test virtual repo\",\n    notes: \"Internal description\",\n    includesPattern: \"com/jfrog/**,cloud/jfrog/**\",\n    excludesPattern: \"com/google/**\",\n    forceMavenAuthentication: true,\n    pomRepositoryReferencesCleanupPolicy: \"discard_active_reference\",\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nbar = artifactory.LocalMavenRepository(\"bar\",\n    key=\"bar\",\n    repo_layout_ref=\"maven-2-default\")\nbaz = artifactory.RemoteMavenRepository(\"baz\",\n    key=\"baz\",\n    url=\"https://search.maven.com/\",\n    repo_layout_ref=\"maven-2-default\")\nmaven_virt_repo = artifactory.MavenRepository(\"maven-virt-repo\",\n    key=\"maven-virt-repo\",\n    repo_layout_ref=\"maven-2-default\",\n    repositories=[\n        bar.key,\n        baz.key,\n    ],\n    description=\"A test virtual repo\",\n    notes=\"Internal description\",\n    includes_pattern=\"com/jfrog/**,cloud/jfrog/**\",\n    excludes_pattern=\"com/google/**\",\n    force_maven_authentication=True,\n    pom_repository_references_cleanup_policy=\"discard_active_reference\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var bar = new Artifactory.LocalMavenRepository(\"bar\", new()\n    {\n        Key = \"bar\",\n        RepoLayoutRef = \"maven-2-default\",\n    });\n\n    var baz = new Artifactory.RemoteMavenRepository(\"baz\", new()\n    {\n        Key = \"baz\",\n        Url = \"https://search.maven.com/\",\n        RepoLayoutRef = \"maven-2-default\",\n    });\n\n    var maven_virt_repo = new Artifactory.MavenRepository(\"maven-virt-repo\", new()\n    {\n        Key = \"maven-virt-repo\",\n        RepoLayoutRef = \"maven-2-default\",\n        Repositories = new[]\n        {\n            bar.Key,\n            baz.Key,\n        },\n        Description = \"A test virtual repo\",\n        Notes = \"Internal description\",\n        IncludesPattern = \"com/jfrog/**,cloud/jfrog/**\",\n        ExcludesPattern = \"com/google/**\",\n        ForceMavenAuthentication = true,\n        PomRepositoryReferencesCleanupPolicy = \"discard_active_reference\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tbar, err := artifactory.NewLocalMavenRepository(ctx, \"bar\", \u0026artifactory.LocalMavenRepositoryArgs{\n\t\t\tKey:           pulumi.String(\"bar\"),\n\t\t\tRepoLayoutRef: pulumi.String(\"maven-2-default\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbaz, err := artifactory.NewRemoteMavenRepository(ctx, \"baz\", \u0026artifactory.RemoteMavenRepositoryArgs{\n\t\t\tKey:           pulumi.String(\"baz\"),\n\t\t\tUrl:           pulumi.String(\"https://search.maven.com/\"),\n\t\t\tRepoLayoutRef: pulumi.String(\"maven-2-default\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = artifactory.NewMavenRepository(ctx, \"maven-virt-repo\", \u0026artifactory.MavenRepositoryArgs{\n\t\t\tKey:           pulumi.String(\"maven-virt-repo\"),\n\t\t\tRepoLayoutRef: pulumi.String(\"maven-2-default\"),\n\t\t\tRepositories: pulumi.StringArray{\n\t\t\t\tbar.Key,\n\t\t\t\tbaz.Key,\n\t\t\t},\n\t\t\tDescription:                          pulumi.String(\"A test virtual repo\"),\n\t\t\tNotes:                                pulumi.String(\"Internal description\"),\n\t\t\tIncludesPattern:                      pulumi.String(\"com/jfrog/**,cloud/jfrog/**\"),\n\t\t\tExcludesPattern:                      pulumi.String(\"com/google/**\"),\n\t\t\tForceMavenAuthentication:             pulumi.Bool(true),\n\t\t\tPomRepositoryReferencesCleanupPolicy: pulumi.String(\"discard_active_reference\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_localmavenrepository\" \"bar\" {\n  key             = \"bar\"\n  repo_layout_ref = \"maven-2-default\"\n}\nresource \"artifactory_remotemavenrepository\" \"baz\" {\n  key             = \"baz\"\n  url             = \"https://search.maven.com/\"\n  repo_layout_ref = \"maven-2-default\"\n}\nresource \"artifactory_mavenrepository\" \"maven-virt-repo\" {\n  key                                      = \"maven-virt-repo\"\n  repo_layout_ref                          = \"maven-2-default\"\n  repositories                             = [artifactory_localmavenrepository.bar.key, artifactory_remotemavenrepository.baz.key]\n  description                              = \"A test virtual repo\"\n  notes                                    = \"Internal description\"\n  includes_pattern                         = \"com/jfrog/**,cloud/jfrog/**\"\n  excludes_pattern                         = \"com/google/**\"\n  force_maven_authentication               = true\n  pom_repository_references_cleanup_policy = \"discard_active_reference\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.LocalMavenRepository;\nimport com.pulumi.artifactory.LocalMavenRepositoryArgs;\nimport com.pulumi.artifactory.RemoteMavenRepository;\nimport com.pulumi.artifactory.RemoteMavenRepositoryArgs;\nimport com.pulumi.artifactory.MavenRepository;\nimport com.pulumi.artifactory.MavenRepositoryArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 bar = new LocalMavenRepository(\"bar\", LocalMavenRepositoryArgs.builder()\n            .key(\"bar\")\n            .repoLayoutRef(\"maven-2-default\")\n            .build());\n\n        var baz = new RemoteMavenRepository(\"baz\", RemoteMavenRepositoryArgs.builder()\n            .key(\"baz\")\n            .url(\"https://search.maven.com/\")\n            .repoLayoutRef(\"maven-2-default\")\n            .build());\n\n        var maven_virt_repo = new MavenRepository(\"maven-virt-repo\", MavenRepositoryArgs.builder()\n            .key(\"maven-virt-repo\")\n            .repoLayoutRef(\"maven-2-default\")\n            .repositories(            \n                bar.key(),\n                baz.key())\n            .description(\"A test virtual repo\")\n            .notes(\"Internal description\")\n            .includesPattern(\"com/jfrog/**,cloud/jfrog/**\")\n            .excludesPattern(\"com/google/**\")\n            .forceMavenAuthentication(true)\n            .pomRepositoryReferencesCleanupPolicy(\"discard_active_reference\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  bar:\n    type: artifactory:LocalMavenRepository\n    properties:\n      key: bar\n      repoLayoutRef: maven-2-default\n  baz:\n    type: artifactory:RemoteMavenRepository\n    properties:\n      key: baz\n      url: https://search.maven.com/\n      repoLayoutRef: maven-2-default\n  maven-virt-repo:\n    type: artifactory:MavenRepository\n    properties:\n      key: maven-virt-repo\n      repoLayoutRef: maven-2-default\n      repositories:\n        - ${bar.key}\n        - ${baz.key}\n      description: A test virtual repo\n      notes: Internal description\n      includesPattern: com/jfrog/**,cloud/jfrog/**\n      excludesPattern: com/google/**\n      forceMavenAuthentication: true\n      pomRepositoryReferencesCleanupPolicy: discard_active_reference\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nVirtual repositories can be imported using their name, e.g.\n\n```sh\n$ pulumi import artifactory:index/mavenRepository:MavenRepository maven-virt-repo maven-virt-repo\n```\n\n",
            "properties": {
                "artifactoryRequestsCanRetrieveRemoteArtifacts": {
                    "type": "boolean",
                    "description": "Whether the virtual repository should search through remote repositories when trying to resolve an artifact requested by another Artifactory instance."
                },
                "defaultDeploymentRepo": {
                    "type": "string",
                    "description": "Default repository to deploy artifacts."
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "forceMavenAuthentication": {
                    "type": "boolean",
                    "description": "Forces authentication when fetching from remote repos.\n"
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                },
                "keyPair": {
                    "type": "string",
                    "description": "The keypair used to sign artifacts"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "packageType": {
                    "type": "string"
                },
                "pomRepositoryReferencesCleanupPolicy": {
                    "type": "string",
                    "description": "One of: `\u003cspan pulumi-lang-nodejs=\"\"discardActiveReference\"\" pulumi-lang-dotnet=\"\"DiscardActiveReference\"\" pulumi-lang-go=\"\"discardActiveReference\"\" pulumi-lang-python=\"\"discard_active_reference\"\" pulumi-lang-yaml=\"\"discardActiveReference\"\" pulumi-lang-java=\"\"discardActiveReference\"\" pulumi-lang-hcl=\"\"discard_active_reference\"\"\u003e\"discardActiveReference\"\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"\"discardAnyReference\"\" pulumi-lang-dotnet=\"\"DiscardAnyReference\"\" pulumi-lang-go=\"\"discardAnyReference\"\" pulumi-lang-python=\"\"discard_any_reference\"\" pulumi-lang-yaml=\"\"discardAnyReference\"\" pulumi-lang-java=\"\"discardAnyReference\"\" pulumi-lang-hcl=\"\"discard_any_reference\"\"\u003e\"discardAnyReference\"\u003c/span\u003e, \"nothing\"`\n"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the virtual repository"
                },
                "repositories": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "The effective list of actual repositories included in this virtual repository."
                }
            },
            "required": [
                "forceMavenAuthentication",
                "key",
                "packageType",
                "pomRepositoryReferencesCleanupPolicy",
                "projectEnvironments"
            ],
            "inputProperties": {
                "artifactoryRequestsCanRetrieveRemoteArtifacts": {
                    "type": "boolean",
                    "description": "Whether the virtual repository should search through remote repositories when trying to resolve an artifact requested by another Artifactory instance."
                },
                "defaultDeploymentRepo": {
                    "type": "string",
                    "description": "Default repository to deploy artifacts."
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "forceMavenAuthentication": {
                    "type": "boolean",
                    "description": "Forces authentication when fetching from remote repos.\n"
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n",
                    "willReplaceOnChanges": true
                },
                "keyPair": {
                    "type": "string",
                    "description": "The keypair used to sign artifacts"
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "pomRepositoryReferencesCleanupPolicy": {
                    "type": "string",
                    "description": "One of: `\u003cspan pulumi-lang-nodejs=\"\"discardActiveReference\"\" pulumi-lang-dotnet=\"\"DiscardActiveReference\"\" pulumi-lang-go=\"\"discardActiveReference\"\" pulumi-lang-python=\"\"discard_active_reference\"\" pulumi-lang-yaml=\"\"discardActiveReference\"\" pulumi-lang-java=\"\"discardActiveReference\"\" pulumi-lang-hcl=\"\"discard_active_reference\"\"\u003e\"discardActiveReference\"\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"\"discardAnyReference\"\" pulumi-lang-dotnet=\"\"DiscardAnyReference\"\" pulumi-lang-go=\"\"discardAnyReference\"\" pulumi-lang-python=\"\"discard_any_reference\"\" pulumi-lang-yaml=\"\"discardAnyReference\"\" pulumi-lang-java=\"\"discardAnyReference\"\" pulumi-lang-hcl=\"\"discard_any_reference\"\"\u003e\"discardAnyReference\"\u003c/span\u003e, \"nothing\"`\n"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the virtual repository"
                },
                "repositories": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "The effective list of actual repositories included in this virtual repository."
                }
            },
            "requiredInputs": [
                "key"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering MavenRepository resources.\n",
                "properties": {
                    "artifactoryRequestsCanRetrieveRemoteArtifacts": {
                        "type": "boolean",
                        "description": "Whether the virtual repository should search through remote repositories when trying to resolve an artifact requested by another Artifactory instance."
                    },
                    "defaultDeploymentRepo": {
                        "type": "string",
                        "description": "Default repository to deploy artifacts."
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "forceMavenAuthentication": {
                        "type": "boolean",
                        "description": "Forces authentication when fetching from remote repos.\n"
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n",
                        "willReplaceOnChanges": true
                    },
                    "keyPair": {
                        "type": "string",
                        "description": "The keypair used to sign artifacts"
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "packageType": {
                        "type": "string",
                        "willReplaceOnChanges": true
                    },
                    "pomRepositoryReferencesCleanupPolicy": {
                        "type": "string",
                        "description": "One of: `\u003cspan pulumi-lang-nodejs=\"\"discardActiveReference\"\" pulumi-lang-dotnet=\"\"DiscardActiveReference\"\" pulumi-lang-go=\"\"discardActiveReference\"\" pulumi-lang-python=\"\"discard_active_reference\"\" pulumi-lang-yaml=\"\"discardActiveReference\"\" pulumi-lang-java=\"\"discardActiveReference\"\" pulumi-lang-hcl=\"\"discard_active_reference\"\"\u003e\"discardActiveReference\"\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"\"discardAnyReference\"\" pulumi-lang-dotnet=\"\"DiscardAnyReference\"\" pulumi-lang-go=\"\"discardAnyReference\"\" pulumi-lang-python=\"\"discard_any_reference\"\" pulumi-lang-yaml=\"\"discardAnyReference\"\" pulumi-lang-java=\"\"discardAnyReference\"\" pulumi-lang-hcl=\"\"discard_any_reference\"\"\u003e\"discardAnyReference\"\u003c/span\u003e, \"nothing\"`\n"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Repository layout key for the virtual repository"
                    },
                    "repositories": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "The effective list of actual repositories included in this virtual repository."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/oauthSettings:OauthSettings": {
            "description": "This resource can be used to manage Artifactory's OAuth SSO settings.\n\nOnly a single \u003cspan pulumi-lang-nodejs=\"`artifactory.OauthSettings`\" pulumi-lang-dotnet=\"`artifactory.OauthSettings`\" pulumi-lang-go=\"`OauthSettings`\" pulumi-lang-python=\"`OauthSettings`\" pulumi-lang-yaml=\"`artifactory.OauthSettings`\" pulumi-lang-java=\"`artifactory.OauthSettings`\" pulumi-lang-hcl=\"`artifactory_oauth_settings`\"\u003e`artifactory.OauthSettings`\u003c/span\u003e resource is meant to be defined.\n\n~\u003eThe \u003cspan pulumi-lang-nodejs=\"`artifactory.OauthSettings`\" pulumi-lang-dotnet=\"`artifactory.OauthSettings`\" pulumi-lang-go=\"`OauthSettings`\" pulumi-lang-python=\"`OauthSettings`\" pulumi-lang-yaml=\"`artifactory.OauthSettings`\" pulumi-lang-java=\"`artifactory.OauthSettings`\" pulumi-lang-hcl=\"`artifactory_oauth_settings`\"\u003e`artifactory.OauthSettings`\u003c/span\u003e resource utilizes endpoints which are blocked/removed in SaaS environments (i.e. in Artifactory online), rendering this resource incompatible with Artifactory SaaS environments.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\n// Configure Artifactory OAuth SSO settings\nconst oauth = new artifactory.OauthSettings(\"oauth\", {\n    enable: true,\n    persistUsers: true,\n    allowUserToAccessProfile: true,\n    oauthProviders: [{\n        name: \"okta\",\n        enabled: false,\n        type: \"openId\",\n        clientId: \"foo\",\n        clientSecret: \"bar\",\n        apiUrl: \"https://organization.okta.com/oauth2/v1/userinfo\",\n        authUrl: \"https://organization.okta.com/oauth2/v1/authorize\",\n        tokenUrl: \"https://organization.okta.com/oauth2/v1/token\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\n# Configure Artifactory OAuth SSO settings\noauth = artifactory.OauthSettings(\"oauth\",\n    enable=True,\n    persist_users=True,\n    allow_user_to_access_profile=True,\n    oauth_providers=[{\n        \"name\": \"okta\",\n        \"enabled\": False,\n        \"type\": \"openId\",\n        \"client_id\": \"foo\",\n        \"client_secret\": \"bar\",\n        \"api_url\": \"https://organization.okta.com/oauth2/v1/userinfo\",\n        \"auth_url\": \"https://organization.okta.com/oauth2/v1/authorize\",\n        \"token_url\": \"https://organization.okta.com/oauth2/v1/token\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Configure Artifactory OAuth SSO settings\n    var oauth = new Artifactory.OauthSettings(\"oauth\", new()\n    {\n        Enable = true,\n        PersistUsers = true,\n        AllowUserToAccessProfile = true,\n        OauthProviders = new[]\n        {\n            new Artifactory.Inputs.OauthSettingsOauthProviderArgs\n            {\n                Name = \"okta\",\n                Enabled = false,\n                Type = \"openId\",\n                ClientId = \"foo\",\n                ClientSecret = \"bar\",\n                ApiUrl = \"https://organization.okta.com/oauth2/v1/userinfo\",\n                AuthUrl = \"https://organization.okta.com/oauth2/v1/authorize\",\n                TokenUrl = \"https://organization.okta.com/oauth2/v1/token\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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// Configure Artifactory OAuth SSO settings\n\t\t_, err := artifactory.NewOauthSettings(ctx, \"oauth\", \u0026artifactory.OauthSettingsArgs{\n\t\t\tEnable:                   pulumi.Bool(true),\n\t\t\tPersistUsers:             pulumi.Bool(true),\n\t\t\tAllowUserToAccessProfile: pulumi.Bool(true),\n\t\t\tOauthProviders: artifactory.OauthSettingsOauthProviderArray{\n\t\t\t\t\u0026artifactory.OauthSettingsOauthProviderArgs{\n\t\t\t\t\tName:         pulumi.String(\"okta\"),\n\t\t\t\t\tEnabled:      pulumi.Bool(false),\n\t\t\t\t\tType:         pulumi.String(\"openId\"),\n\t\t\t\t\tClientId:     pulumi.String(\"foo\"),\n\t\t\t\t\tClientSecret: pulumi.String(\"bar\"),\n\t\t\t\t\tApiUrl:       pulumi.String(\"https://organization.okta.com/oauth2/v1/userinfo\"),\n\t\t\t\t\tAuthUrl:      pulumi.String(\"https://organization.okta.com/oauth2/v1/authorize\"),\n\t\t\t\t\tTokenUrl:     pulumi.String(\"https://organization.okta.com/oauth2/v1/token\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\n# Configure Artifactory OAuth SSO settings\nresource \"artifactory_oauthsettings\" \"oauth\" {\n  enable                       = true\n  persist_users                = true\n  allow_user_to_access_profile = true\n  oauth_providers {\n    name          = \"okta\"\n    enabled       = false\n    type          = \"openId\"\n    client_id     = \"foo\"\n    client_secret = \"bar\"\n    api_url       = \"https://organization.okta.com/oauth2/v1/userinfo\"\n    auth_url      = \"https://organization.okta.com/oauth2/v1/authorize\"\n    token_url     = \"https://organization.okta.com/oauth2/v1/token\"\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.OauthSettings;\nimport com.pulumi.artifactory.OauthSettingsArgs;\nimport com.pulumi.artifactory.inputs.OauthSettingsOauthProviderArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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        // Configure Artifactory OAuth SSO settings\n        var oauth = new OauthSettings(\"oauth\", OauthSettingsArgs.builder()\n            .enable(true)\n            .persistUsers(true)\n            .allowUserToAccessProfile(true)\n            .oauthProviders(OauthSettingsOauthProviderArgs.builder()\n                .name(\"okta\")\n                .enabled(false)\n                .type(\"openId\")\n                .clientId(\"foo\")\n                .clientSecret(\"bar\")\n                .apiUrl(\"https://organization.okta.com/oauth2/v1/userinfo\")\n                .authUrl(\"https://organization.okta.com/oauth2/v1/authorize\")\n                .tokenUrl(\"https://organization.okta.com/oauth2/v1/token\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Configure Artifactory OAuth SSO settings\n  oauth:\n    type: artifactory:OauthSettings\n    properties:\n      enable: true\n      persistUsers: true\n      allowUserToAccessProfile: true\n      oauthProviders:\n        - name: okta\n          enabled: false\n          type: openId\n          clientId: foo\n          clientSecret: bar\n          apiUrl: https://organization.okta.com/oauth2/v1/userinfo\n          authUrl: https://organization.okta.com/oauth2/v1/authorize\n          tokenUrl: https://organization.okta.com/oauth2/v1/token\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCurrent OAuth SSO settings can be imported using \u003cspan pulumi-lang-nodejs=\"`oauthSettings`\" pulumi-lang-dotnet=\"`OauthSettings`\" pulumi-lang-go=\"`oauthSettings`\" pulumi-lang-python=\"`oauth_settings`\" pulumi-lang-yaml=\"`oauthSettings`\" pulumi-lang-java=\"`oauthSettings`\" pulumi-lang-hcl=\"`oauth_settings`\"\u003e`oauthSettings`\u003c/span\u003e as the `ID`.\nIf the resource is being imported, there will be a state drift, because \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\" pulumi-lang-hcl=\"`client_secret`\"\u003e`clientSecret`\u003c/span\u003e can't be known. There are two options on how to approach this: \n1) Don't set \u003cspan pulumi-lang-nodejs=\"`clientSecret`\" pulumi-lang-dotnet=\"`ClientSecret`\" pulumi-lang-go=\"`clientSecret`\" pulumi-lang-python=\"`client_secret`\" pulumi-lang-yaml=\"`clientSecret`\" pulumi-lang-java=\"`clientSecret`\" pulumi-lang-hcl=\"`client_secret`\"\u003e`clientSecret`\u003c/span\u003e initially, import, then update the config with actual secret;\n2) Accept that there is a drift initially and run `pulumi up` twice;\n\n```sh\n$ pulumi import artifactory:index/oauthSettings:OauthSettings oauth oauth_settings\n```\n\n",
            "properties": {
                "allowUserToAccessProfile": {
                    "type": "boolean",
                    "description": "Allow persisted users to access their profile.  Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                },
                "enable": {
                    "type": "boolean",
                    "description": "Enable OAuth SSO.  Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                },
                "oauthProviders": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/OauthSettingsOauthProvider:OauthSettingsOauthProvider"
                    },
                    "description": "OAuth provider settings block. Multiple blocks can be defined, at least one is required.\n"
                },
                "persistUsers": {
                    "type": "boolean",
                    "description": "Enable the creation of local Artifactory users.  Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                }
            },
            "required": [
                "oauthProviders"
            ],
            "inputProperties": {
                "allowUserToAccessProfile": {
                    "type": "boolean",
                    "description": "Allow persisted users to access their profile.  Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                },
                "enable": {
                    "type": "boolean",
                    "description": "Enable OAuth SSO.  Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                },
                "oauthProviders": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/OauthSettingsOauthProvider:OauthSettingsOauthProvider"
                    },
                    "description": "OAuth provider settings block. Multiple blocks can be defined, at least one is required.\n"
                },
                "persistUsers": {
                    "type": "boolean",
                    "description": "Enable the creation of local Artifactory users.  Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                }
            },
            "requiredInputs": [
                "oauthProviders"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering OauthSettings resources.\n",
                "properties": {
                    "allowUserToAccessProfile": {
                        "type": "boolean",
                        "description": "Allow persisted users to access their profile.  Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                    },
                    "enable": {
                        "type": "boolean",
                        "description": "Enable OAuth SSO.  Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                    },
                    "oauthProviders": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/artifactory:index/OauthSettingsOauthProvider:OauthSettingsOauthProvider"
                        },
                        "description": "OAuth provider settings block. Multiple blocks can be defined, at least one is required.\n"
                    },
                    "persistUsers": {
                        "type": "boolean",
                        "description": "Enable the creation of local Artifactory users.  Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/packageCleanupPolicy:PackageCleanupPolicy": {
            "description": "Provides an Artifactory Package Cleanup Policy resource. This resource enable system administrators to define and customize policies based on specific criteria for removing unused binaries from across their JFrog platform. Package cleanup policies are supported on the Cloud (7.98.2) and Self-Hosted (7.98.7) platforms, with an Enterprise+ license. See [Cleanup Policies](https://jfrog.com/help/r/jfrog-platform-administration-documentation/cleanup-policies) for more details.\n\n## Example Usage\n\n### Time-based Cleanup Policy (Days)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst my_cleanup_policy = new artifactory.PackageCleanupPolicy(\"my-cleanup-policy\", {\n    key: \"my-cleanup-policy\",\n    description: \"My cleanup policy\",\n    cronExpression: \"0 0 2 ? * MON-SAT *\",\n    durationInMinutes: 60,\n    enabled: true,\n    skipTrashcan: false,\n    searchCriteria: {\n        packageTypes: [\n            \"docker\",\n            \"gradle\",\n            \"maven\",\n        ],\n        repos: [\"**\"],\n        includeAllProjects: true,\n        includedProjects: [],\n        includedPackages: [\"**\"],\n        excludedPackages: [\"com/jfrog/latest\"],\n        createdBeforeInDays: 30,\n        lastDownloadedBeforeInDays: 60,\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nmy_cleanup_policy = artifactory.PackageCleanupPolicy(\"my-cleanup-policy\",\n    key=\"my-cleanup-policy\",\n    description=\"My cleanup policy\",\n    cron_expression=\"0 0 2 ? * MON-SAT *\",\n    duration_in_minutes=60,\n    enabled=True,\n    skip_trashcan=False,\n    search_criteria={\n        \"package_types\": [\n            \"docker\",\n            \"gradle\",\n            \"maven\",\n        ],\n        \"repos\": [\"**\"],\n        \"include_all_projects\": True,\n        \"included_projects\": [],\n        \"included_packages\": [\"**\"],\n        \"excluded_packages\": [\"com/jfrog/latest\"],\n        \"created_before_in_days\": 30,\n        \"last_downloaded_before_in_days\": 60,\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var my_cleanup_policy = new Artifactory.PackageCleanupPolicy(\"my-cleanup-policy\", new()\n    {\n        Key = \"my-cleanup-policy\",\n        Description = \"My cleanup policy\",\n        CronExpression = \"0 0 2 ? * MON-SAT *\",\n        DurationInMinutes = 60,\n        Enabled = true,\n        SkipTrashcan = false,\n        SearchCriteria = new Artifactory.Inputs.PackageCleanupPolicySearchCriteriaArgs\n        {\n            PackageTypes = new[]\n            {\n                \"docker\",\n                \"gradle\",\n                \"maven\",\n            },\n            Repos = new[]\n            {\n                \"**\",\n            },\n            IncludeAllProjects = true,\n            IncludedProjects = new() { },\n            IncludedPackages = new[]\n            {\n                \"**\",\n            },\n            ExcludedPackages = new[]\n            {\n                \"com/jfrog/latest\",\n            },\n            CreatedBeforeInDays = 30,\n            LastDownloadedBeforeInDays = 60,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewPackageCleanupPolicy(ctx, \"my-cleanup-policy\", \u0026artifactory.PackageCleanupPolicyArgs{\n\t\t\tKey:               pulumi.String(\"my-cleanup-policy\"),\n\t\t\tDescription:       pulumi.String(\"My cleanup policy\"),\n\t\t\tCronExpression:    pulumi.String(\"0 0 2 ? * MON-SAT *\"),\n\t\t\tDurationInMinutes: pulumi.Int(60),\n\t\t\tEnabled:           pulumi.Bool(true),\n\t\t\tSkipTrashcan:      pulumi.Bool(false),\n\t\t\tSearchCriteria: \u0026artifactory.PackageCleanupPolicySearchCriteriaArgs{\n\t\t\t\tPackageTypes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"docker\"),\n\t\t\t\t\tpulumi.String(\"gradle\"),\n\t\t\t\t\tpulumi.String(\"maven\"),\n\t\t\t\t},\n\t\t\t\tRepos: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"**\"),\n\t\t\t\t},\n\t\t\t\tIncludeAllProjects: pulumi.Bool(true),\n\t\t\t\tIncludedProjects:   pulumi.StringArray{},\n\t\t\t\tIncludedPackages: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"**\"),\n\t\t\t\t},\n\t\t\t\tExcludedPackages: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"com/jfrog/latest\"),\n\t\t\t\t},\n\t\t\t\tCreatedBeforeInDays:        pulumi.Int(30),\n\t\t\t\tLastDownloadedBeforeInDays: pulumi.Int(60),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_packagecleanuppolicy\" \"my-cleanup-policy\" {\n  key                 = \"my-cleanup-policy\"\n  description         = \"My cleanup policy\"\n  cron_expression     = \"0 0 2 ? * MON-SAT *\"\n  duration_in_minutes = 60\n  enabled             = true\n  skip_trashcan       = false\n  search_criteria = {\n    package_types                  = [\"docker\", \"gradle\", \"maven\"]\n    repos                          = [\"**\"]\n    include_all_projects           = true\n    included_projects              = []\n    included_packages              = [\"**\"]\n    excluded_packages              = [\"com/jfrog/latest\"]\n    created_before_in_days         = 30\n    last_downloaded_before_in_days = 60\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.PackageCleanupPolicy;\nimport com.pulumi.artifactory.PackageCleanupPolicyArgs;\nimport com.pulumi.artifactory.inputs.PackageCleanupPolicySearchCriteriaArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 my_cleanup_policy = new PackageCleanupPolicy(\"my-cleanup-policy\", PackageCleanupPolicyArgs.builder()\n            .key(\"my-cleanup-policy\")\n            .description(\"My cleanup policy\")\n            .cronExpression(\"0 0 2 ? * MON-SAT *\")\n            .durationInMinutes(60)\n            .enabled(true)\n            .skipTrashcan(false)\n            .searchCriteria(PackageCleanupPolicySearchCriteriaArgs.builder()\n                .packageTypes(                \n                    \"docker\",\n                    \"gradle\",\n                    \"maven\")\n                .repos(\"**\")\n                .includeAllProjects(true)\n                .includedProjects()\n                .includedPackages(\"**\")\n                .excludedPackages(\"com/jfrog/latest\")\n                .createdBeforeInDays(30)\n                .lastDownloadedBeforeInDays(60)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  my-cleanup-policy:\n    type: artifactory:PackageCleanupPolicy\n    properties:\n      key: my-cleanup-policy\n      description: My cleanup policy\n      cronExpression: 0 0 2 ? * MON-SAT *\n      durationInMinutes: 60\n      enabled: true\n      skipTrashcan: false\n      searchCriteria:\n        packageTypes:\n          - docker\n          - gradle\n          - maven\n        repos:\n          - '**'\n        includeAllProjects: true\n        includedProjects: []\n        includedPackages:\n          - '**'\n        excludedPackages:\n          - com/jfrog/latest\n        createdBeforeInDays: 30\n        lastDownloadedBeforeInDays: 60\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Version-based Cleanup Policy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst my_version_policy = new artifactory.PackageCleanupPolicy(\"my-version-policy\", {\n    key: \"my-version-policy\",\n    description: \"Keep only latest versions\",\n    cronExpression: \"0 0 2 ? * MON-SAT *\",\n    durationInMinutes: 60,\n    enabled: true,\n    skipTrashcan: false,\n    searchCriteria: {\n        packageTypes: [\"maven\"],\n        repos: [\"**\"],\n        includeAllProjects: true,\n        includedProjects: [],\n        includedPackages: [\"**\"],\n        excludedPackages: [\"com/jfrog/latest\"],\n        keepLastNVersions: 5,\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nmy_version_policy = artifactory.PackageCleanupPolicy(\"my-version-policy\",\n    key=\"my-version-policy\",\n    description=\"Keep only latest versions\",\n    cron_expression=\"0 0 2 ? * MON-SAT *\",\n    duration_in_minutes=60,\n    enabled=True,\n    skip_trashcan=False,\n    search_criteria={\n        \"package_types\": [\"maven\"],\n        \"repos\": [\"**\"],\n        \"include_all_projects\": True,\n        \"included_projects\": [],\n        \"included_packages\": [\"**\"],\n        \"excluded_packages\": [\"com/jfrog/latest\"],\n        \"keep_last_n_versions\": 5,\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var my_version_policy = new Artifactory.PackageCleanupPolicy(\"my-version-policy\", new()\n    {\n        Key = \"my-version-policy\",\n        Description = \"Keep only latest versions\",\n        CronExpression = \"0 0 2 ? * MON-SAT *\",\n        DurationInMinutes = 60,\n        Enabled = true,\n        SkipTrashcan = false,\n        SearchCriteria = new Artifactory.Inputs.PackageCleanupPolicySearchCriteriaArgs\n        {\n            PackageTypes = new[]\n            {\n                \"maven\",\n            },\n            Repos = new[]\n            {\n                \"**\",\n            },\n            IncludeAllProjects = true,\n            IncludedProjects = new() { },\n            IncludedPackages = new[]\n            {\n                \"**\",\n            },\n            ExcludedPackages = new[]\n            {\n                \"com/jfrog/latest\",\n            },\n            KeepLastNVersions = 5,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewPackageCleanupPolicy(ctx, \"my-version-policy\", \u0026artifactory.PackageCleanupPolicyArgs{\n\t\t\tKey:               pulumi.String(\"my-version-policy\"),\n\t\t\tDescription:       pulumi.String(\"Keep only latest versions\"),\n\t\t\tCronExpression:    pulumi.String(\"0 0 2 ? * MON-SAT *\"),\n\t\t\tDurationInMinutes: pulumi.Int(60),\n\t\t\tEnabled:           pulumi.Bool(true),\n\t\t\tSkipTrashcan:      pulumi.Bool(false),\n\t\t\tSearchCriteria: \u0026artifactory.PackageCleanupPolicySearchCriteriaArgs{\n\t\t\t\tPackageTypes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"maven\"),\n\t\t\t\t},\n\t\t\t\tRepos: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"**\"),\n\t\t\t\t},\n\t\t\t\tIncludeAllProjects: pulumi.Bool(true),\n\t\t\t\tIncludedProjects:   pulumi.StringArray{},\n\t\t\t\tIncludedPackages: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"**\"),\n\t\t\t\t},\n\t\t\t\tExcludedPackages: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"com/jfrog/latest\"),\n\t\t\t\t},\n\t\t\t\tKeepLastNVersions: pulumi.Int(5),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_packagecleanuppolicy\" \"my-version-policy\" {\n  key                 = \"my-version-policy\"\n  description         = \"Keep only latest versions\"\n  cron_expression     = \"0 0 2 ? * MON-SAT *\"\n  duration_in_minutes = 60\n  enabled             = true\n  skip_trashcan       = false\n  search_criteria = {\n    package_types        = [\"maven\"]\n    repos                = [\"**\"]\n    include_all_projects = true\n    included_projects    = []\n    included_packages    = [\"**\"]\n    excluded_packages    = [\"com/jfrog/latest\"]\n    keep_last_n_versions = 5\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.PackageCleanupPolicy;\nimport com.pulumi.artifactory.PackageCleanupPolicyArgs;\nimport com.pulumi.artifactory.inputs.PackageCleanupPolicySearchCriteriaArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 my_version_policy = new PackageCleanupPolicy(\"my-version-policy\", PackageCleanupPolicyArgs.builder()\n            .key(\"my-version-policy\")\n            .description(\"Keep only latest versions\")\n            .cronExpression(\"0 0 2 ? * MON-SAT *\")\n            .durationInMinutes(60)\n            .enabled(true)\n            .skipTrashcan(false)\n            .searchCriteria(PackageCleanupPolicySearchCriteriaArgs.builder()\n                .packageTypes(\"maven\")\n                .repos(\"**\")\n                .includeAllProjects(true)\n                .includedProjects()\n                .includedPackages(\"**\")\n                .excludedPackages(\"com/jfrog/latest\")\n                .keepLastNVersions(5)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  my-version-policy:\n    type: artifactory:PackageCleanupPolicy\n    properties:\n      key: my-version-policy\n      description: Keep only latest versions\n      cronExpression: 0 0 2 ? * MON-SAT *\n      durationInMinutes: 60\n      enabled: true\n      skipTrashcan: false\n      searchCriteria:\n        packageTypes:\n          - maven\n        repos:\n          - '**'\n        includeAllProjects: true\n        includedProjects: []\n        includedPackages:\n          - '**'\n        excludedPackages:\n          - com/jfrog/latest\n        keepLastNVersions: 5\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Properties-based Cleanup Policy\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst my_properties_policy = new artifactory.PackageCleanupPolicy(\"my-properties-policy\", {\n    key: \"my-properties-policy\",\n    description: \"Cleanup based on properties\",\n    cronExpression: \"0 0 2 ? * MON-SAT *\",\n    durationInMinutes: 60,\n    enabled: true,\n    skipTrashcan: false,\n    searchCriteria: {\n        packageTypes: [\"docker\"],\n        repos: [\"**\"],\n        includeAllProjects: true,\n        includedProjects: [],\n        includedPackages: [\"**\"],\n        excludedPackages: [\"com/jfrog/latest\"],\n        includedProperties: {\n            \"build.name\": [\"my-app\"],\n        },\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nmy_properties_policy = artifactory.PackageCleanupPolicy(\"my-properties-policy\",\n    key=\"my-properties-policy\",\n    description=\"Cleanup based on properties\",\n    cron_expression=\"0 0 2 ? * MON-SAT *\",\n    duration_in_minutes=60,\n    enabled=True,\n    skip_trashcan=False,\n    search_criteria={\n        \"package_types\": [\"docker\"],\n        \"repos\": [\"**\"],\n        \"include_all_projects\": True,\n        \"included_projects\": [],\n        \"included_packages\": [\"**\"],\n        \"excluded_packages\": [\"com/jfrog/latest\"],\n        \"included_properties\": {\n            \"build.name\": [\"my-app\"],\n        },\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var my_properties_policy = new Artifactory.PackageCleanupPolicy(\"my-properties-policy\", new()\n    {\n        Key = \"my-properties-policy\",\n        Description = \"Cleanup based on properties\",\n        CronExpression = \"0 0 2 ? * MON-SAT *\",\n        DurationInMinutes = 60,\n        Enabled = true,\n        SkipTrashcan = false,\n        SearchCriteria = new Artifactory.Inputs.PackageCleanupPolicySearchCriteriaArgs\n        {\n            PackageTypes = new[]\n            {\n                \"docker\",\n            },\n            Repos = new[]\n            {\n                \"**\",\n            },\n            IncludeAllProjects = true,\n            IncludedProjects = new() { },\n            IncludedPackages = new[]\n            {\n                \"**\",\n            },\n            ExcludedPackages = new[]\n            {\n                \"com/jfrog/latest\",\n            },\n            IncludedProperties = \n            {\n                { \"build.name\", new[]\n                {\n                    \"my-app\",\n                } },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewPackageCleanupPolicy(ctx, \"my-properties-policy\", \u0026artifactory.PackageCleanupPolicyArgs{\n\t\t\tKey:               pulumi.String(\"my-properties-policy\"),\n\t\t\tDescription:       pulumi.String(\"Cleanup based on properties\"),\n\t\t\tCronExpression:    pulumi.String(\"0 0 2 ? * MON-SAT *\"),\n\t\t\tDurationInMinutes: pulumi.Int(60),\n\t\t\tEnabled:           pulumi.Bool(true),\n\t\t\tSkipTrashcan:      pulumi.Bool(false),\n\t\t\tSearchCriteria: \u0026artifactory.PackageCleanupPolicySearchCriteriaArgs{\n\t\t\t\tPackageTypes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"docker\"),\n\t\t\t\t},\n\t\t\t\tRepos: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"**\"),\n\t\t\t\t},\n\t\t\t\tIncludeAllProjects: pulumi.Bool(true),\n\t\t\t\tIncludedProjects:   pulumi.StringArray{},\n\t\t\t\tIncludedPackages: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"**\"),\n\t\t\t\t},\n\t\t\t\tExcludedPackages: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"com/jfrog/latest\"),\n\t\t\t\t},\n\t\t\t\tIncludedProperties: pulumi.StringArrayMap{\n\t\t\t\t\t\"build.name\": pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"my-app\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_packagecleanuppolicy\" \"my-properties-policy\" {\n  key                 = \"my-properties-policy\"\n  description         = \"Cleanup based on properties\"\n  cron_expression     = \"0 0 2 ? * MON-SAT *\"\n  duration_in_minutes = 60\n  enabled             = true\n  skip_trashcan       = false\n  search_criteria = {\n    package_types        = [\"docker\"]\n    repos                = [\"**\"]\n    include_all_projects = true\n    included_projects    = []\n    included_packages    = [\"**\"]\n    excluded_packages    = [\"com/jfrog/latest\"]\n    included_properties = {\n      \"build.name\" = [\"my-app\"]\n    }\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.PackageCleanupPolicy;\nimport com.pulumi.artifactory.PackageCleanupPolicyArgs;\nimport com.pulumi.artifactory.inputs.PackageCleanupPolicySearchCriteriaArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 my_properties_policy = new PackageCleanupPolicy(\"my-properties-policy\", PackageCleanupPolicyArgs.builder()\n            .key(\"my-properties-policy\")\n            .description(\"Cleanup based on properties\")\n            .cronExpression(\"0 0 2 ? * MON-SAT *\")\n            .durationInMinutes(60)\n            .enabled(true)\n            .skipTrashcan(false)\n            .searchCriteria(PackageCleanupPolicySearchCriteriaArgs.builder()\n                .packageTypes(\"docker\")\n                .repos(\"**\")\n                .includeAllProjects(true)\n                .includedProjects()\n                .includedPackages(\"**\")\n                .excludedPackages(\"com/jfrog/latest\")\n                .includedProperties(Map.of(\"build.name\", Arrays.asList(\"my-app\")))\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  my-properties-policy:\n    type: artifactory:PackageCleanupPolicy\n    properties:\n      key: my-properties-policy\n      description: Cleanup based on properties\n      cronExpression: 0 0 2 ? * MON-SAT *\n      durationInMinutes: 60\n      enabled: true\n      skipTrashcan: false\n      searchCriteria:\n        packageTypes:\n          - docker\n        repos:\n          - '**'\n        includeAllProjects: true\n        includedProjects: []\n        includedPackages:\n          - '**'\n        excludedPackages:\n          - com/jfrog/latest\n        includedProperties:\n          build.name:\n            - my-app\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using Variables for Condition Fields\n\nYou can use Terraform variables for condition fields (\u003cspan pulumi-lang-nodejs=\"`createdBeforeInDays`\" pulumi-lang-dotnet=\"`CreatedBeforeInDays`\" pulumi-lang-go=\"`createdBeforeInDays`\" pulumi-lang-python=\"`created_before_in_days`\" pulumi-lang-yaml=\"`createdBeforeInDays`\" pulumi-lang-java=\"`createdBeforeInDays`\" pulumi-lang-hcl=\"`created_before_in_days`\"\u003e`createdBeforeInDays`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lastDownloadedBeforeInDays`\" pulumi-lang-dotnet=\"`LastDownloadedBeforeInDays`\" pulumi-lang-go=\"`lastDownloadedBeforeInDays`\" pulumi-lang-python=\"`last_downloaded_before_in_days`\" pulumi-lang-yaml=\"`lastDownloadedBeforeInDays`\" pulumi-lang-java=\"`lastDownloadedBeforeInDays`\" pulumi-lang-hcl=\"`last_downloaded_before_in_days`\"\u003e`lastDownloadedBeforeInDays`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`createdBeforeInMonths`\" pulumi-lang-dotnet=\"`CreatedBeforeInMonths`\" pulumi-lang-go=\"`createdBeforeInMonths`\" pulumi-lang-python=\"`created_before_in_months`\" pulumi-lang-yaml=\"`createdBeforeInMonths`\" pulumi-lang-java=\"`createdBeforeInMonths`\" pulumi-lang-hcl=\"`created_before_in_months`\"\u003e`createdBeforeInMonths`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lastDownloadedBeforeInMonths`\" pulumi-lang-dotnet=\"`LastDownloadedBeforeInMonths`\" pulumi-lang-go=\"`lastDownloadedBeforeInMonths`\" pulumi-lang-python=\"`last_downloaded_before_in_months`\" pulumi-lang-yaml=\"`lastDownloadedBeforeInMonths`\" pulumi-lang-java=\"`lastDownloadedBeforeInMonths`\" pulumi-lang-hcl=\"`last_downloaded_before_in_months`\"\u003e`lastDownloadedBeforeInMonths`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`keepLastNVersions`\" pulumi-lang-dotnet=\"`KeepLastNVersions`\" pulumi-lang-go=\"`keepLastNVersions`\" pulumi-lang-python=\"`keep_last_n_versions`\" pulumi-lang-yaml=\"`keepLastNVersions`\" pulumi-lang-java=\"`keepLastNVersions`\" pulumi-lang-hcl=\"`keep_last_n_versions`\"\u003e`keepLastNVersions`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`includedProperties`\" pulumi-lang-dotnet=\"`IncludedProperties`\" pulumi-lang-go=\"`includedProperties`\" pulumi-lang-python=\"`included_properties`\" pulumi-lang-yaml=\"`includedProperties`\" pulumi-lang-java=\"`includedProperties`\" pulumi-lang-hcl=\"`included_properties`\"\u003e`includedProperties`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`excludedProperties`\" pulumi-lang-dotnet=\"`ExcludedProperties`\" pulumi-lang-go=\"`excludedProperties`\" pulumi-lang-python=\"`excluded_properties`\" pulumi-lang-yaml=\"`excludedProperties`\" pulumi-lang-java=\"`excludedProperties`\" pulumi-lang-hcl=\"`excluded_properties`\"\u003e`excludedProperties`\u003c/span\u003e) and \u003cspan pulumi-lang-nodejs=\"`durationInMinutes`\" pulumi-lang-dotnet=\"`DurationInMinutes`\" pulumi-lang-go=\"`durationInMinutes`\" pulumi-lang-python=\"`duration_in_minutes`\" pulumi-lang-yaml=\"`durationInMinutes`\" pulumi-lang-java=\"`durationInMinutes`\" pulumi-lang-hcl=\"`duration_in_minutes`\"\u003e`durationInMinutes`\u003c/span\u003e. The validator will skip validation when values are unknown (variables), allowing `terraform validate` to pass without requiring variable values.\n\n**Example with variables:**\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst config = new pulumi.Config();\nconst cleanupPolicyLastDownloadedBeforeInDays = config.getNumber(\"cleanupPolicyLastDownloadedBeforeInDays\") || 60;\nconst cleanupPolicyDurationInMinutes = config.getNumber(\"cleanupPolicyDurationInMinutes\") || 120;\nconst my_cleanup_policy = new artifactory.PackageCleanupPolicy(\"my-cleanup-policy\", {\n    key: \"my-cleanup-policy\",\n    description: \"My cleanup policy with variables\",\n    cronExpression: \"0 0 2 ? * MON-SAT *\",\n    durationInMinutes: cleanupPolicyDurationInMinutes,\n    enabled: true,\n    skipTrashcan: false,\n    searchCriteria: {\n        packageTypes: [\n            \"docker\",\n            \"generic\",\n            \"helm\",\n            \"helmoci\",\n            \"nuget\",\n            \"terraform\",\n        ],\n        repos: [\"**\"],\n        includeAllProjects: false,\n        includedProjects: [\"default\"],\n        includedPackages: [\"**\"],\n        excludedPackages: [\"com/jfrog/latest\"],\n        lastDownloadedBeforeInDays: cleanupPolicyLastDownloadedBeforeInDays,\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nconfig = pulumi.Config()\ncleanup_policy_last_downloaded_before_in_days = config.get_float(\"cleanupPolicyLastDownloadedBeforeInDays\")\nif cleanup_policy_last_downloaded_before_in_days is None:\n    cleanup_policy_last_downloaded_before_in_days = 60\ncleanup_policy_duration_in_minutes = config.get_float(\"cleanupPolicyDurationInMinutes\")\nif cleanup_policy_duration_in_minutes is None:\n    cleanup_policy_duration_in_minutes = 120\nmy_cleanup_policy = artifactory.PackageCleanupPolicy(\"my-cleanup-policy\",\n    key=\"my-cleanup-policy\",\n    description=\"My cleanup policy with variables\",\n    cron_expression=\"0 0 2 ? * MON-SAT *\",\n    duration_in_minutes=int(cleanup_policy_duration_in_minutes),\n    enabled=True,\n    skip_trashcan=False,\n    search_criteria={\n        \"package_types\": [\n            \"docker\",\n            \"generic\",\n            \"helm\",\n            \"helmoci\",\n            \"nuget\",\n            \"terraform\",\n        ],\n        \"repos\": [\"**\"],\n        \"include_all_projects\": False,\n        \"included_projects\": [\"default\"],\n        \"included_packages\": [\"**\"],\n        \"excluded_packages\": [\"com/jfrog/latest\"],\n        \"last_downloaded_before_in_days\": int(cleanup_policy_last_downloaded_before_in_days),\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var cleanupPolicyLastDownloadedBeforeInDays = config.GetDouble(\"cleanupPolicyLastDownloadedBeforeInDays\") ?? 60;\n    var cleanupPolicyDurationInMinutes = config.GetDouble(\"cleanupPolicyDurationInMinutes\") ?? 120;\n    var my_cleanup_policy = new Artifactory.PackageCleanupPolicy(\"my-cleanup-policy\", new()\n    {\n        Key = \"my-cleanup-policy\",\n        Description = \"My cleanup policy with variables\",\n        CronExpression = \"0 0 2 ? * MON-SAT *\",\n        DurationInMinutes = cleanupPolicyDurationInMinutes,\n        Enabled = true,\n        SkipTrashcan = false,\n        SearchCriteria = new Artifactory.Inputs.PackageCleanupPolicySearchCriteriaArgs\n        {\n            PackageTypes = new[]\n            {\n                \"docker\",\n                \"generic\",\n                \"helm\",\n                \"helmoci\",\n                \"nuget\",\n                \"terraform\",\n            },\n            Repos = new[]\n            {\n                \"**\",\n            },\n            IncludeAllProjects = false,\n            IncludedProjects = new[]\n            {\n                \"default\",\n            },\n            IncludedPackages = new[]\n            {\n                \"**\",\n            },\n            ExcludedPackages = new[]\n            {\n                \"com/jfrog/latest\",\n            },\n            LastDownloadedBeforeInDays = cleanupPolicyLastDownloadedBeforeInDays,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\tcleanupPolicyLastDownloadedBeforeInDays := float64(60)\n\t\tif param := cfg.GetFloat64(\"cleanupPolicyLastDownloadedBeforeInDays\"); param != 0 {\n\t\t\tcleanupPolicyLastDownloadedBeforeInDays = param\n\t\t}\n\t\tcleanupPolicyDurationInMinutes := float64(120)\n\t\tif param := cfg.GetFloat64(\"cleanupPolicyDurationInMinutes\"); param != 0 {\n\t\t\tcleanupPolicyDurationInMinutes = param\n\t\t}\n\t\t_, err := artifactory.NewPackageCleanupPolicy(ctx, \"my-cleanup-policy\", \u0026artifactory.PackageCleanupPolicyArgs{\n\t\t\tKey:               pulumi.String(\"my-cleanup-policy\"),\n\t\t\tDescription:       pulumi.String(\"My cleanup policy with variables\"),\n\t\t\tCronExpression:    pulumi.String(\"0 0 2 ? * MON-SAT *\"),\n\t\t\tDurationInMinutes: pulumi.Float64(cleanupPolicyDurationInMinutes),\n\t\t\tEnabled:           pulumi.Bool(true),\n\t\t\tSkipTrashcan:      pulumi.Bool(false),\n\t\t\tSearchCriteria: \u0026artifactory.PackageCleanupPolicySearchCriteriaArgs{\n\t\t\t\tPackageTypes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"docker\"),\n\t\t\t\t\tpulumi.String(\"generic\"),\n\t\t\t\t\tpulumi.String(\"helm\"),\n\t\t\t\t\tpulumi.String(\"helmoci\"),\n\t\t\t\t\tpulumi.String(\"nuget\"),\n\t\t\t\t\tpulumi.String(\"terraform\"),\n\t\t\t\t},\n\t\t\t\tRepos: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"**\"),\n\t\t\t\t},\n\t\t\t\tIncludeAllProjects: pulumi.Bool(false),\n\t\t\t\tIncludedProjects: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"default\"),\n\t\t\t\t},\n\t\t\t\tIncludedPackages: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"**\"),\n\t\t\t\t},\n\t\t\t\tExcludedPackages: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"com/jfrog/latest\"),\n\t\t\t\t},\n\t\t\t\tLastDownloadedBeforeInDays: pulumi.Float64(cleanupPolicyLastDownloadedBeforeInDays),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_packagecleanuppolicy\" \"my-cleanup-policy\" {\n  key                 = \"my-cleanup-policy\"\n  description         = \"My cleanup policy with variables\"\n  cron_expression     = \"0 0 2 ? * MON-SAT *\"\n  duration_in_minutes = var.cleanupPolicyDurationInMinutes\n  enabled             = true\n  skip_trashcan       = false\n  search_criteria = {\n    package_types                  = [\"docker\", \"generic\", \"helm\", \"helmoci\", \"nuget\", \"terraform\"]\n    repos                          = [\"**\"]\n    include_all_projects           = false\n    included_projects              = [\"default\"]\n    included_packages              = [\"**\"]\n    excluded_packages              = [\"com/jfrog/latest\"]\n    last_downloaded_before_in_days = var.cleanupPolicyLastDownloadedBeforeInDays\n  }\n}\nvariable \"cleanupPolicyLastDownloadedBeforeInDays\" {\n  type    = number\n  default = 60\n}\nvariable \"cleanupPolicyDurationInMinutes\" {\n  type    = number\n  default = 120\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.PackageCleanupPolicy;\nimport com.pulumi.artifactory.PackageCleanupPolicyArgs;\nimport com.pulumi.artifactory.inputs.PackageCleanupPolicySearchCriteriaArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 config = ctx.config();\n        final var cleanupPolicyLastDownloadedBeforeInDays = config.get(\"cleanupPolicyLastDownloadedBeforeInDays\").orElse(60);\n        final var cleanupPolicyDurationInMinutes = config.get(\"cleanupPolicyDurationInMinutes\").orElse(120);\n        var my_cleanup_policy = new PackageCleanupPolicy(\"my-cleanup-policy\", PackageCleanupPolicyArgs.builder()\n            .key(\"my-cleanup-policy\")\n            .description(\"My cleanup policy with variables\")\n            .cronExpression(\"0 0 2 ? * MON-SAT *\")\n            .durationInMinutes(cleanupPolicyDurationInMinutes)\n            .enabled(true)\n            .skipTrashcan(false)\n            .searchCriteria(PackageCleanupPolicySearchCriteriaArgs.builder()\n                .packageTypes(                \n                    \"docker\",\n                    \"generic\",\n                    \"helm\",\n                    \"helmoci\",\n                    \"nuget\",\n                    \"terraform\")\n                .repos(\"**\")\n                .includeAllProjects(false)\n                .includedProjects(\"default\")\n                .includedPackages(\"**\")\n                .excludedPackages(\"com/jfrog/latest\")\n                .lastDownloadedBeforeInDays(cleanupPolicyLastDownloadedBeforeInDays)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  cleanupPolicyLastDownloadedBeforeInDays:\n    type: number\n    default: 60\n  cleanupPolicyDurationInMinutes:\n    type: number\n    default: 120\nresources:\n  my-cleanup-policy:\n    type: artifactory:PackageCleanupPolicy\n    properties:\n      key: my-cleanup-policy\n      description: My cleanup policy with variables\n      cronExpression: 0 0 2 ? * MON-SAT *\n      durationInMinutes: ${cleanupPolicyDurationInMinutes}\n      enabled: true\n      skipTrashcan: false\n      searchCriteria:\n        packageTypes:\n          - docker\n          - generic\n          - helm\n          - helmoci\n          - nuget\n          - terraform\n        repos:\n          - '**'\n        includeAllProjects: false\n        includedProjects:\n          - default\n        includedPackages:\n          - '**'\n        excludedPackages:\n          - com/jfrog/latest\n        lastDownloadedBeforeInDays: ${cleanupPolicyLastDownloadedBeforeInDays}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n**Important Notes:**\n- Variables with default values allow `terraform validate` to pass without requiring variable values\n- Variables without default values will require values to be provided during `pulumi preview` or `pulumi up`\n- The validator automatically skips validation when condition field values are unknown (variables), preventing false validation errors during `terraform validate`\n\n### Time-based and properties-based combined\n\nYou may combine **time-based** fields with **\u003cspan pulumi-lang-nodejs=\"`includedProperties`\" pulumi-lang-dotnet=\"`IncludedProperties`\" pulumi-lang-go=\"`includedProperties`\" pulumi-lang-python=\"`included_properties`\" pulumi-lang-yaml=\"`includedProperties`\" pulumi-lang-java=\"`includedProperties`\" pulumi-lang-hcl=\"`included_properties`\"\u003e`includedProperties`\u003c/span\u003e** in the same policy. On the Artifactory platform, matching both time and property criteria uses **AND** semantics from **Artifactory 7.129** onward. **\u003cspan pulumi-lang-nodejs=\"`keepLastNVersions`\" pulumi-lang-dotnet=\"`KeepLastNVersions`\" pulumi-lang-go=\"`keepLastNVersions`\" pulumi-lang-python=\"`keep_last_n_versions`\" pulumi-lang-yaml=\"`keepLastNVersions`\" pulumi-lang-java=\"`keepLastNVersions`\" pulumi-lang-hcl=\"`keep_last_n_versions`\"\u003e`keepLastNVersions`\u003c/span\u003e** cannot be used together with time-based or properties-based conditions.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst time_and_properties = new artifactory.PackageCleanupPolicy(\"time-and-properties\", {\n    key: \"time-and-properties\",\n    description: \"Delete old packages that match a property\",\n    cronExpression: \"0 0 2 ? * MON-SAT *\",\n    durationInMinutes: 60,\n    enabled: true,\n    skipTrashcan: false,\n    searchCriteria: {\n        packageTypes: [\"docker\"],\n        repos: [\"**\"],\n        includeAllProjects: true,\n        includedProjects: [],\n        includedPackages: [\"**\"],\n        excludedPackages: [],\n        lastDownloadedBeforeInDays: 90,\n        includedProperties: {\n            \"cleanup.candidate\": [\"true\"],\n        },\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\ntime_and_properties = artifactory.PackageCleanupPolicy(\"time-and-properties\",\n    key=\"time-and-properties\",\n    description=\"Delete old packages that match a property\",\n    cron_expression=\"0 0 2 ? * MON-SAT *\",\n    duration_in_minutes=60,\n    enabled=True,\n    skip_trashcan=False,\n    search_criteria={\n        \"package_types\": [\"docker\"],\n        \"repos\": [\"**\"],\n        \"include_all_projects\": True,\n        \"included_projects\": [],\n        \"included_packages\": [\"**\"],\n        \"excluded_packages\": [],\n        \"last_downloaded_before_in_days\": 90,\n        \"included_properties\": {\n            \"cleanup.candidate\": [\"true\"],\n        },\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var time_and_properties = new Artifactory.PackageCleanupPolicy(\"time-and-properties\", new()\n    {\n        Key = \"time-and-properties\",\n        Description = \"Delete old packages that match a property\",\n        CronExpression = \"0 0 2 ? * MON-SAT *\",\n        DurationInMinutes = 60,\n        Enabled = true,\n        SkipTrashcan = false,\n        SearchCriteria = new Artifactory.Inputs.PackageCleanupPolicySearchCriteriaArgs\n        {\n            PackageTypes = new[]\n            {\n                \"docker\",\n            },\n            Repos = new[]\n            {\n                \"**\",\n            },\n            IncludeAllProjects = true,\n            IncludedProjects = new() { },\n            IncludedPackages = new[]\n            {\n                \"**\",\n            },\n            ExcludedPackages = new() { },\n            LastDownloadedBeforeInDays = 90,\n            IncludedProperties = \n            {\n                { \"cleanup.candidate\", new[]\n                {\n                    \"true\",\n                } },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewPackageCleanupPolicy(ctx, \"time-and-properties\", \u0026artifactory.PackageCleanupPolicyArgs{\n\t\t\tKey:               pulumi.String(\"time-and-properties\"),\n\t\t\tDescription:       pulumi.String(\"Delete old packages that match a property\"),\n\t\t\tCronExpression:    pulumi.String(\"0 0 2 ? * MON-SAT *\"),\n\t\t\tDurationInMinutes: pulumi.Int(60),\n\t\t\tEnabled:           pulumi.Bool(true),\n\t\t\tSkipTrashcan:      pulumi.Bool(false),\n\t\t\tSearchCriteria: \u0026artifactory.PackageCleanupPolicySearchCriteriaArgs{\n\t\t\t\tPackageTypes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"docker\"),\n\t\t\t\t},\n\t\t\t\tRepos: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"**\"),\n\t\t\t\t},\n\t\t\t\tIncludeAllProjects: pulumi.Bool(true),\n\t\t\t\tIncludedProjects:   pulumi.StringArray{},\n\t\t\t\tIncludedPackages: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"**\"),\n\t\t\t\t},\n\t\t\t\tExcludedPackages:           pulumi.StringArray{},\n\t\t\t\tLastDownloadedBeforeInDays: pulumi.Int(90),\n\t\t\t\tIncludedProperties: pulumi.StringArrayMap{\n\t\t\t\t\t\"cleanup.candidate\": pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"true\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_packagecleanuppolicy\" \"time-and-properties\" {\n  key                 = \"time-and-properties\"\n  description         = \"Delete old packages that match a property\"\n  cron_expression     = \"0 0 2 ? * MON-SAT *\"\n  duration_in_minutes = 60\n  enabled             = true\n  skip_trashcan       = false\n  search_criteria = {\n    package_types                  = [\"docker\"]\n    repos                          = [\"**\"]\n    include_all_projects           = true\n    included_projects              = []\n    included_packages              = [\"**\"]\n    excluded_packages              = []\n    last_downloaded_before_in_days = 90\n    included_properties = {\n      \"cleanup.candidate\" = [\"true\"]\n    }\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.PackageCleanupPolicy;\nimport com.pulumi.artifactory.PackageCleanupPolicyArgs;\nimport com.pulumi.artifactory.inputs.PackageCleanupPolicySearchCriteriaArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 time_and_properties = new PackageCleanupPolicy(\"time-and-properties\", PackageCleanupPolicyArgs.builder()\n            .key(\"time-and-properties\")\n            .description(\"Delete old packages that match a property\")\n            .cronExpression(\"0 0 2 ? * MON-SAT *\")\n            .durationInMinutes(60)\n            .enabled(true)\n            .skipTrashcan(false)\n            .searchCriteria(PackageCleanupPolicySearchCriteriaArgs.builder()\n                .packageTypes(\"docker\")\n                .repos(\"**\")\n                .includeAllProjects(true)\n                .includedProjects()\n                .includedPackages(\"**\")\n                .excludedPackages()\n                .lastDownloadedBeforeInDays(90)\n                .includedProperties(Map.of(\"cleanup.candidate\", Arrays.asList(\"true\")))\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  time-and-properties:\n    type: artifactory:PackageCleanupPolicy\n    properties:\n      key: time-and-properties\n      description: Delete old packages that match a property\n      cronExpression: 0 0 2 ? * MON-SAT *\n      durationInMinutes: 60\n      enabled: true\n      skipTrashcan: false\n      searchCriteria:\n        packageTypes:\n          - docker\n        repos:\n          - '**'\n        includeAllProjects: true\n        includedProjects: []\n        includedPackages:\n          - '**'\n        excludedPackages: []\n        lastDownloadedBeforeInDays: 90\n        includedProperties:\n          cleanup.candidate:\n            - 'true'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Validation Rules\n\nThe cleanup policy resource enforces the following validation rules:\n\n1. **At least one condition**: A policy must specify at least one of: time-based (days or months), version-based (\u003cspan pulumi-lang-nodejs=\"`keepLastNVersions`\" pulumi-lang-dotnet=\"`KeepLastNVersions`\" pulumi-lang-go=\"`keepLastNVersions`\" pulumi-lang-python=\"`keep_last_n_versions`\" pulumi-lang-yaml=\"`keepLastNVersions`\" pulumi-lang-java=\"`keepLastNVersions`\" pulumi-lang-hcl=\"`keep_last_n_versions`\"\u003e`keepLastNVersions`\u003c/span\u003e), or properties-based (\u003cspan pulumi-lang-nodejs=\"`includedProperties`\" pulumi-lang-dotnet=\"`IncludedProperties`\" pulumi-lang-go=\"`includedProperties`\" pulumi-lang-python=\"`included_properties`\" pulumi-lang-yaml=\"`includedProperties`\" pulumi-lang-java=\"`includedProperties`\" pulumi-lang-hcl=\"`included_properties`\"\u003e`includedProperties`\u003c/span\u003e).\n\n2. **Version-based exclusivity**: \u003cspan pulumi-lang-nodejs=\"`keepLastNVersions`\" pulumi-lang-dotnet=\"`KeepLastNVersions`\" pulumi-lang-go=\"`keepLastNVersions`\" pulumi-lang-python=\"`keep_last_n_versions`\" pulumi-lang-yaml=\"`keepLastNVersions`\" pulumi-lang-java=\"`keepLastNVersions`\" pulumi-lang-hcl=\"`keep_last_n_versions`\"\u003e`keepLastNVersions`\u003c/span\u003e cannot be combined with time-based conditions or with \u003cspan pulumi-lang-nodejs=\"`includedProperties`\" pulumi-lang-dotnet=\"`IncludedProperties`\" pulumi-lang-go=\"`includedProperties`\" pulumi-lang-python=\"`included_properties`\" pulumi-lang-yaml=\"`includedProperties`\" pulumi-lang-java=\"`includedProperties`\" pulumi-lang-hcl=\"`included_properties`\"\u003e`includedProperties`\u003c/span\u003e. Time-based and properties-based conditions **may** be combined (AND semantics on Artifactory **7.129+**).\n\n3. **Zero Values**: When set, time-based and version-based condition values must be greater than 0.\n\n4. **Days vs Months**: Cannot use both days-based conditions (\u003cspan pulumi-lang-nodejs=\"`createdBeforeInDays`\" pulumi-lang-dotnet=\"`CreatedBeforeInDays`\" pulumi-lang-go=\"`createdBeforeInDays`\" pulumi-lang-python=\"`created_before_in_days`\" pulumi-lang-yaml=\"`createdBeforeInDays`\" pulumi-lang-java=\"`createdBeforeInDays`\" pulumi-lang-hcl=\"`created_before_in_days`\"\u003e`createdBeforeInDays`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lastDownloadedBeforeInDays`\" pulumi-lang-dotnet=\"`LastDownloadedBeforeInDays`\" pulumi-lang-go=\"`lastDownloadedBeforeInDays`\" pulumi-lang-python=\"`last_downloaded_before_in_days`\" pulumi-lang-yaml=\"`lastDownloadedBeforeInDays`\" pulumi-lang-java=\"`lastDownloadedBeforeInDays`\" pulumi-lang-hcl=\"`last_downloaded_before_in_days`\"\u003e`lastDownloadedBeforeInDays`\u003c/span\u003e) and months-based conditions (\u003cspan pulumi-lang-nodejs=\"`createdBeforeInMonths`\" pulumi-lang-dotnet=\"`CreatedBeforeInMonths`\" pulumi-lang-go=\"`createdBeforeInMonths`\" pulumi-lang-python=\"`created_before_in_months`\" pulumi-lang-yaml=\"`createdBeforeInMonths`\" pulumi-lang-java=\"`createdBeforeInMonths`\" pulumi-lang-hcl=\"`created_before_in_months`\"\u003e`createdBeforeInMonths`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lastDownloadedBeforeInMonths`\" pulumi-lang-dotnet=\"`LastDownloadedBeforeInMonths`\" pulumi-lang-go=\"`lastDownloadedBeforeInMonths`\" pulumi-lang-python=\"`last_downloaded_before_in_months`\" pulumi-lang-yaml=\"`lastDownloadedBeforeInMonths`\" pulumi-lang-java=\"`lastDownloadedBeforeInMonths`\" pulumi-lang-hcl=\"`last_downloaded_before_in_months`\"\u003e`lastDownloadedBeforeInMonths`\u003c/span\u003e) together.\n\n5. **Properties Validation**: When using \u003cspan pulumi-lang-nodejs=\"`includedProperties`\" pulumi-lang-dotnet=\"`IncludedProperties`\" pulumi-lang-go=\"`includedProperties`\" pulumi-lang-python=\"`included_properties`\" pulumi-lang-yaml=\"`includedProperties`\" pulumi-lang-java=\"`includedProperties`\" pulumi-lang-hcl=\"`included_properties`\"\u003e`includedProperties`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`excludedProperties`\" pulumi-lang-dotnet=\"`ExcludedProperties`\" pulumi-lang-go=\"`excludedProperties`\" pulumi-lang-python=\"`excluded_properties`\" pulumi-lang-yaml=\"`excludedProperties`\" pulumi-lang-java=\"`excludedProperties`\" pulumi-lang-hcl=\"`excluded_properties`\"\u003e`excludedProperties`\u003c/span\u003e, each map must have exactly one key with exactly one string value.\n\n6. **Project Configuration**: When \u003cspan pulumi-lang-nodejs=\"`includeAllProjects`\" pulumi-lang-dotnet=\"`IncludeAllProjects`\" pulumi-lang-go=\"`includeAllProjects`\" pulumi-lang-python=\"`include_all_projects`\" pulumi-lang-yaml=\"`includeAllProjects`\" pulumi-lang-java=\"`includeAllProjects`\" pulumi-lang-hcl=\"`include_all_projects`\"\u003e`includeAllProjects`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the \u003cspan pulumi-lang-nodejs=\"`includedProjects`\" pulumi-lang-dotnet=\"`IncludedProjects`\" pulumi-lang-go=\"`includedProjects`\" pulumi-lang-python=\"`included_projects`\" pulumi-lang-yaml=\"`includedProjects`\" pulumi-lang-java=\"`includedProjects`\" pulumi-lang-hcl=\"`included_projects`\"\u003e`includedProjects`\u003c/span\u003e field can be empty array. When \u003cspan pulumi-lang-nodejs=\"`includeAllProjects`\" pulumi-lang-dotnet=\"`IncludeAllProjects`\" pulumi-lang-go=\"`includeAllProjects`\" pulumi-lang-python=\"`include_all_projects`\" pulumi-lang-yaml=\"`includeAllProjects`\" pulumi-lang-java=\"`includeAllProjects`\" pulumi-lang-hcl=\"`include_all_projects`\"\u003e`includeAllProjects`\u003c/span\u003e is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`includedProjects`\" pulumi-lang-dotnet=\"`IncludedProjects`\" pulumi-lang-go=\"`includedProjects`\" pulumi-lang-python=\"`included_projects`\" pulumi-lang-yaml=\"`includedProjects`\" pulumi-lang-java=\"`includedProjects`\" pulumi-lang-hcl=\"`included_projects`\"\u003e`includedProjects`\u003c/span\u003e must contain at least one project key.\n\n7. **Project-level Policy Constraints**: When \u003cspan pulumi-lang-nodejs=\"`projectKey`\" pulumi-lang-dotnet=\"`ProjectKey`\" pulumi-lang-go=\"`projectKey`\" pulumi-lang-python=\"`project_key`\" pulumi-lang-yaml=\"`projectKey`\" pulumi-lang-java=\"`projectKey`\" pulumi-lang-hcl=\"`project_key`\"\u003e`projectKey`\u003c/span\u003e is specified (project-level policy):\n   - \u003cspan pulumi-lang-nodejs=\"`includeAllProjects`\" pulumi-lang-dotnet=\"`IncludeAllProjects`\" pulumi-lang-go=\"`includeAllProjects`\" pulumi-lang-python=\"`include_all_projects`\" pulumi-lang-yaml=\"`includeAllProjects`\" pulumi-lang-java=\"`includeAllProjects`\" pulumi-lang-hcl=\"`include_all_projects`\"\u003e`includeAllProjects`\u003c/span\u003e must be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e\n   - \u003cspan pulumi-lang-nodejs=\"`includedProjects`\" pulumi-lang-dotnet=\"`IncludedProjects`\" pulumi-lang-go=\"`includedProjects`\" pulumi-lang-python=\"`included_projects`\" pulumi-lang-yaml=\"`includedProjects`\" pulumi-lang-java=\"`includedProjects`\" pulumi-lang-hcl=\"`included_projects`\"\u003e`includedProjects`\u003c/span\u003e should be empty array `[]`\n   - Policy \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e must start with the project key value as a prefix followed by a hyphen\n     - ✅ Valid: \u003cspan pulumi-lang-nodejs=\"`projectKey \" pulumi-lang-dotnet=\"`ProjectKey \" pulumi-lang-go=\"`projectKey \" pulumi-lang-python=\"`project_key \" pulumi-lang-yaml=\"`projectKey \" pulumi-lang-java=\"`projectKey \" pulumi-lang-hcl=\"`project_key \"\u003e`projectKey \u003c/span\u003e= \"myproj\"` → `key = \"myproj-cleanup-policy\"`\n     - ❌ Invalid: \u003cspan pulumi-lang-nodejs=\"`projectKey \" pulumi-lang-dotnet=\"`ProjectKey \" pulumi-lang-go=\"`projectKey \" pulumi-lang-python=\"`project_key \" pulumi-lang-yaml=\"`projectKey \" pulumi-lang-java=\"`projectKey \" pulumi-lang-hcl=\"`project_key \"\u003e`projectKey \u003c/span\u003e= \"myproj\"` → `key = \"cleanup-policy\"` (missing prefix)\n     - ❌ Invalid: \u003cspan pulumi-lang-nodejs=\"`projectKey \" pulumi-lang-dotnet=\"`ProjectKey \" pulumi-lang-go=\"`projectKey \" pulumi-lang-python=\"`project_key \" pulumi-lang-yaml=\"`projectKey \" pulumi-lang-java=\"`projectKey \" pulumi-lang-hcl=\"`project_key \"\u003e`projectKey \u003c/span\u003e= \"myproj\"` → `key = \"other-cleanup-policy\"` (wrong prefix)\n\n## Supported Package Types\n\nThe following package types are supported for cleanup policies with their respective minimum Artifactory versions:\n\n- **alpine** - Alpine Linux packages (supported from 7.108.0)\n- **ansible** - Ansible collections and roles (supported from 7.104.2)\n- **cargo** - Rust Cargo packages (supported from 7.102.0)\n- **chef** - Chef cookbooks (supported from 7.112.0)\n- **cocoapods** - CocoaPods packages (supported from 7.99.1)\n- **composer** - PHP Composer packages (supported from 7.116.0)\n- **conan** - Conan C/C++ packages (supported from 7.98.2)\n- **conda** - Conda packages (supported from 7.105.2)\n- **debian** - Debian packages (supported from 7.98.2)\n- **docker** - Docker images (supported from 7.98.2, version-based condition (keep_last_n_versions) from 7.115.1)\n- **gems** - Ruby gems (supported from 7.96.3)\n- **generic** - Generic packages (supported from 7.98.2, version-based conditions is not supported)\n- **go** - Go modules (supported from 7.98.2)\n- **gradle** - Gradle packages (supported from 7.98.2)\n- **helm** - Helm charts (supported from 7.98.2)\n- **helmoci** - Helm OCI charts (supported from 7.102.0, version-based conditions (keep_last_n_versions) from 7.115.1)\n- **huggingfaceml** - Hugging Face ML models (supported from 7.100.0)\n- **machinelearning** - Machine learning models (supported from 7.104.2)\n- **maven** - Maven packages (supported from 7.98.2)\n- **npm** - Node.js packages (supported from 7.98.2)\n- **nuget** - .NET NuGet packages (supported from 7.98.2)\n- **oci** - OCI images (supported from 7.90.1, version-based conditions (keep_last_n_versions) from 7.115.1)\n- **puppet** - Puppet modules (supported from 7.112.0)\n- **pypi** - Python packages (supported from 7.98.2)\n- **rpm|yum** - RPM packages (supported from 7.98.2)\n- **sbt** - Scala SBT packages (supported from 7.108.0)\n- **swift** - Swift packages\n- **terraform** - Terraform modules (supported from 7.99.1)\n- **terraformbackend** - Terraform backend configurations (supported from 7.103.0)\n\n## Version Compatibility\n\n- The \u003cspan pulumi-lang-nodejs=\"`createdBeforeInDays`\" pulumi-lang-dotnet=\"`CreatedBeforeInDays`\" pulumi-lang-go=\"`createdBeforeInDays`\" pulumi-lang-python=\"`created_before_in_days`\" pulumi-lang-yaml=\"`createdBeforeInDays`\" pulumi-lang-java=\"`createdBeforeInDays`\" pulumi-lang-hcl=\"`created_before_in_days`\"\u003e`createdBeforeInDays`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`lastDownloadedBeforeInDays`\" pulumi-lang-dotnet=\"`LastDownloadedBeforeInDays`\" pulumi-lang-go=\"`lastDownloadedBeforeInDays`\" pulumi-lang-python=\"`last_downloaded_before_in_days`\" pulumi-lang-yaml=\"`lastDownloadedBeforeInDays`\" pulumi-lang-java=\"`lastDownloadedBeforeInDays`\" pulumi-lang-hcl=\"`last_downloaded_before_in_days`\"\u003e`lastDownloadedBeforeInDays`\u003c/span\u003e attributes are only supported in Artifactory 7.111.2 and later. For earlier versions, use \u003cspan pulumi-lang-nodejs=\"`createdBeforeInMonths`\" pulumi-lang-dotnet=\"`CreatedBeforeInMonths`\" pulumi-lang-go=\"`createdBeforeInMonths`\" pulumi-lang-python=\"`created_before_in_months`\" pulumi-lang-yaml=\"`createdBeforeInMonths`\" pulumi-lang-java=\"`createdBeforeInMonths`\" pulumi-lang-hcl=\"`created_before_in_months`\"\u003e`createdBeforeInMonths`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`lastDownloadedBeforeInMonths`\" pulumi-lang-dotnet=\"`LastDownloadedBeforeInMonths`\" pulumi-lang-go=\"`lastDownloadedBeforeInMonths`\" pulumi-lang-python=\"`last_downloaded_before_in_months`\" pulumi-lang-yaml=\"`lastDownloadedBeforeInMonths`\" pulumi-lang-java=\"`lastDownloadedBeforeInMonths`\" pulumi-lang-hcl=\"`last_downloaded_before_in_months`\"\u003e`lastDownloadedBeforeInMonths`\u003c/span\u003e.\n- Combining time-based conditions with \u003cspan pulumi-lang-nodejs=\"`includedProperties`\" pulumi-lang-dotnet=\"`IncludedProperties`\" pulumi-lang-go=\"`includedProperties`\" pulumi-lang-python=\"`included_properties`\" pulumi-lang-yaml=\"`includedProperties`\" pulumi-lang-java=\"`includedProperties`\" pulumi-lang-hcl=\"`included_properties`\"\u003e`includedProperties`\u003c/span\u003e in one policy (AND semantics) requires Artifactory **7.129** or later.\n\n## Import\n\n```sh\n$ pulumi import artifactory:index/packageCleanupPolicy:PackageCleanupPolicy my-cleanup-policy my-policy\n\n$ pulumi import artifactory:index/packageCleanupPolicy:PackageCleanupPolicy my-cleanup-policy my-policy:myproj\n```\n\n",
            "properties": {
                "cronExpression": {
                    "type": "string",
                    "description": "The cron expression that determines when the policy is run, However if left empty the policy will not run automatically and can only be triggered manually.\n"
                },
                "description": {
                    "type": "string"
                },
                "durationInMinutes": {
                    "type": "integer",
                    "description": "The maximum duration (in minutes) for policy execution, after which the policy will stop running even if not completed. While setting a maximum run duration for a policy is useful for adhering to a strict cleanup schedule, it can cause the policy to stop before completion.\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "A cleanup policy must be created inactive. But if used it must be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e when calling this API, the API call will fail and an error message is received. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e\n"
                },
                "key": {
                    "type": "string",
                    "description": "An ID that is used to identify the cleanup policy. A minimum of three characters is required and can include letters, numbers, underscore and hyphen.\n"
                },
                "projectKey": {
                    "type": "string",
                    "description": "This attribute is used only for project-level cleanup policies, it is not used for global-level policies. When specified, the policy will be scoped to the specified project. Note: The policy \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e must start with this project key value as a prefix (e.g., if \u003cspan pulumi-lang-nodejs=\"`projectKey`\" pulumi-lang-dotnet=\"`ProjectKey`\" pulumi-lang-go=\"`projectKey`\" pulumi-lang-python=\"`project_key`\" pulumi-lang-yaml=\"`projectKey`\" pulumi-lang-java=\"`projectKey`\" pulumi-lang-hcl=\"`project_key`\"\u003e`projectKey`\u003c/span\u003e is `\"myproj\"`, the \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e should be `\"myproj-policy-name\"`).\n"
                },
                "searchCriteria": {
                    "$ref": "#/types/artifactory:index/PackageCleanupPolicySearchCriteria:PackageCleanupPolicySearchCriteria"
                },
                "skipTrashcan": {
                    "type": "boolean",
                    "description": "A true value means that when this policy is executed, packages will be permanently deleted. false means that when the policy is executed packages will be deleted to the Trash Can. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                }
            },
            "required": [
                "durationInMinutes",
                "enabled",
                "key",
                "searchCriteria",
                "skipTrashcan"
            ],
            "inputProperties": {
                "cronExpression": {
                    "type": "string",
                    "description": "The cron expression that determines when the policy is run, However if left empty the policy will not run automatically and can only be triggered manually.\n"
                },
                "description": {
                    "type": "string"
                },
                "durationInMinutes": {
                    "type": "integer",
                    "description": "The maximum duration (in minutes) for policy execution, after which the policy will stop running even if not completed. While setting a maximum run duration for a policy is useful for adhering to a strict cleanup schedule, it can cause the policy to stop before completion.\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "A cleanup policy must be created inactive. But if used it must be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e when calling this API, the API call will fail and an error message is received. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e\n"
                },
                "key": {
                    "type": "string",
                    "description": "An ID that is used to identify the cleanup policy. A minimum of three characters is required and can include letters, numbers, underscore and hyphen.\n"
                },
                "projectKey": {
                    "type": "string",
                    "description": "This attribute is used only for project-level cleanup policies, it is not used for global-level policies. When specified, the policy will be scoped to the specified project. Note: The policy \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e must start with this project key value as a prefix (e.g., if \u003cspan pulumi-lang-nodejs=\"`projectKey`\" pulumi-lang-dotnet=\"`ProjectKey`\" pulumi-lang-go=\"`projectKey`\" pulumi-lang-python=\"`project_key`\" pulumi-lang-yaml=\"`projectKey`\" pulumi-lang-java=\"`projectKey`\" pulumi-lang-hcl=\"`project_key`\"\u003e`projectKey`\u003c/span\u003e is `\"myproj\"`, the \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e should be `\"myproj-policy-name\"`).\n"
                },
                "searchCriteria": {
                    "$ref": "#/types/artifactory:index/PackageCleanupPolicySearchCriteria:PackageCleanupPolicySearchCriteria"
                },
                "skipTrashcan": {
                    "type": "boolean",
                    "description": "A true value means that when this policy is executed, packages will be permanently deleted. false means that when the policy is executed packages will be deleted to the Trash Can. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                }
            },
            "requiredInputs": [
                "key",
                "searchCriteria"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering PackageCleanupPolicy resources.\n",
                "properties": {
                    "cronExpression": {
                        "type": "string",
                        "description": "The cron expression that determines when the policy is run, However if left empty the policy will not run automatically and can only be triggered manually.\n"
                    },
                    "description": {
                        "type": "string"
                    },
                    "durationInMinutes": {
                        "type": "integer",
                        "description": "The maximum duration (in minutes) for policy execution, after which the policy will stop running even if not completed. While setting a maximum run duration for a policy is useful for adhering to a strict cleanup schedule, it can cause the policy to stop before completion.\n"
                    },
                    "enabled": {
                        "type": "boolean",
                        "description": "A cleanup policy must be created inactive. But if used it must be set to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e. If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e when calling this API, the API call will fail and an error message is received. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e\n"
                    },
                    "key": {
                        "type": "string",
                        "description": "An ID that is used to identify the cleanup policy. A minimum of three characters is required and can include letters, numbers, underscore and hyphen.\n"
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "This attribute is used only for project-level cleanup policies, it is not used for global-level policies. When specified, the policy will be scoped to the specified project. Note: The policy \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e must start with this project key value as a prefix (e.g., if \u003cspan pulumi-lang-nodejs=\"`projectKey`\" pulumi-lang-dotnet=\"`ProjectKey`\" pulumi-lang-go=\"`projectKey`\" pulumi-lang-python=\"`project_key`\" pulumi-lang-yaml=\"`projectKey`\" pulumi-lang-java=\"`projectKey`\" pulumi-lang-hcl=\"`project_key`\"\u003e`projectKey`\u003c/span\u003e is `\"myproj\"`, the \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e should be `\"myproj-policy-name\"`).\n"
                    },
                    "searchCriteria": {
                        "$ref": "#/types/artifactory:index/PackageCleanupPolicySearchCriteria:PackageCleanupPolicySearchCriteria"
                    },
                    "skipTrashcan": {
                        "type": "boolean",
                        "description": "A true value means that when this policy is executed, packages will be permanently deleted. false means that when the policy is executed packages will be deleted to the Trash Can. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/passwordExpirationPolicy:PasswordExpirationPolicy": {
            "description": "Provides an Artifactory Password Expiration Policy resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst my_password_expiration_policy = new artifactory.PasswordExpirationPolicy(\"my-password-expiration-policy\", {\n    name: \"my-password-expiration-policy\",\n    enabled: true,\n    passwordMaxAge: 120,\n    notifyByEmail: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nmy_password_expiration_policy = artifactory.PasswordExpirationPolicy(\"my-password-expiration-policy\",\n    name=\"my-password-expiration-policy\",\n    enabled=True,\n    password_max_age=120,\n    notify_by_email=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var my_password_expiration_policy = new Artifactory.PasswordExpirationPolicy(\"my-password-expiration-policy\", new()\n    {\n        Name = \"my-password-expiration-policy\",\n        Enabled = true,\n        PasswordMaxAge = 120,\n        NotifyByEmail = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewPasswordExpirationPolicy(ctx, \"my-password-expiration-policy\", \u0026artifactory.PasswordExpirationPolicyArgs{\n\t\t\tName:           pulumi.String(\"my-password-expiration-policy\"),\n\t\t\tEnabled:        pulumi.Bool(true),\n\t\t\tPasswordMaxAge: pulumi.Int(120),\n\t\t\tNotifyByEmail:  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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_passwordexpirationpolicy\" \"my-password-expiration-policy\" {\n  name             = \"my-password-expiration-policy\"\n  enabled          = true\n  password_max_age = 120\n  notify_by_email  = true\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.PasswordExpirationPolicy;\nimport com.pulumi.artifactory.PasswordExpirationPolicyArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 my_password_expiration_policy = new PasswordExpirationPolicy(\"my-password-expiration-policy\", PasswordExpirationPolicyArgs.builder()\n            .name(\"my-password-expiration-policy\")\n            .enabled(true)\n            .passwordMaxAge(120)\n            .notifyByEmail(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  my-password-expiration-policy:\n    type: artifactory:PasswordExpirationPolicy\n    properties:\n      name: my-password-expiration-policy\n      enabled: true\n      passwordMaxAge: 120\n      notifyByEmail: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import artifactory:index/passwordExpirationPolicy:PasswordExpirationPolicy my-password-expiration-policy my-password-expiration-policy\n```\n\n",
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "Enable Password Expiration Policy. This only applies to internal user passwords.\n"
                },
                "name": {
                    "type": "string",
                    "description": "Name of the resource. Only used for importing.\n"
                },
                "notifyByEmail": {
                    "type": "boolean",
                    "description": "Send mail notification before password expiration. Users will receive an email notification X days before password will expire. Mail server must be enabled and configured correctly.\n"
                },
                "passwordMaxAge": {
                    "type": "integer",
                    "description": "Password expires every N days. The time interval in which users will be obligated to change their password.\n"
                }
            },
            "required": [
                "enabled",
                "name",
                "notifyByEmail",
                "passwordMaxAge"
            ],
            "inputProperties": {
                "enabled": {
                    "type": "boolean",
                    "description": "Enable Password Expiration Policy. This only applies to internal user passwords.\n"
                },
                "name": {
                    "type": "string",
                    "description": "Name of the resource. Only used for importing.\n"
                },
                "notifyByEmail": {
                    "type": "boolean",
                    "description": "Send mail notification before password expiration. Users will receive an email notification X days before password will expire. Mail server must be enabled and configured correctly.\n"
                },
                "passwordMaxAge": {
                    "type": "integer",
                    "description": "Password expires every N days. The time interval in which users will be obligated to change their password.\n"
                }
            },
            "requiredInputs": [
                "enabled",
                "notifyByEmail",
                "passwordMaxAge"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering PasswordExpirationPolicy resources.\n",
                "properties": {
                    "enabled": {
                        "type": "boolean",
                        "description": "Enable Password Expiration Policy. This only applies to internal user passwords.\n"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the resource. Only used for importing.\n"
                    },
                    "notifyByEmail": {
                        "type": "boolean",
                        "description": "Send mail notification before password expiration. Users will receive an email notification X days before password will expire. Mail server must be enabled and configured correctly.\n"
                    },
                    "passwordMaxAge": {
                        "type": "integer",
                        "description": "Password expires every N days. The time interval in which users will be obligated to change their password.\n"
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/permissionTarget:PermissionTarget": {
            "description": "Provides an Artifactory permission target resource. This can be used to create and manage Artifactory permission targets.\n\n!\u003eThis resource has been deprecated in favor of\u003cspan pulumi-lang-nodejs=\" platformPermission \" pulumi-lang-dotnet=\" PlatformPermission \" pulumi-lang-go=\" platformPermission \" pulumi-lang-python=\" platform_permission \" pulumi-lang-yaml=\" platformPermission \" pulumi-lang-java=\" platformPermission \" pulumi-lang-hcl=\" platform_permission \"\u003e platformPermission \u003c/span\u003eresource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\n// Create a new Artifactory permission target called testpermission\nconst test_perm = new artifactory.PermissionTarget(\"test-perm\", {\n    name: \"test-perm\",\n    repo: {\n        includesPatterns: [\"foo/**\"],\n        excludesPatterns: [\"bar/**\"],\n        repositories: [\"example-repo-local\"],\n        actions: {\n            users: [\n                {\n                    name: \"anonymous\",\n                    permissions: [\n                        \"read\",\n                        \"write\",\n                    ],\n                },\n                {\n                    name: \"user1\",\n                    permissions: [\n                        \"read\",\n                        \"write\",\n                    ],\n                },\n            ],\n            groups: [\n                {\n                    name: \"readers\",\n                    permissions: [\"read\"],\n                },\n                {\n                    name: \"dev\",\n                    permissions: [\n                        \"read\",\n                        \"write\",\n                    ],\n                },\n            ],\n        },\n    },\n    build: {\n        includesPatterns: [\"**\"],\n        repositories: [\"artifactory-build-info\"],\n        actions: {\n            users: [\n                {\n                    name: \"anonymous\",\n                    permissions: [\"read\"],\n                },\n                {\n                    name: \"user1\",\n                    permissions: [\n                        \"read\",\n                        \"write\",\n                    ],\n                },\n            ],\n        },\n    },\n    releaseBundle: {\n        includesPatterns: [\"**\"],\n        repositories: [\"release-bundles\"],\n        actions: {\n            users: [{\n                name: \"anonymous\",\n                permissions: [\"read\"],\n            }],\n        },\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\n# Create a new Artifactory permission target called testpermission\ntest_perm = artifactory.PermissionTarget(\"test-perm\",\n    name=\"test-perm\",\n    repo={\n        \"includes_patterns\": [\"foo/**\"],\n        \"excludes_patterns\": [\"bar/**\"],\n        \"repositories\": [\"example-repo-local\"],\n        \"actions\": {\n            \"users\": [\n                {\n                    \"name\": \"anonymous\",\n                    \"permissions\": [\n                        \"read\",\n                        \"write\",\n                    ],\n                },\n                {\n                    \"name\": \"user1\",\n                    \"permissions\": [\n                        \"read\",\n                        \"write\",\n                    ],\n                },\n            ],\n            \"groups\": [\n                {\n                    \"name\": \"readers\",\n                    \"permissions\": [\"read\"],\n                },\n                {\n                    \"name\": \"dev\",\n                    \"permissions\": [\n                        \"read\",\n                        \"write\",\n                    ],\n                },\n            ],\n        },\n    },\n    build={\n        \"includes_patterns\": [\"**\"],\n        \"repositories\": [\"artifactory-build-info\"],\n        \"actions\": {\n            \"users\": [\n                {\n                    \"name\": \"anonymous\",\n                    \"permissions\": [\"read\"],\n                },\n                {\n                    \"name\": \"user1\",\n                    \"permissions\": [\n                        \"read\",\n                        \"write\",\n                    ],\n                },\n            ],\n        },\n    },\n    release_bundle={\n        \"includes_patterns\": [\"**\"],\n        \"repositories\": [\"release-bundles\"],\n        \"actions\": {\n            \"users\": [{\n                \"name\": \"anonymous\",\n                \"permissions\": [\"read\"],\n            }],\n        },\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Create a new Artifactory permission target called testpermission\n    var test_perm = new Artifactory.PermissionTarget(\"test-perm\", new()\n    {\n        Name = \"test-perm\",\n        Repo = new Artifactory.Inputs.PermissionTargetRepoArgs\n        {\n            IncludesPatterns = new[]\n            {\n                \"foo/**\",\n            },\n            ExcludesPatterns = new[]\n            {\n                \"bar/**\",\n            },\n            Repositories = new[]\n            {\n                \"example-repo-local\",\n            },\n            Actions = new Artifactory.Inputs.PermissionTargetRepoActionsArgs\n            {\n                Users = new[]\n                {\n                    new Artifactory.Inputs.PermissionTargetRepoActionsUserArgs\n                    {\n                        Name = \"anonymous\",\n                        Permissions = new[]\n                        {\n                            \"read\",\n                            \"write\",\n                        },\n                    },\n                    new Artifactory.Inputs.PermissionTargetRepoActionsUserArgs\n                    {\n                        Name = \"user1\",\n                        Permissions = new[]\n                        {\n                            \"read\",\n                            \"write\",\n                        },\n                    },\n                },\n                Groups = new[]\n                {\n                    new Artifactory.Inputs.PermissionTargetRepoActionsGroupArgs\n                    {\n                        Name = \"readers\",\n                        Permissions = new[]\n                        {\n                            \"read\",\n                        },\n                    },\n                    new Artifactory.Inputs.PermissionTargetRepoActionsGroupArgs\n                    {\n                        Name = \"dev\",\n                        Permissions = new[]\n                        {\n                            \"read\",\n                            \"write\",\n                        },\n                    },\n                },\n            },\n        },\n        Build = new Artifactory.Inputs.PermissionTargetBuildArgs\n        {\n            IncludesPatterns = new[]\n            {\n                \"**\",\n            },\n            Repositories = new[]\n            {\n                \"artifactory-build-info\",\n            },\n            Actions = new Artifactory.Inputs.PermissionTargetBuildActionsArgs\n            {\n                Users = new[]\n                {\n                    new Artifactory.Inputs.PermissionTargetBuildActionsUserArgs\n                    {\n                        Name = \"anonymous\",\n                        Permissions = new[]\n                        {\n                            \"read\",\n                        },\n                    },\n                    new Artifactory.Inputs.PermissionTargetBuildActionsUserArgs\n                    {\n                        Name = \"user1\",\n                        Permissions = new[]\n                        {\n                            \"read\",\n                            \"write\",\n                        },\n                    },\n                },\n            },\n        },\n        ReleaseBundle = new Artifactory.Inputs.PermissionTargetReleaseBundleArgs\n        {\n            IncludesPatterns = new[]\n            {\n                \"**\",\n            },\n            Repositories = new[]\n            {\n                \"release-bundles\",\n            },\n            Actions = new Artifactory.Inputs.PermissionTargetReleaseBundleActionsArgs\n            {\n                Users = new[]\n                {\n                    new Artifactory.Inputs.PermissionTargetReleaseBundleActionsUserArgs\n                    {\n                        Name = \"anonymous\",\n                        Permissions = new[]\n                        {\n                            \"read\",\n                        },\n                    },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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// Create a new Artifactory permission target called testpermission\n\t\t_, err := artifactory.NewPermissionTarget(ctx, \"test-perm\", \u0026artifactory.PermissionTargetArgs{\n\t\t\tName: pulumi.String(\"test-perm\"),\n\t\t\tRepo: \u0026artifactory.PermissionTargetRepoArgs{\n\t\t\t\tIncludesPatterns: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"foo/**\"),\n\t\t\t\t},\n\t\t\t\tExcludesPatterns: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"bar/**\"),\n\t\t\t\t},\n\t\t\t\tRepositories: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"example-repo-local\"),\n\t\t\t\t},\n\t\t\t\tActions: \u0026artifactory.PermissionTargetRepoActionsArgs{\n\t\t\t\t\tUsers: artifactory.PermissionTargetRepoActionsUserArray{\n\t\t\t\t\t\t\u0026artifactory.PermissionTargetRepoActionsUserArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"anonymous\"),\n\t\t\t\t\t\t\tPermissions: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"read\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"write\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026artifactory.PermissionTargetRepoActionsUserArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"user1\"),\n\t\t\t\t\t\t\tPermissions: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"read\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"write\"),\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\tGroups: artifactory.PermissionTargetRepoActionsGroupArray{\n\t\t\t\t\t\t\u0026artifactory.PermissionTargetRepoActionsGroupArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"readers\"),\n\t\t\t\t\t\t\tPermissions: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"read\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026artifactory.PermissionTargetRepoActionsGroupArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"dev\"),\n\t\t\t\t\t\t\tPermissions: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"read\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"write\"),\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\tBuild: \u0026artifactory.PermissionTargetBuildArgs{\n\t\t\t\tIncludesPatterns: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"**\"),\n\t\t\t\t},\n\t\t\t\tRepositories: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"artifactory-build-info\"),\n\t\t\t\t},\n\t\t\t\tActions: \u0026artifactory.PermissionTargetBuildActionsArgs{\n\t\t\t\t\tUsers: artifactory.PermissionTargetBuildActionsUserArray{\n\t\t\t\t\t\t\u0026artifactory.PermissionTargetBuildActionsUserArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"anonymous\"),\n\t\t\t\t\t\t\tPermissions: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"read\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026artifactory.PermissionTargetBuildActionsUserArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"user1\"),\n\t\t\t\t\t\t\tPermissions: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"read\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"write\"),\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\tReleaseBundle: \u0026artifactory.PermissionTargetReleaseBundleArgs{\n\t\t\t\tIncludesPatterns: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"**\"),\n\t\t\t\t},\n\t\t\t\tRepositories: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"release-bundles\"),\n\t\t\t\t},\n\t\t\t\tActions: \u0026artifactory.PermissionTargetReleaseBundleActionsArgs{\n\t\t\t\t\tUsers: artifactory.PermissionTargetReleaseBundleActionsUserArray{\n\t\t\t\t\t\t\u0026artifactory.PermissionTargetReleaseBundleActionsUserArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"anonymous\"),\n\t\t\t\t\t\t\tPermissions: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"read\"),\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})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\n# Create a new Artifactory permission target called testpermission\nresource \"artifactory_permissiontarget\" \"test-perm\" {\n  name = \"test-perm\"\n  repo = {\n    includes_patterns = [\"foo/**\"]\n    excludes_patterns = [\"bar/**\"]\n    repositories      = [\"example-repo-local\"]\n    actions = {\n      users = [{\n        \"name\"        = \"anonymous\"\n        \"permissions\" = [\"read\", \"write\"]\n        }, {\n        \"name\"        = \"user1\"\n        \"permissions\" = [\"read\", \"write\"]\n      }]\n      groups = [{\n        \"name\"        = \"readers\"\n        \"permissions\" = [\"read\"]\n        }, {\n        \"name\"        = \"dev\"\n        \"permissions\" = [\"read\", \"write\"]\n      }]\n    }\n  }\n  build = {\n    includes_patterns = [\"**\"]\n    repositories      = [\"artifactory-build-info\"]\n    actions = {\n      users = [{\n        \"name\"        = \"anonymous\"\n        \"permissions\" = [\"read\"]\n        }, {\n        \"name\"        = \"user1\"\n        \"permissions\" = [\"read\", \"write\"]\n      }]\n    }\n  }\n  release_bundle = {\n    includes_patterns = [\"**\"]\n    repositories      = [\"release-bundles\"]\n    actions = {\n      users = [{\n        \"name\"        = \"anonymous\"\n        \"permissions\" = [\"read\"]\n      }]\n    }\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.PermissionTarget;\nimport com.pulumi.artifactory.PermissionTargetArgs;\nimport com.pulumi.artifactory.inputs.PermissionTargetRepoArgs;\nimport com.pulumi.artifactory.inputs.PermissionTargetRepoActionsArgs;\nimport com.pulumi.artifactory.inputs.PermissionTargetBuildArgs;\nimport com.pulumi.artifactory.inputs.PermissionTargetBuildActionsArgs;\nimport com.pulumi.artifactory.inputs.PermissionTargetReleaseBundleArgs;\nimport com.pulumi.artifactory.inputs.PermissionTargetReleaseBundleActionsArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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        // Create a new Artifactory permission target called testpermission\n        var test_perm = new PermissionTarget(\"test-perm\", PermissionTargetArgs.builder()\n            .name(\"test-perm\")\n            .repo(PermissionTargetRepoArgs.builder()\n                .includesPatterns(\"foo/**\")\n                .excludesPatterns(\"bar/**\")\n                .repositories(\"example-repo-local\")\n                .actions(PermissionTargetRepoActionsArgs.builder()\n                    .users(                    \n                        PermissionTargetRepoActionsUserArgs.builder()\n                            .name(\"anonymous\")\n                            .permissions(                            \n                                \"read\",\n                                \"write\")\n                            .build(),\n                        PermissionTargetRepoActionsUserArgs.builder()\n                            .name(\"user1\")\n                            .permissions(                            \n                                \"read\",\n                                \"write\")\n                            .build())\n                    .groups(                    \n                        PermissionTargetRepoActionsGroupArgs.builder()\n                            .name(\"readers\")\n                            .permissions(\"read\")\n                            .build(),\n                        PermissionTargetRepoActionsGroupArgs.builder()\n                            .name(\"dev\")\n                            .permissions(                            \n                                \"read\",\n                                \"write\")\n                            .build())\n                    .build())\n                .build())\n            .build(PermissionTargetBuildArgs.builder()\n                .includesPatterns(\"**\")\n                .repositories(\"artifactory-build-info\")\n                .actions(PermissionTargetBuildActionsArgs.builder()\n                    .users(                    \n                        PermissionTargetBuildActionsUserArgs.builder()\n                            .name(\"anonymous\")\n                            .permissions(\"read\")\n                            .build(),\n                        PermissionTargetBuildActionsUserArgs.builder()\n                            .name(\"user1\")\n                            .permissions(                            \n                                \"read\",\n                                \"write\")\n                            .build())\n                    .build())\n                .build())\n            .releaseBundle(PermissionTargetReleaseBundleArgs.builder()\n                .includesPatterns(\"**\")\n                .repositories(\"release-bundles\")\n                .actions(PermissionTargetReleaseBundleActionsArgs.builder()\n                    .users(PermissionTargetReleaseBundleActionsUserArgs.builder()\n                        .name(\"anonymous\")\n                        .permissions(\"read\")\n                        .build())\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Create a new Artifactory permission target called testpermission\n  test-perm:\n    type: artifactory:PermissionTarget\n    properties:\n      name: test-perm\n      repo:\n        includesPatterns:\n          - foo/**\n        excludesPatterns:\n          - bar/**\n        repositories:\n          - example-repo-local\n        actions:\n          users:\n            - name: anonymous\n              permissions:\n                - read\n                - write\n            - name: user1\n              permissions:\n                - read\n                - write\n          groups:\n            - name: readers\n              permissions:\n                - read\n            - name: dev\n              permissions:\n                - read\n                - write\n      build:\n        includesPatterns:\n          - '**'\n        repositories:\n          - artifactory-build-info\n        actions:\n          users:\n            - name: anonymous\n              permissions:\n                - read\n            - name: user1\n              permissions:\n                - read\n                - write\n      releaseBundle:\n        includesPatterns:\n          - '**'\n        repositories:\n          - release-bundles\n        actions:\n          users:\n            - name: anonymous\n              permissions:\n                - read\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Permissions\n\nThe provider supports the following \u003cspan pulumi-lang-nodejs=\"`permission`\" pulumi-lang-dotnet=\"`Permission`\" pulumi-lang-go=\"`permission`\" pulumi-lang-python=\"`permission`\" pulumi-lang-yaml=\"`permission`\" pulumi-lang-java=\"`permission`\" pulumi-lang-hcl=\"`permission`\"\u003e`permission`\u003c/span\u003e enums:\n\n* \u003cspan pulumi-lang-nodejs=\"`read`\" pulumi-lang-dotnet=\"`Read`\" pulumi-lang-go=\"`read`\" pulumi-lang-python=\"`read`\" pulumi-lang-yaml=\"`read`\" pulumi-lang-java=\"`read`\" pulumi-lang-hcl=\"`read`\"\u003e`read`\u003c/span\u003e\n* \u003cspan pulumi-lang-nodejs=\"`write`\" pulumi-lang-dotnet=\"`Write`\" pulumi-lang-go=\"`write`\" pulumi-lang-python=\"`write`\" pulumi-lang-yaml=\"`write`\" pulumi-lang-java=\"`write`\" pulumi-lang-hcl=\"`write`\"\u003e`write`\u003c/span\u003e\n* \u003cspan pulumi-lang-nodejs=\"`annotate`\" pulumi-lang-dotnet=\"`Annotate`\" pulumi-lang-go=\"`annotate`\" pulumi-lang-python=\"`annotate`\" pulumi-lang-yaml=\"`annotate`\" pulumi-lang-java=\"`annotate`\" pulumi-lang-hcl=\"`annotate`\"\u003e`annotate`\u003c/span\u003e\n* \u003cspan pulumi-lang-nodejs=\"`delete`\" pulumi-lang-dotnet=\"`Delete`\" pulumi-lang-go=\"`delete`\" pulumi-lang-python=\"`delete`\" pulumi-lang-yaml=\"`delete`\" pulumi-lang-java=\"`delete`\" pulumi-lang-hcl=\"`delete`\"\u003e`delete`\u003c/span\u003e\n* \u003cspan pulumi-lang-nodejs=\"`manage`\" pulumi-lang-dotnet=\"`Manage`\" pulumi-lang-go=\"`manage`\" pulumi-lang-python=\"`manage`\" pulumi-lang-yaml=\"`manage`\" pulumi-lang-java=\"`manage`\" pulumi-lang-hcl=\"`manage`\"\u003e`manage`\u003c/span\u003e\n* `managedXrayMeta`\n* \u003cspan pulumi-lang-nodejs=\"`distribute`\" pulumi-lang-dotnet=\"`Distribute`\" pulumi-lang-go=\"`distribute`\" pulumi-lang-python=\"`distribute`\" pulumi-lang-yaml=\"`distribute`\" pulumi-lang-java=\"`distribute`\" pulumi-lang-hcl=\"`distribute`\"\u003e`distribute`\u003c/span\u003e\n\nThe values can be mapped to the permissions from the official [documentation](https://www.jfrog.com/confluence/display/JFROG/Permissions):\n\n* \u003cspan pulumi-lang-nodejs=\"`read`\" pulumi-lang-dotnet=\"`Read`\" pulumi-lang-go=\"`read`\" pulumi-lang-python=\"`read`\" pulumi-lang-yaml=\"`read`\" pulumi-lang-java=\"`read`\" pulumi-lang-hcl=\"`read`\"\u003e`read`\u003c/span\u003e - matches `Read` permissions.\n* \u003cspan pulumi-lang-nodejs=\"`write`\" pulumi-lang-dotnet=\"`Write`\" pulumi-lang-go=\"`write`\" pulumi-lang-python=\"`write`\" pulumi-lang-yaml=\"`write`\" pulumi-lang-java=\"`write`\" pulumi-lang-hcl=\"`write`\"\u003e`write`\u003c/span\u003e - matches ` Deploy / Cache / Create` permissions.\n* \u003cspan pulumi-lang-nodejs=\"`annotate`\" pulumi-lang-dotnet=\"`Annotate`\" pulumi-lang-go=\"`annotate`\" pulumi-lang-python=\"`annotate`\" pulumi-lang-yaml=\"`annotate`\" pulumi-lang-java=\"`annotate`\" pulumi-lang-hcl=\"`annotate`\"\u003e`annotate`\u003c/span\u003e - matches `Annotate` permissions.\n* \u003cspan pulumi-lang-nodejs=\"`delete`\" pulumi-lang-dotnet=\"`Delete`\" pulumi-lang-go=\"`delete`\" pulumi-lang-python=\"`delete`\" pulumi-lang-yaml=\"`delete`\" pulumi-lang-java=\"`delete`\" pulumi-lang-hcl=\"`delete`\"\u003e`delete`\u003c/span\u003e - matches `Delete / Overwrite` permissions.\n* \u003cspan pulumi-lang-nodejs=\"`manage`\" pulumi-lang-dotnet=\"`Manage`\" pulumi-lang-go=\"`manage`\" pulumi-lang-python=\"`manage`\" pulumi-lang-yaml=\"`manage`\" pulumi-lang-java=\"`manage`\" pulumi-lang-hcl=\"`manage`\"\u003e`manage`\u003c/span\u003e - matches `Manage` permissions.\n* `managedXrayMeta` - matches `Manage Xray Metadata` permissions.\n* \u003cspan pulumi-lang-nodejs=\"`distribute`\" pulumi-lang-dotnet=\"`Distribute`\" pulumi-lang-go=\"`distribute`\" pulumi-lang-python=\"`distribute`\" pulumi-lang-yaml=\"`distribute`\" pulumi-lang-java=\"`distribute`\" pulumi-lang-hcl=\"`distribute`\"\u003e`distribute`\u003c/span\u003e - matches `Distribute` permissions.\n\n## Import\n\nPermission targets can be imported using their name, e.g.\n\n```sh\n$ pulumi import artifactory:index/permissionTarget:PermissionTarget terraform-test-permission mypermission\n```\n\n",
            "properties": {
                "build": {
                    "$ref": "#/types/artifactory:index/PermissionTargetBuild:PermissionTargetBuild",
                    "description": "As for repo but for artifactory-build-info permissions.\n"
                },
                "name": {
                    "type": "string",
                    "description": "Name of permission.\n"
                },
                "releaseBundle": {
                    "$ref": "#/types/artifactory:index/PermissionTargetReleaseBundle:PermissionTargetReleaseBundle",
                    "description": "As for repo for for release-bundles permissions.\n"
                },
                "repo": {
                    "$ref": "#/types/artifactory:index/PermissionTargetRepo:PermissionTargetRepo",
                    "description": "Repository permission configuration.\n"
                }
            },
            "required": [
                "name"
            ],
            "inputProperties": {
                "build": {
                    "$ref": "#/types/artifactory:index/PermissionTargetBuild:PermissionTargetBuild",
                    "description": "As for repo but for artifactory-build-info permissions.\n"
                },
                "name": {
                    "type": "string",
                    "description": "Name of permission.\n",
                    "willReplaceOnChanges": true
                },
                "releaseBundle": {
                    "$ref": "#/types/artifactory:index/PermissionTargetReleaseBundle:PermissionTargetReleaseBundle",
                    "description": "As for repo for for release-bundles permissions.\n"
                },
                "repo": {
                    "$ref": "#/types/artifactory:index/PermissionTargetRepo:PermissionTargetRepo",
                    "description": "Repository permission configuration.\n"
                }
            },
            "stateInputs": {
                "description": "Input properties used for looking up and filtering PermissionTarget resources.\n",
                "properties": {
                    "build": {
                        "$ref": "#/types/artifactory:index/PermissionTargetBuild:PermissionTargetBuild",
                        "description": "As for repo but for artifactory-build-info permissions.\n"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of permission.\n",
                        "willReplaceOnChanges": true
                    },
                    "releaseBundle": {
                        "$ref": "#/types/artifactory:index/PermissionTargetReleaseBundle:PermissionTargetReleaseBundle",
                        "description": "As for repo for for release-bundles permissions.\n"
                    },
                    "repo": {
                        "$ref": "#/types/artifactory:index/PermissionTargetRepo:PermissionTargetRepo",
                        "description": "Repository permission configuration.\n"
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/propertySet:PropertySet": {
            "description": "Provides an Artifactory Property Set resource.\nThis resource configuration corresponds to 'propertySets' config block in system configuration XML\n(REST endpoint: artifactory/api/system/configuration).\n\n~\u003eThe \u003cspan pulumi-lang-nodejs=\"`artifactory.PropertySet`\" pulumi-lang-dotnet=\"`artifactory.PropertySet`\" pulumi-lang-go=\"`PropertySet`\" pulumi-lang-python=\"`PropertySet`\" pulumi-lang-yaml=\"`artifactory.PropertySet`\" pulumi-lang-java=\"`artifactory.PropertySet`\" pulumi-lang-hcl=\"`artifactory_property_set`\"\u003e`artifactory.PropertySet`\u003c/span\u003e resource utilizes endpoints which are blocked/removed in SaaS environments (i.e. in Artifactory online), rendering this resource incompatible with Artifactory SaaS environments.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst foo = new artifactory.PropertySet(\"foo\", {\n    name: \"property-set1\",\n    visible: true,\n    properties: [\n        {\n            name: \"set1property1\",\n            predefinedValues: [\n                {\n                    name: \"passed-QA\",\n                    defaultValue: true,\n                },\n                {\n                    name: \"failed-QA\",\n                    defaultValue: false,\n                },\n            ],\n            closedPredefinedValues: true,\n            multipleChoice: true,\n        },\n        {\n            name: \"set1property2\",\n            predefinedValues: [\n                {\n                    name: \"passed-QA\",\n                    defaultValue: true,\n                },\n                {\n                    name: \"failed-QA\",\n                    defaultValue: false,\n                },\n            ],\n            closedPredefinedValues: false,\n            multipleChoice: false,\n        },\n        {\n            name: \"set1property3\",\n            closedPredefinedValues: false,\n            multipleChoice: false,\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nfoo = artifactory.PropertySet(\"foo\",\n    name=\"property-set1\",\n    visible=True,\n    properties=[\n        {\n            \"name\": \"set1property1\",\n            \"predefined_values\": [\n                {\n                    \"name\": \"passed-QA\",\n                    \"default_value\": True,\n                },\n                {\n                    \"name\": \"failed-QA\",\n                    \"default_value\": False,\n                },\n            ],\n            \"closed_predefined_values\": True,\n            \"multiple_choice\": True,\n        },\n        {\n            \"name\": \"set1property2\",\n            \"predefined_values\": [\n                {\n                    \"name\": \"passed-QA\",\n                    \"default_value\": True,\n                },\n                {\n                    \"name\": \"failed-QA\",\n                    \"default_value\": False,\n                },\n            ],\n            \"closed_predefined_values\": False,\n            \"multiple_choice\": False,\n        },\n        {\n            \"name\": \"set1property3\",\n            \"closed_predefined_values\": False,\n            \"multiple_choice\": False,\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var foo = new Artifactory.PropertySet(\"foo\", new()\n    {\n        Name = \"property-set1\",\n        Visible = true,\n        Properties = new[]\n        {\n            new Artifactory.Inputs.PropertySetPropertyArgs\n            {\n                Name = \"set1property1\",\n                PredefinedValues = new[]\n                {\n                    new Artifactory.Inputs.PropertySetPropertyPredefinedValueArgs\n                    {\n                        Name = \"passed-QA\",\n                        DefaultValue = true,\n                    },\n                    new Artifactory.Inputs.PropertySetPropertyPredefinedValueArgs\n                    {\n                        Name = \"failed-QA\",\n                        DefaultValue = false,\n                    },\n                },\n                ClosedPredefinedValues = true,\n                MultipleChoice = true,\n            },\n            new Artifactory.Inputs.PropertySetPropertyArgs\n            {\n                Name = \"set1property2\",\n                PredefinedValues = new[]\n                {\n                    new Artifactory.Inputs.PropertySetPropertyPredefinedValueArgs\n                    {\n                        Name = \"passed-QA\",\n                        DefaultValue = true,\n                    },\n                    new Artifactory.Inputs.PropertySetPropertyPredefinedValueArgs\n                    {\n                        Name = \"failed-QA\",\n                        DefaultValue = false,\n                    },\n                },\n                ClosedPredefinedValues = false,\n                MultipleChoice = false,\n            },\n            new Artifactory.Inputs.PropertySetPropertyArgs\n            {\n                Name = \"set1property3\",\n                ClosedPredefinedValues = false,\n                MultipleChoice = false,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewPropertySet(ctx, \"foo\", \u0026artifactory.PropertySetArgs{\n\t\t\tName:    pulumi.String(\"property-set1\"),\n\t\t\tVisible: pulumi.Bool(true),\n\t\t\tProperties: artifactory.PropertySetPropertyArray{\n\t\t\t\t\u0026artifactory.PropertySetPropertyArgs{\n\t\t\t\t\tName: pulumi.String(\"set1property1\"),\n\t\t\t\t\tPredefinedValues: artifactory.PropertySetPropertyPredefinedValueArray{\n\t\t\t\t\t\t\u0026artifactory.PropertySetPropertyPredefinedValueArgs{\n\t\t\t\t\t\t\tName:         pulumi.String(\"passed-QA\"),\n\t\t\t\t\t\t\tDefaultValue: pulumi.Bool(true),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026artifactory.PropertySetPropertyPredefinedValueArgs{\n\t\t\t\t\t\t\tName:         pulumi.String(\"failed-QA\"),\n\t\t\t\t\t\t\tDefaultValue: pulumi.Bool(false),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tClosedPredefinedValues: pulumi.Bool(true),\n\t\t\t\t\tMultipleChoice:         pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\t\u0026artifactory.PropertySetPropertyArgs{\n\t\t\t\t\tName: pulumi.String(\"set1property2\"),\n\t\t\t\t\tPredefinedValues: artifactory.PropertySetPropertyPredefinedValueArray{\n\t\t\t\t\t\t\u0026artifactory.PropertySetPropertyPredefinedValueArgs{\n\t\t\t\t\t\t\tName:         pulumi.String(\"passed-QA\"),\n\t\t\t\t\t\t\tDefaultValue: pulumi.Bool(true),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026artifactory.PropertySetPropertyPredefinedValueArgs{\n\t\t\t\t\t\t\tName:         pulumi.String(\"failed-QA\"),\n\t\t\t\t\t\t\tDefaultValue: pulumi.Bool(false),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tClosedPredefinedValues: pulumi.Bool(false),\n\t\t\t\t\tMultipleChoice:         pulumi.Bool(false),\n\t\t\t\t},\n\t\t\t\t\u0026artifactory.PropertySetPropertyArgs{\n\t\t\t\t\tName:                   pulumi.String(\"set1property3\"),\n\t\t\t\t\tClosedPredefinedValues: pulumi.Bool(false),\n\t\t\t\t\tMultipleChoice:         pulumi.Bool(false),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_propertyset\" \"foo\" {\n  name    = \"property-set1\"\n  visible = true\n  properties {\n    name = \"set1property1\"\n    predefined_values {\n      name          = \"passed-QA\"\n      default_value = true\n    }\n    predefined_values {\n      name          = \"failed-QA\"\n      default_value = false\n    }\n    closed_predefined_values = true\n    multiple_choice          = true\n  }\n  properties {\n    name = \"set1property2\"\n    predefined_values {\n      name          = \"passed-QA\"\n      default_value = true\n    }\n    predefined_values {\n      name          = \"failed-QA\"\n      default_value = false\n    }\n    closed_predefined_values = false\n    multiple_choice          = false\n  }\n  properties {\n    name                     = \"set1property3\"\n    closed_predefined_values = false\n    multiple_choice          = false\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.PropertySet;\nimport com.pulumi.artifactory.PropertySetArgs;\nimport com.pulumi.artifactory.inputs.PropertySetPropertyArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 foo = new PropertySet(\"foo\", PropertySetArgs.builder()\n            .name(\"property-set1\")\n            .visible(true)\n            .properties(            \n                PropertySetPropertyArgs.builder()\n                    .name(\"set1property1\")\n                    .predefinedValues(                    \n                        PropertySetPropertyPredefinedValueArgs.builder()\n                            .name(\"passed-QA\")\n                            .defaultValue(true)\n                            .build(),\n                        PropertySetPropertyPredefinedValueArgs.builder()\n                            .name(\"failed-QA\")\n                            .defaultValue(false)\n                            .build())\n                    .closedPredefinedValues(true)\n                    .multipleChoice(true)\n                    .build(),\n                PropertySetPropertyArgs.builder()\n                    .name(\"set1property2\")\n                    .predefinedValues(                    \n                        PropertySetPropertyPredefinedValueArgs.builder()\n                            .name(\"passed-QA\")\n                            .defaultValue(true)\n                            .build(),\n                        PropertySetPropertyPredefinedValueArgs.builder()\n                            .name(\"failed-QA\")\n                            .defaultValue(false)\n                            .build())\n                    .closedPredefinedValues(false)\n                    .multipleChoice(false)\n                    .build(),\n                PropertySetPropertyArgs.builder()\n                    .name(\"set1property3\")\n                    .closedPredefinedValues(false)\n                    .multipleChoice(false)\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  foo:\n    type: artifactory:PropertySet\n    properties:\n      name: property-set1\n      visible: true\n      properties:\n        - name: set1property1\n          predefinedValues:\n            - name: passed-QA\n              defaultValue: true\n            - name: failed-QA\n              defaultValue: false\n          closedPredefinedValues: true\n          multipleChoice: true\n        - name: set1property2\n          predefinedValues:\n            - name: passed-QA\n              defaultValue: true\n            - name: failed-QA\n              defaultValue: false\n          closedPredefinedValues: false\n          multipleChoice: false\n        - name: set1property3\n          closedPredefinedValues: false\n          multipleChoice: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCurrent Property Set can be imported using `property-set1` as the `ID`, e.g.\n\n```sh\n$ pulumi import artifactory:index/propertySet:PropertySet foo property-set1\n```\n\n",
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Property set name.\n"
                },
                "properties": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/PropertySetProperty:PropertySetProperty"
                    },
                    "description": "A list of properties that will be part of the property set.\n"
                },
                "visible": {
                    "type": "boolean",
                    "description": "Defines if the list visible and assignable to the repository or artifact. Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                }
            },
            "required": [
                "name",
                "properties",
                "visible"
            ],
            "inputProperties": {
                "name": {
                    "type": "string",
                    "description": "Property set name.\n"
                },
                "properties": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/PropertySetProperty:PropertySetProperty"
                    },
                    "description": "A list of properties that will be part of the property set.\n"
                },
                "visible": {
                    "type": "boolean",
                    "description": "Defines if the list visible and assignable to the repository or artifact. Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                }
            },
            "requiredInputs": [
                "properties"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering PropertySet resources.\n",
                "properties": {
                    "name": {
                        "type": "string",
                        "description": "Property set name.\n"
                    },
                    "properties": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/artifactory:index/PropertySetProperty:PropertySetProperty"
                        },
                        "description": "A list of properties that will be part of the property set.\n"
                    },
                    "visible": {
                        "type": "boolean",
                        "description": "Defines if the list visible and assignable to the repository or artifact. Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/proxy:Proxy": {
            "description": "Provides an Artifactory Proxy resource.\n\nThis resource configuration corresponds to 'proxies' config block in system configuration XML\n(REST endpoint: [artifactory/api/system/configuration](https://www.jfrog.com/confluence/display/JFROG/Artifactory+REST+API#ArtifactoryRESTAPI-GeneralConfiguration)).\n\n~\u003eThe \u003cspan pulumi-lang-nodejs=\"`artifactory.Proxy`\" pulumi-lang-dotnet=\"`artifactory.Proxy`\" pulumi-lang-go=\"`Proxy`\" pulumi-lang-python=\"`Proxy`\" pulumi-lang-yaml=\"`artifactory.Proxy`\" pulumi-lang-java=\"`artifactory.Proxy`\" pulumi-lang-hcl=\"`artifactory_proxy`\"\u003e`artifactory.Proxy`\u003c/span\u003e resource utilizes endpoints which are blocked/removed in SaaS environments (i.e. in Artifactory online), rendering this resource incompatible with Artifactory SaaS environments.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst my_proxy = new artifactory.Proxy(\"my-proxy\", {\n    key: \"my-proxy\",\n    host: \"my-proxy.mycompany.com\",\n    port: 8888,\n    username: \"user1\",\n    password: \"password\",\n    ntHost: \"MYCOMPANY.COM\",\n    ntDomain: \"MYCOMPANY\",\n    platformDefault: false,\n    redirectToHosts: [\"redirec-host.mycompany.com\"],\n    services: [\n        \"jfrt\",\n        \"jfxr\",\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nmy_proxy = artifactory.Proxy(\"my-proxy\",\n    key=\"my-proxy\",\n    host=\"my-proxy.mycompany.com\",\n    port=8888,\n    username=\"user1\",\n    password=\"password\",\n    nt_host=\"MYCOMPANY.COM\",\n    nt_domain=\"MYCOMPANY\",\n    platform_default=False,\n    redirect_to_hosts=[\"redirec-host.mycompany.com\"],\n    services=[\n        \"jfrt\",\n        \"jfxr\",\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var my_proxy = new Artifactory.Proxy(\"my-proxy\", new()\n    {\n        Key = \"my-proxy\",\n        Host = \"my-proxy.mycompany.com\",\n        Port = 8888,\n        Username = \"user1\",\n        Password = \"password\",\n        NtHost = \"MYCOMPANY.COM\",\n        NtDomain = \"MYCOMPANY\",\n        PlatformDefault = false,\n        RedirectToHosts = new[]\n        {\n            \"redirec-host.mycompany.com\",\n        },\n        Services = new[]\n        {\n            \"jfrt\",\n            \"jfxr\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewProxy(ctx, \"my-proxy\", \u0026artifactory.ProxyArgs{\n\t\t\tKey:             pulumi.String(\"my-proxy\"),\n\t\t\tHost:            pulumi.String(\"my-proxy.mycompany.com\"),\n\t\t\tPort:            pulumi.Int(8888),\n\t\t\tUsername:        pulumi.String(\"user1\"),\n\t\t\tPassword:        pulumi.String(\"password\"),\n\t\t\tNtHost:          pulumi.String(\"MYCOMPANY.COM\"),\n\t\t\tNtDomain:        pulumi.String(\"MYCOMPANY\"),\n\t\t\tPlatformDefault: pulumi.Bool(false),\n\t\t\tRedirectToHosts: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"redirec-host.mycompany.com\"),\n\t\t\t},\n\t\t\tServices: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"jfrt\"),\n\t\t\t\tpulumi.String(\"jfxr\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_proxy\" \"my-proxy\" {\n  key               = \"my-proxy\"\n  host              = \"my-proxy.mycompany.com\"\n  port              = 8888\n  username          = \"user1\"\n  password          = \"password\"\n  nt_host           = \"MYCOMPANY.COM\"\n  nt_domain         = \"MYCOMPANY\"\n  platform_default  = false\n  redirect_to_hosts = [\"redirec-host.mycompany.com\"]\n  services          = [\"jfrt\", \"jfxr\"]\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.Proxy;\nimport com.pulumi.artifactory.ProxyArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 my_proxy = new Proxy(\"my-proxy\", ProxyArgs.builder()\n            .key(\"my-proxy\")\n            .host(\"my-proxy.mycompany.com\")\n            .port(8888)\n            .username(\"user1\")\n            .password(\"password\")\n            .ntHost(\"MYCOMPANY.COM\")\n            .ntDomain(\"MYCOMPANY\")\n            .platformDefault(false)\n            .redirectToHosts(\"redirec-host.mycompany.com\")\n            .services(            \n                \"jfrt\",\n                \"jfxr\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  my-proxy:\n    type: artifactory:Proxy\n    properties:\n      key: my-proxy\n      host: my-proxy.mycompany.com\n      port: 8888\n      username: user1\n      password: password\n      ntHost: MYCOMPANY.COM\n      ntDomain: MYCOMPANY\n      platformDefault: false\n      redirectToHosts:\n        - redirec-host.mycompany.com\n      services:\n        - jfrt\n        - jfxr\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCurrent Proxy can be imported using `proxy-key` from Artifactory as the `ID`, e.g.\n\n```sh\n$ pulumi import artifactory:index/proxy:Proxy my-proxy proxy-key\n```\n\n",
            "properties": {
                "host": {
                    "type": "string",
                    "description": "The name of the proxy host.\n"
                },
                "key": {
                    "type": "string",
                    "description": "The unique ID of the proxy.\n"
                },
                "ntDomain": {
                    "type": "string",
                    "description": "The proxy domain/realm name.\n"
                },
                "ntHost": {
                    "type": "string",
                    "description": "The computer name of the machine (the machine connecting to the NTLM proxy).\n"
                },
                "password": {
                    "type": "string",
                    "description": "The proxy password when authentication credentials are required.\n",
                    "secret": true
                },
                "platformDefault": {
                    "type": "boolean",
                    "description": "When set, this proxy will be the default proxy for new remote repositories and for internal HTTP requests issued by Artifactory. Will also be used as proxy for all other services in the platform (for example: Xray, Distribution, etc).\n"
                },
                "port": {
                    "type": "integer",
                    "description": "The proxy port number.\n"
                },
                "redirectToHosts": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "An optional list of host names to which this proxy may redirect requests. The credentials defined for the proxy are reused by requests redirected to all of these hosts.\n"
                },
                "services": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "An optional list of services names to which this proxy be the default of. The options are \u003cspan pulumi-lang-nodejs=\"`jfrt`\" pulumi-lang-dotnet=\"`Jfrt`\" pulumi-lang-go=\"`jfrt`\" pulumi-lang-python=\"`jfrt`\" pulumi-lang-yaml=\"`jfrt`\" pulumi-lang-java=\"`jfrt`\" pulumi-lang-hcl=\"`jfrt`\"\u003e`jfrt`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`jfmc`\" pulumi-lang-dotnet=\"`Jfmc`\" pulumi-lang-go=\"`jfmc`\" pulumi-lang-python=\"`jfmc`\" pulumi-lang-yaml=\"`jfmc`\" pulumi-lang-java=\"`jfmc`\" pulumi-lang-hcl=\"`jfmc`\"\u003e`jfmc`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`jfxr`\" pulumi-lang-dotnet=\"`Jfxr`\" pulumi-lang-go=\"`jfxr`\" pulumi-lang-python=\"`jfxr`\" pulumi-lang-yaml=\"`jfxr`\" pulumi-lang-java=\"`jfxr`\" pulumi-lang-hcl=\"`jfxr`\"\u003e`jfxr`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`jfds`\" pulumi-lang-dotnet=\"`Jfds`\" pulumi-lang-go=\"`jfds`\" pulumi-lang-python=\"`jfds`\" pulumi-lang-yaml=\"`jfds`\" pulumi-lang-java=\"`jfds`\" pulumi-lang-hcl=\"`jfds`\"\u003e`jfds`\u003c/span\u003e.\n"
                },
                "username": {
                    "type": "string",
                    "description": "The proxy username when authentication credentials are required.\n"
                }
            },
            "required": [
                "host",
                "key",
                "ntDomain",
                "ntHost",
                "platformDefault",
                "port",
                "username"
            ],
            "inputProperties": {
                "host": {
                    "type": "string",
                    "description": "The name of the proxy host.\n"
                },
                "key": {
                    "type": "string",
                    "description": "The unique ID of the proxy.\n"
                },
                "ntDomain": {
                    "type": "string",
                    "description": "The proxy domain/realm name.\n"
                },
                "ntHost": {
                    "type": "string",
                    "description": "The computer name of the machine (the machine connecting to the NTLM proxy).\n"
                },
                "password": {
                    "type": "string",
                    "description": "The proxy password when authentication credentials are required.\n",
                    "secret": true
                },
                "platformDefault": {
                    "type": "boolean",
                    "description": "When set, this proxy will be the default proxy for new remote repositories and for internal HTTP requests issued by Artifactory. Will also be used as proxy for all other services in the platform (for example: Xray, Distribution, etc).\n"
                },
                "port": {
                    "type": "integer",
                    "description": "The proxy port number.\n"
                },
                "redirectToHosts": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "An optional list of host names to which this proxy may redirect requests. The credentials defined for the proxy are reused by requests redirected to all of these hosts.\n"
                },
                "services": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "An optional list of services names to which this proxy be the default of. The options are \u003cspan pulumi-lang-nodejs=\"`jfrt`\" pulumi-lang-dotnet=\"`Jfrt`\" pulumi-lang-go=\"`jfrt`\" pulumi-lang-python=\"`jfrt`\" pulumi-lang-yaml=\"`jfrt`\" pulumi-lang-java=\"`jfrt`\" pulumi-lang-hcl=\"`jfrt`\"\u003e`jfrt`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`jfmc`\" pulumi-lang-dotnet=\"`Jfmc`\" pulumi-lang-go=\"`jfmc`\" pulumi-lang-python=\"`jfmc`\" pulumi-lang-yaml=\"`jfmc`\" pulumi-lang-java=\"`jfmc`\" pulumi-lang-hcl=\"`jfmc`\"\u003e`jfmc`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`jfxr`\" pulumi-lang-dotnet=\"`Jfxr`\" pulumi-lang-go=\"`jfxr`\" pulumi-lang-python=\"`jfxr`\" pulumi-lang-yaml=\"`jfxr`\" pulumi-lang-java=\"`jfxr`\" pulumi-lang-hcl=\"`jfxr`\"\u003e`jfxr`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`jfds`\" pulumi-lang-dotnet=\"`Jfds`\" pulumi-lang-go=\"`jfds`\" pulumi-lang-python=\"`jfds`\" pulumi-lang-yaml=\"`jfds`\" pulumi-lang-java=\"`jfds`\" pulumi-lang-hcl=\"`jfds`\"\u003e`jfds`\u003c/span\u003e.\n"
                },
                "username": {
                    "type": "string",
                    "description": "The proxy username when authentication credentials are required.\n"
                }
            },
            "requiredInputs": [
                "host",
                "key",
                "port"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering Proxy resources.\n",
                "properties": {
                    "host": {
                        "type": "string",
                        "description": "The name of the proxy host.\n"
                    },
                    "key": {
                        "type": "string",
                        "description": "The unique ID of the proxy.\n"
                    },
                    "ntDomain": {
                        "type": "string",
                        "description": "The proxy domain/realm name.\n"
                    },
                    "ntHost": {
                        "type": "string",
                        "description": "The computer name of the machine (the machine connecting to the NTLM proxy).\n"
                    },
                    "password": {
                        "type": "string",
                        "description": "The proxy password when authentication credentials are required.\n",
                        "secret": true
                    },
                    "platformDefault": {
                        "type": "boolean",
                        "description": "When set, this proxy will be the default proxy for new remote repositories and for internal HTTP requests issued by Artifactory. Will also be used as proxy for all other services in the platform (for example: Xray, Distribution, etc).\n"
                    },
                    "port": {
                        "type": "integer",
                        "description": "The proxy port number.\n"
                    },
                    "redirectToHosts": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "An optional list of host names to which this proxy may redirect requests. The credentials defined for the proxy are reused by requests redirected to all of these hosts.\n"
                    },
                    "services": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "An optional list of services names to which this proxy be the default of. The options are \u003cspan pulumi-lang-nodejs=\"`jfrt`\" pulumi-lang-dotnet=\"`Jfrt`\" pulumi-lang-go=\"`jfrt`\" pulumi-lang-python=\"`jfrt`\" pulumi-lang-yaml=\"`jfrt`\" pulumi-lang-java=\"`jfrt`\" pulumi-lang-hcl=\"`jfrt`\"\u003e`jfrt`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`jfmc`\" pulumi-lang-dotnet=\"`Jfmc`\" pulumi-lang-go=\"`jfmc`\" pulumi-lang-python=\"`jfmc`\" pulumi-lang-yaml=\"`jfmc`\" pulumi-lang-java=\"`jfmc`\" pulumi-lang-hcl=\"`jfmc`\"\u003e`jfmc`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`jfxr`\" pulumi-lang-dotnet=\"`Jfxr`\" pulumi-lang-go=\"`jfxr`\" pulumi-lang-python=\"`jfxr`\" pulumi-lang-yaml=\"`jfxr`\" pulumi-lang-java=\"`jfxr`\" pulumi-lang-hcl=\"`jfxr`\"\u003e`jfxr`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`jfds`\" pulumi-lang-dotnet=\"`Jfds`\" pulumi-lang-go=\"`jfds`\" pulumi-lang-python=\"`jfds`\" pulumi-lang-yaml=\"`jfds`\" pulumi-lang-java=\"`jfds`\" pulumi-lang-hcl=\"`jfds`\"\u003e`jfds`\u003c/span\u003e.\n"
                    },
                    "username": {
                        "type": "string",
                        "description": "The proxy username when authentication credentials are required.\n"
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/pullReplication:PullReplication": {
            "description": "\u003e This resource is deprecated and replaced by \u003cspan pulumi-lang-nodejs=\"`artifactory.RemoteRepositoryReplication`\" pulumi-lang-dotnet=\"`artifactory.RemoteRepositoryReplication`\" pulumi-lang-go=\"`RemoteRepositoryReplication`\" pulumi-lang-python=\"`RemoteRepositoryReplication`\" pulumi-lang-yaml=\"`artifactory.RemoteRepositoryReplication`\" pulumi-lang-java=\"`artifactory.RemoteRepositoryReplication`\" pulumi-lang-hcl=\"`artifactory_remote_repository_replication`\"\u003e`artifactory.RemoteRepositoryReplication`\u003c/span\u003e for clarity.\n\nProvides an Artifactory pull replication resource. This can be used to create and manage pull replication in Artifactory for a local or remote repo. Pull replication provides a convenient way to proactively populate a remote cache, and is very useful when waiting for new artifacts to arrive on demand (when first requested) is not desirable due to network latency.\n\nSee the [Official Documentation](https://www.jfrog.com/confluence/display/JFROG/Repository+Replication#RepositoryReplication-PullReplication).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\n// Create a replication between two artifactory local repositories\nconst providerTestSource = new artifactory.LocalMavenRepository(\"provider_test_source\", {key: \"provider_test_source\"});\nconst providerTestDest = new artifactory.RemoteMavenRepository(\"provider_test_dest\", {\n    key: \"provider_test_dest\",\n    url: `https://example.com/artifactory/${artifactoryLocalMavenRepository.key}`,\n    username: \"foo\",\n    password: \"bar\",\n});\nconst remote_rep = new artifactory.PullReplication(\"remote-rep\", {\n    repoKey: providerTestDest.key,\n    cronExp: \"0 0 * * * ?\",\n    enableEventReplication: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\n# Create a replication between two artifactory local repositories\nprovider_test_source = artifactory.LocalMavenRepository(\"provider_test_source\", key=\"provider_test_source\")\nprovider_test_dest = artifactory.RemoteMavenRepository(\"provider_test_dest\",\n    key=\"provider_test_dest\",\n    url=f\"https://example.com/artifactory/{artifactory_local_maven_repository['key']}\",\n    username=\"foo\",\n    password=\"bar\")\nremote_rep = artifactory.PullReplication(\"remote-rep\",\n    repo_key=provider_test_dest.key,\n    cron_exp=\"0 0 * * * ?\",\n    enable_event_replication=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Create a replication between two artifactory local repositories\n    var providerTestSource = new Artifactory.LocalMavenRepository(\"provider_test_source\", new()\n    {\n        Key = \"provider_test_source\",\n    });\n\n    var providerTestDest = new Artifactory.RemoteMavenRepository(\"provider_test_dest\", new()\n    {\n        Key = \"provider_test_dest\",\n        Url = $\"https://example.com/artifactory/{artifactoryLocalMavenRepository.Key}\",\n        Username = \"foo\",\n        Password = \"bar\",\n    });\n\n    var remote_rep = new Artifactory.PullReplication(\"remote-rep\", new()\n    {\n        RepoKey = providerTestDest.Key,\n        CronExp = \"0 0 * * * ?\",\n        EnableEventReplication = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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// Create a replication between two artifactory local repositories\n\t\t_, err := artifactory.NewLocalMavenRepository(ctx, \"provider_test_source\", \u0026artifactory.LocalMavenRepositoryArgs{\n\t\t\tKey: pulumi.String(\"provider_test_source\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tproviderTestDest, err := artifactory.NewRemoteMavenRepository(ctx, \"provider_test_dest\", \u0026artifactory.RemoteMavenRepositoryArgs{\n\t\t\tKey:      pulumi.String(\"provider_test_dest\"),\n\t\t\tUrl:      pulumi.Sprintf(\"https://example.com/artifactory/%v\", artifactoryLocalMavenRepository.Key),\n\t\t\tUsername: pulumi.String(\"foo\"),\n\t\t\tPassword: pulumi.String(\"bar\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = artifactory.NewPullReplication(ctx, \"remote-rep\", \u0026artifactory.PullReplicationArgs{\n\t\t\tRepoKey:                providerTestDest.Key,\n\t\t\tCronExp:                pulumi.String(\"0 0 * * * ?\"),\n\t\t\tEnableEventReplication: 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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\n# Create a replication between two artifactory local repositories\nresource \"artifactory_localmavenrepository\" \"provider_test_source\" {\n  key = \"provider_test_source\"\n}\nresource \"artifactory_remotemavenrepository\" \"provider_test_dest\" {\n  key      = \"provider_test_dest\"\n  url      =\"https://example.com/artifactory/${artifactoryLocalMavenRepository.key}\"\n  username = \"foo\"\n  password = \"bar\"\n}\nresource \"artifactory_pullreplication\" \"remote-rep\" {\n  repo_key                 = artifactory_remotemavenrepository.provider_test_dest.key\n  cron_exp                 = \"0 0 * * * ?\"\n  enable_event_replication = true\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.LocalMavenRepository;\nimport com.pulumi.artifactory.LocalMavenRepositoryArgs;\nimport com.pulumi.artifactory.RemoteMavenRepository;\nimport com.pulumi.artifactory.RemoteMavenRepositoryArgs;\nimport com.pulumi.artifactory.PullReplication;\nimport com.pulumi.artifactory.PullReplicationArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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        // Create a replication between two artifactory local repositories\n        var providerTestSource = new LocalMavenRepository(\"providerTestSource\", LocalMavenRepositoryArgs.builder()\n            .key(\"provider_test_source\")\n            .build());\n\n        var providerTestDest = new RemoteMavenRepository(\"providerTestDest\", RemoteMavenRepositoryArgs.builder()\n            .key(\"provider_test_dest\")\n            .url(String.format(\"https://example.com/artifactory/%s\", artifactoryLocalMavenRepository.key()))\n            .username(\"foo\")\n            .password(\"bar\")\n            .build());\n\n        var remote_rep = new PullReplication(\"remote-rep\", PullReplicationArgs.builder()\n            .repoKey(providerTestDest.key())\n            .cronExp(\"0 0 * * * ?\")\n            .enableEventReplication(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Create a replication between two artifactory local repositories\n  providerTestSource:\n    type: artifactory:LocalMavenRepository\n    name: provider_test_source\n    properties:\n      key: provider_test_source\n  providerTestDest:\n    type: artifactory:RemoteMavenRepository\n    name: provider_test_dest\n    properties:\n      key: provider_test_dest\n      url: https://example.com/artifactory/${artifactoryLocalMavenRepository.key}\n      username: foo\n      password: bar\n  remote-rep:\n    type: artifactory:PullReplication\n    properties:\n      repoKey: ${providerTestDest.key}\n      cronExp: 0 0 * * * ?\n      enableEventReplication: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nPull replication config can be imported using its repo key, e.g.\n\n```sh\n$ pulumi import artifactory:index/pullReplication:PullReplication foo-rep repository-key\n```\n\n",
            "properties": {
                "checkBinaryExistenceInFilestore": {
                    "type": "boolean",
                    "description": "When true, enables distributed checksum storage. For more information, see\n[Optimizing Repository Replication with Checksum-Based Storage](https://www.jfrog.com/confluence/display/JFROG/Repository+Replication#RepositoryReplication-OptimizingRepositoryReplicationUsingStorageLevelSynchronizationOptions).\n"
                },
                "cronExp": {
                    "type": "string",
                    "description": "A valid CRON expression that you can use to control replication frequency. Eg: `0 0 12 * * ? *`, `0 0 2 ? * MON-SAT *`. Note: use 6 or 7 parts format - Seconds, Minutes Hours, Day Of Month, Month, Day Of Week, Year (optional). Specifying both a day-of-week AND a day-of-month parameter is not supported. One of them should be replaced by `?`. Incorrect: `* 5,7,9 14/2 * * WED,SAT *`, correct: `* 5,7,9 14/2 ? * WED,SAT *`. See details in [Cron Trigger Tutorial](http://www.quartz-scheduler.org/documentation/quartz-2.3.0/tutorials/crontrigger.html).\n"
                },
                "enableEventReplication": {
                    "type": "boolean",
                    "description": "When set, each event will trigger replication of the artifacts changed in this event. This can be any type of event on artifact, e.g. added, deleted or property change.\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "When set, this replication will be enabled when saved.\n"
                },
                "password": {
                    "type": "string",
                    "description": "Required for local repository, but not needed for remote repository.\n",
                    "secret": true
                },
                "pathPrefix": {
                    "type": "string",
                    "description": "Only artifacts that located in path that matches the subpath within the remote repository will be replicated.\n"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies setting"
                },
                "repoKey": {
                    "type": "string",
                    "description": "Repository name.\n"
                },
                "socketTimeoutMillis": {
                    "type": "integer"
                },
                "syncDeletes": {
                    "type": "boolean",
                    "description": "When set, items that were deleted locally should also be deleted remotely (also applies to properties metadata).\n"
                },
                "syncProperties": {
                    "type": "boolean",
                    "description": "When set, the task also synchronizes the properties of replicated artifacts.\n"
                },
                "syncStatistics": {
                    "type": "boolean",
                    "description": "When set, artifact download statistics will also be replicated. Set to avoid inadvertent cleanup at the target instance when setting up replication for disaster recovery.\n"
                },
                "url": {
                    "type": "string",
                    "description": "The URL of the target local repository on a remote Artifactory server. For some package types, you need to prefix the repository key in the URL with api/\u003cpkg\u003e. \nFor a list of package types where this is required, see the [note](https://www.jfrog.com/confluence/display/JFROG/Repository+Replication#RepositoryReplication-anchorPREFIX).\nRequired for local repository, but not needed for remote repository.\n"
                },
                "username": {
                    "type": "string",
                    "description": "Required for local repository, but not needed for remote repository.\n"
                }
            },
            "required": [
                "enabled",
                "repoKey",
                "socketTimeoutMillis",
                "syncDeletes",
                "syncProperties",
                "syncStatistics"
            ],
            "inputProperties": {
                "checkBinaryExistenceInFilestore": {
                    "type": "boolean",
                    "description": "When true, enables distributed checksum storage. For more information, see\n[Optimizing Repository Replication with Checksum-Based Storage](https://www.jfrog.com/confluence/display/JFROG/Repository+Replication#RepositoryReplication-OptimizingRepositoryReplicationUsingStorageLevelSynchronizationOptions).\n"
                },
                "cronExp": {
                    "type": "string",
                    "description": "A valid CRON expression that you can use to control replication frequency. Eg: `0 0 12 * * ? *`, `0 0 2 ? * MON-SAT *`. Note: use 6 or 7 parts format - Seconds, Minutes Hours, Day Of Month, Month, Day Of Week, Year (optional). Specifying both a day-of-week AND a day-of-month parameter is not supported. One of them should be replaced by `?`. Incorrect: `* 5,7,9 14/2 * * WED,SAT *`, correct: `* 5,7,9 14/2 ? * WED,SAT *`. See details in [Cron Trigger Tutorial](http://www.quartz-scheduler.org/documentation/quartz-2.3.0/tutorials/crontrigger.html).\n"
                },
                "enableEventReplication": {
                    "type": "boolean",
                    "description": "When set, each event will trigger replication of the artifacts changed in this event. This can be any type of event on artifact, e.g. added, deleted or property change.\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "When set, this replication will be enabled when saved.\n"
                },
                "password": {
                    "type": "string",
                    "description": "Required for local repository, but not needed for remote repository.\n",
                    "secret": true
                },
                "pathPrefix": {
                    "type": "string",
                    "description": "Only artifacts that located in path that matches the subpath within the remote repository will be replicated.\n"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies setting"
                },
                "repoKey": {
                    "type": "string",
                    "description": "Repository name.\n"
                },
                "socketTimeoutMillis": {
                    "type": "integer"
                },
                "syncDeletes": {
                    "type": "boolean",
                    "description": "When set, items that were deleted locally should also be deleted remotely (also applies to properties metadata).\n"
                },
                "syncProperties": {
                    "type": "boolean",
                    "description": "When set, the task also synchronizes the properties of replicated artifacts.\n"
                },
                "syncStatistics": {
                    "type": "boolean",
                    "description": "When set, artifact download statistics will also be replicated. Set to avoid inadvertent cleanup at the target instance when setting up replication for disaster recovery.\n"
                },
                "url": {
                    "type": "string",
                    "description": "The URL of the target local repository on a remote Artifactory server. For some package types, you need to prefix the repository key in the URL with api/\u003cpkg\u003e. \nFor a list of package types where this is required, see the [note](https://www.jfrog.com/confluence/display/JFROG/Repository+Replication#RepositoryReplication-anchorPREFIX).\nRequired for local repository, but not needed for remote repository.\n",
                    "willReplaceOnChanges": true
                },
                "username": {
                    "type": "string",
                    "description": "Required for local repository, but not needed for remote repository.\n"
                }
            },
            "requiredInputs": [
                "repoKey"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering PullReplication resources.\n",
                "properties": {
                    "checkBinaryExistenceInFilestore": {
                        "type": "boolean",
                        "description": "When true, enables distributed checksum storage. For more information, see\n[Optimizing Repository Replication with Checksum-Based Storage](https://www.jfrog.com/confluence/display/JFROG/Repository+Replication#RepositoryReplication-OptimizingRepositoryReplicationUsingStorageLevelSynchronizationOptions).\n"
                    },
                    "cronExp": {
                        "type": "string",
                        "description": "A valid CRON expression that you can use to control replication frequency. Eg: `0 0 12 * * ? *`, `0 0 2 ? * MON-SAT *`. Note: use 6 or 7 parts format - Seconds, Minutes Hours, Day Of Month, Month, Day Of Week, Year (optional). Specifying both a day-of-week AND a day-of-month parameter is not supported. One of them should be replaced by `?`. Incorrect: `* 5,7,9 14/2 * * WED,SAT *`, correct: `* 5,7,9 14/2 ? * WED,SAT *`. See details in [Cron Trigger Tutorial](http://www.quartz-scheduler.org/documentation/quartz-2.3.0/tutorials/crontrigger.html).\n"
                    },
                    "enableEventReplication": {
                        "type": "boolean",
                        "description": "When set, each event will trigger replication of the artifacts changed in this event. This can be any type of event on artifact, e.g. added, deleted or property change.\n"
                    },
                    "enabled": {
                        "type": "boolean",
                        "description": "When set, this replication will be enabled when saved.\n"
                    },
                    "password": {
                        "type": "string",
                        "description": "Required for local repository, but not needed for remote repository.\n",
                        "secret": true
                    },
                    "pathPrefix": {
                        "type": "string",
                        "description": "Only artifacts that located in path that matches the subpath within the remote repository will be replicated.\n"
                    },
                    "proxy": {
                        "type": "string",
                        "description": "Proxy key from Artifactory Proxies setting"
                    },
                    "repoKey": {
                        "type": "string",
                        "description": "Repository name.\n"
                    },
                    "socketTimeoutMillis": {
                        "type": "integer"
                    },
                    "syncDeletes": {
                        "type": "boolean",
                        "description": "When set, items that were deleted locally should also be deleted remotely (also applies to properties metadata).\n"
                    },
                    "syncProperties": {
                        "type": "boolean",
                        "description": "When set, the task also synchronizes the properties of replicated artifacts.\n"
                    },
                    "syncStatistics": {
                        "type": "boolean",
                        "description": "When set, artifact download statistics will also be replicated. Set to avoid inadvertent cleanup at the target instance when setting up replication for disaster recovery.\n"
                    },
                    "url": {
                        "type": "string",
                        "description": "The URL of the target local repository on a remote Artifactory server. For some package types, you need to prefix the repository key in the URL with api/\u003cpkg\u003e. \nFor a list of package types where this is required, see the [note](https://www.jfrog.com/confluence/display/JFROG/Repository+Replication#RepositoryReplication-anchorPREFIX).\nRequired for local repository, but not needed for remote repository.\n",
                        "willReplaceOnChanges": true
                    },
                    "username": {
                        "type": "string",
                        "description": "Required for local repository, but not needed for remote repository.\n"
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/pushReplication:PushReplication": {
            "description": "\u003e This resource is deprecated and replaced by \u003cspan pulumi-lang-nodejs=\"`artifactory.LocalRepositoryMultiReplication`\" pulumi-lang-dotnet=\"`artifactory.LocalRepositoryMultiReplication`\" pulumi-lang-go=\"`LocalRepositoryMultiReplication`\" pulumi-lang-python=\"`LocalRepositoryMultiReplication`\" pulumi-lang-yaml=\"`artifactory.LocalRepositoryMultiReplication`\" pulumi-lang-java=\"`artifactory.LocalRepositoryMultiReplication`\" pulumi-lang-hcl=\"`artifactory_local_repository_multi_replication`\"\u003e`artifactory.LocalRepositoryMultiReplication`\u003c/span\u003e for clarity. \n\nProvides an Artifactory push replication resource. This can be used to create and manage Artifactory push replications using [Multi-push Replication API](https://www.jfrog.com/confluence/display/JFROG/Artifactory+REST+API#ArtifactoryRESTAPI-CreateorReplaceLocalMulti-pushReplication).\n\nPush replication is used to synchronize Local Repositories, and is implemented by the Artifactory server on the near\nend invoking a synchronization of artifacts to the far end.\n\nSee the [Official Documentation](https://www.jfrog.com/confluence/display/JFROG/Repository+Replication#RepositoryReplication-PushReplication).\n\n\u003e This resource requires Artifactory Enterprise license.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst config = new pulumi.Config();\n// The base URL of the Artifactory deployment\nconst artifactoryUrl = config.require(\"artifactoryUrl\");\n// The username for the Artifactory\nconst artifactoryUsername = config.require(\"artifactoryUsername\");\n// The password for the Artifactory\nconst artifactoryPassword = config.require(\"artifactoryPassword\");\n// Create a replication between two artifactory local repositories\nconst providerTestSource = new artifactory.LocalMavenRepository(\"provider_test_source\", {key: \"provider_test_source\"});\nconst providerTestDest = new artifactory.LocalMavenRepository(\"provider_test_dest\", {key: \"provider_test_dest\"});\nconst foo_rep = new artifactory.PushReplication(\"foo-rep\", {\n    repoKey: providerTestSource.key,\n    cronExp: \"0 0 * * * ?\",\n    enableEventReplication: true,\n    replications: [{\n        url: pulumi.interpolate`${artifactoryUrl}/${providerTestDest.key}`,\n        username: \"$var.artifactory_username\",\n        password: \"$var.artifactory_password\",\n        enabled: true,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nconfig = pulumi.Config()\n# The base URL of the Artifactory deployment\nartifactory_url = config.require(\"artifactoryUrl\")\n# The username for the Artifactory\nartifactory_username = config.require(\"artifactoryUsername\")\n# The password for the Artifactory\nartifactory_password = config.require(\"artifactoryPassword\")\n# Create a replication between two artifactory local repositories\nprovider_test_source = artifactory.LocalMavenRepository(\"provider_test_source\", key=\"provider_test_source\")\nprovider_test_dest = artifactory.LocalMavenRepository(\"provider_test_dest\", key=\"provider_test_dest\")\nfoo_rep = artifactory.PushReplication(\"foo-rep\",\n    repo_key=provider_test_source.key,\n    cron_exp=\"0 0 * * * ?\",\n    enable_event_replication=True,\n    replications=[{\n        \"url\": provider_test_dest.key.apply(lambda key: f\"{artifactory_url}/{key}\"),\n        \"username\": \"$var.artifactory_username\",\n        \"password\": \"$var.artifactory_password\",\n        \"enabled\": True,\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    // The base URL of the Artifactory deployment\n    var artifactoryUrl = config.Require(\"artifactoryUrl\");\n    // The username for the Artifactory\n    var artifactoryUsername = config.Require(\"artifactoryUsername\");\n    // The password for the Artifactory\n    var artifactoryPassword = config.Require(\"artifactoryPassword\");\n    // Create a replication between two artifactory local repositories\n    var providerTestSource = new Artifactory.LocalMavenRepository(\"provider_test_source\", new()\n    {\n        Key = \"provider_test_source\",\n    });\n\n    var providerTestDest = new Artifactory.LocalMavenRepository(\"provider_test_dest\", new()\n    {\n        Key = \"provider_test_dest\",\n    });\n\n    var foo_rep = new Artifactory.PushReplication(\"foo-rep\", new()\n    {\n        RepoKey = providerTestSource.Key,\n        CronExp = \"0 0 * * * ?\",\n        EnableEventReplication = true,\n        Replications = new[]\n        {\n            new Artifactory.Inputs.PushReplicationReplicationArgs\n            {\n                Url = providerTestDest.Key.Apply(key =\u003e $\"{artifactoryUrl}/{key}\"),\n                Username = \"$var.artifactory_username\",\n                Password = \"$var.artifactory_password\",\n                Enabled = true,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\t// The base URL of the Artifactory deployment\n\t\tartifactoryUrl := cfg.Require(\"artifactoryUrl\")\n\t\t// The username for the Artifactory\n\t\tartifactoryUsername := cfg.Require(\"artifactoryUsername\")\n\t\t// The password for the Artifactory\n\t\tartifactoryPassword := cfg.Require(\"artifactoryPassword\")\n\t\t// Create a replication between two artifactory local repositories\n\t\tproviderTestSource, err := artifactory.NewLocalMavenRepository(ctx, \"provider_test_source\", \u0026artifactory.LocalMavenRepositoryArgs{\n\t\t\tKey: pulumi.String(\"provider_test_source\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tproviderTestDest, err := artifactory.NewLocalMavenRepository(ctx, \"provider_test_dest\", \u0026artifactory.LocalMavenRepositoryArgs{\n\t\t\tKey: pulumi.String(\"provider_test_dest\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = artifactory.NewPushReplication(ctx, \"foo-rep\", \u0026artifactory.PushReplicationArgs{\n\t\t\tRepoKey:                providerTestSource.Key,\n\t\t\tCronExp:                pulumi.String(\"0 0 * * * ?\"),\n\t\t\tEnableEventReplication: pulumi.Bool(true),\n\t\t\tReplications: artifactory.PushReplicationReplicationArray{\n\t\t\t\t\u0026artifactory.PushReplicationReplicationArgs{\n\t\t\t\t\tUrl: providerTestDest.Key.ApplyT(func(key string) (string, error) {\n\t\t\t\t\t\treturn fmt.Sprintf(\"%v/%v\", artifactoryUrl, key), nil\n\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\tUsername: pulumi.String(\"$var.artifactory_username\"),\n\t\t\t\t\tPassword: pulumi.String(\"$var.artifactory_password\"),\n\t\t\t\t\tEnabled:  pulumi.Bool(true),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\n# Create a replication between two artifactory local repositories\nresource \"artifactory_localmavenrepository\" \"provider_test_source\" {\n  key = \"provider_test_source\"\n}\nresource \"artifactory_localmavenrepository\" \"provider_test_dest\" {\n  key = \"provider_test_dest\"\n}\nresource \"artifactory_pushreplication\" \"foo-rep\" {\n  repo_key                 = artifactory_localmavenrepository.provider_test_source.key\n  cron_exp                 = \"0 0 * * * ?\"\n  enable_event_replication = true\n  replications {\n    url      =\"${var.artifactoryUrl}/${artifactory_localmavenrepository.provider_test_dest.key}\"\n    username = \"$var.artifactory_username\"\n    password = \"$var.artifactory_password\"\n    enabled  = true\n  }\n}\nvariable \"artifactoryUrl\" {\n  type        = string\n  description = \"The base URL of the Artifactory deployment\"\n}\nvariable \"artifactoryUsername\" {\n  type        = string\n  description = \"The username for the Artifactory\"\n}\nvariable \"artifactoryPassword\" {\n  type        = string\n  description = \"The password for the Artifactory\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.LocalMavenRepository;\nimport com.pulumi.artifactory.LocalMavenRepositoryArgs;\nimport com.pulumi.artifactory.PushReplication;\nimport com.pulumi.artifactory.PushReplicationArgs;\nimport com.pulumi.artifactory.inputs.PushReplicationReplicationArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 config = ctx.config();\n        final var artifactoryUrl = config.require(\"artifactoryUrl\");\n        final var artifactoryUsername = config.require(\"artifactoryUsername\");\n        final var artifactoryPassword = config.require(\"artifactoryPassword\");\n        // Create a replication between two artifactory local repositories\n        var providerTestSource = new LocalMavenRepository(\"providerTestSource\", LocalMavenRepositoryArgs.builder()\n            .key(\"provider_test_source\")\n            .build());\n\n        var providerTestDest = new LocalMavenRepository(\"providerTestDest\", LocalMavenRepositoryArgs.builder()\n            .key(\"provider_test_dest\")\n            .build());\n\n        var foo_rep = new PushReplication(\"foo-rep\", PushReplicationArgs.builder()\n            .repoKey(providerTestSource.key())\n            .cronExp(\"0 0 * * * ?\")\n            .enableEventReplication(true)\n            .replications(PushReplicationReplicationArgs.builder()\n                .url(providerTestDest.key().applyValue(_key -\u003e String.format(\"%s/%s\", artifactoryUrl,_key)))\n                .username(\"$var.artifactory_username\")\n                .password(\"$var.artifactory_password\")\n                .enabled(true)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  artifactoryUrl:\n    type: string\n  artifactoryUsername:\n    type: string\n  artifactoryPassword:\n    type: string\nresources:\n  # Create a replication between two artifactory local repositories\n  providerTestSource:\n    type: artifactory:LocalMavenRepository\n    name: provider_test_source\n    properties:\n      key: provider_test_source\n  providerTestDest:\n    type: artifactory:LocalMavenRepository\n    name: provider_test_dest\n    properties:\n      key: provider_test_dest\n  foo-rep:\n    type: artifactory:PushReplication\n    properties:\n      repoKey: ${providerTestSource.key}\n      cronExp: 0 0 * * * ?\n      enableEventReplication: true\n      replications:\n        - url: ${artifactoryUrl}/${providerTestDest.key}\n          username: $var.artifactory_username\n          password: $var.artifactory_password\n          enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nPush replication configs can be imported using their repo key, e.g.\n\n```sh\n$ pulumi import artifactory:index/pushReplication:PushReplication foo-rep provider_test_source\n```\n\n",
            "properties": {
                "cronExp": {
                    "type": "string",
                    "description": "A valid CRON expression that you can use to control replication frequency. Eg: `0 0 12 * * ? *`, `0 0 2 ? * MON-SAT *`. Note: use 6 or 7 parts format - Seconds, Minutes Hours, Day Of Month, Month, Day Of Week, Year (optional). Specifying both a day-of-week AND a day-of-month parameter is not supported. One of them should be replaced by `?`. Incorrect: `* 5,7,9 14/2 * * WED,SAT *`, correct: `* 5,7,9 14/2 ? * WED,SAT *`. See details in [Cron Trigger Tutorial](https://www.quartz-scheduler.org/documentation/quartz-2.3.0/tutorials/crontrigger.html).\n"
                },
                "enableEventReplication": {
                    "type": "boolean",
                    "description": "When set, each event will trigger replication of the artifacts changed in this event. This can be any type of event on artifact, e.g. added, deleted or property change.\n"
                },
                "replications": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/PushReplicationReplication:PushReplicationReplication"
                    }
                },
                "repoKey": {
                    "type": "string",
                    "description": "Repository name.\n"
                }
            },
            "required": [
                "cronExp",
                "repoKey"
            ],
            "inputProperties": {
                "cronExp": {
                    "type": "string",
                    "description": "A valid CRON expression that you can use to control replication frequency. Eg: `0 0 12 * * ? *`, `0 0 2 ? * MON-SAT *`. Note: use 6 or 7 parts format - Seconds, Minutes Hours, Day Of Month, Month, Day Of Week, Year (optional). Specifying both a day-of-week AND a day-of-month parameter is not supported. One of them should be replaced by `?`. Incorrect: `* 5,7,9 14/2 * * WED,SAT *`, correct: `* 5,7,9 14/2 ? * WED,SAT *`. See details in [Cron Trigger Tutorial](https://www.quartz-scheduler.org/documentation/quartz-2.3.0/tutorials/crontrigger.html).\n"
                },
                "enableEventReplication": {
                    "type": "boolean",
                    "description": "When set, each event will trigger replication of the artifacts changed in this event. This can be any type of event on artifact, e.g. added, deleted or property change.\n"
                },
                "replications": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/PushReplicationReplication:PushReplicationReplication"
                    }
                },
                "repoKey": {
                    "type": "string",
                    "description": "Repository name.\n"
                }
            },
            "requiredInputs": [
                "cronExp",
                "repoKey"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering PushReplication resources.\n",
                "properties": {
                    "cronExp": {
                        "type": "string",
                        "description": "A valid CRON expression that you can use to control replication frequency. Eg: `0 0 12 * * ? *`, `0 0 2 ? * MON-SAT *`. Note: use 6 or 7 parts format - Seconds, Minutes Hours, Day Of Month, Month, Day Of Week, Year (optional). Specifying both a day-of-week AND a day-of-month parameter is not supported. One of them should be replaced by `?`. Incorrect: `* 5,7,9 14/2 * * WED,SAT *`, correct: `* 5,7,9 14/2 ? * WED,SAT *`. See details in [Cron Trigger Tutorial](https://www.quartz-scheduler.org/documentation/quartz-2.3.0/tutorials/crontrigger.html).\n"
                    },
                    "enableEventReplication": {
                        "type": "boolean",
                        "description": "When set, each event will trigger replication of the artifacts changed in this event. This can be any type of event on artifact, e.g. added, deleted or property change.\n"
                    },
                    "replications": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/artifactory:index/PushReplicationReplication:PushReplicationReplication"
                        }
                    },
                    "repoKey": {
                        "type": "string",
                        "description": "Repository name.\n"
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/releaseBundleCustomWebhook:ReleaseBundleCustomWebhook": {
            "description": "Provides an Artifactory custom webhook resource. This can be used to register and manage Artifactory webhook subscription which enables you to be notified or notify other users when such events take place in Artifactory.\n\n!\u003eThis resource is being deprecated and replaced by \u003cspan pulumi-lang-nodejs=\"`artifactory.DestinationCustomWebhook`\" pulumi-lang-dotnet=\"`artifactory.DestinationCustomWebhook`\" pulumi-lang-go=\"`DestinationCustomWebhook`\" pulumi-lang-python=\"`DestinationCustomWebhook`\" pulumi-lang-yaml=\"`artifactory.DestinationCustomWebhook`\" pulumi-lang-java=\"`artifactory.DestinationCustomWebhook`\" pulumi-lang-hcl=\"`artifactory_destination_custom_webhook`\"\u003e`artifactory.DestinationCustomWebhook`\u003c/span\u003e resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst release_bundle_custom_webhook = new artifactory.ReleaseBundleCustomWebhook(\"release-bundle-custom-webhook\", {\n    key: \"release-bundle-custom-webhook\",\n    eventTypes: [\n        \"created\",\n        \"signed\",\n        \"deleted\",\n    ],\n    criteria: {\n        anyReleaseBundle: false,\n        registeredReleaseBundleNames: [\"bundle-name\"],\n        includePatterns: [\"foo/**\"],\n        excludePatterns: [\"bar/**\"],\n    },\n    handlers: [{\n        url: \"https://tempurl.org\",\n        method: \"POST\",\n        secrets: {\n            secretName1: \"value1\",\n            secretName2: \"value2\",\n        },\n        httpHeaders: {\n            headerName1: \"value1\",\n            headerName2: \"value2\",\n        },\n        payload: \"{ \\\"ref\\\": \\\"main\\\" , \\\"inputs\\\": { \\\"artifact_path\\\": \\\"test-repo/repo-path\\\" } }\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nrelease_bundle_custom_webhook = artifactory.ReleaseBundleCustomWebhook(\"release-bundle-custom-webhook\",\n    key=\"release-bundle-custom-webhook\",\n    event_types=[\n        \"created\",\n        \"signed\",\n        \"deleted\",\n    ],\n    criteria={\n        \"any_release_bundle\": False,\n        \"registered_release_bundle_names\": [\"bundle-name\"],\n        \"include_patterns\": [\"foo/**\"],\n        \"exclude_patterns\": [\"bar/**\"],\n    },\n    handlers=[{\n        \"url\": \"https://tempurl.org\",\n        \"method\": \"POST\",\n        \"secrets\": {\n            \"secretName1\": \"value1\",\n            \"secretName2\": \"value2\",\n        },\n        \"http_headers\": {\n            \"headerName1\": \"value1\",\n            \"headerName2\": \"value2\",\n        },\n        \"payload\": \"{ \\\"ref\\\": \\\"main\\\" , \\\"inputs\\\": { \\\"artifact_path\\\": \\\"test-repo/repo-path\\\" } }\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var release_bundle_custom_webhook = new Artifactory.ReleaseBundleCustomWebhook(\"release-bundle-custom-webhook\", new()\n    {\n        Key = \"release-bundle-custom-webhook\",\n        EventTypes = new[]\n        {\n            \"created\",\n            \"signed\",\n            \"deleted\",\n        },\n        Criteria = new Artifactory.Inputs.ReleaseBundleCustomWebhookCriteriaArgs\n        {\n            AnyReleaseBundle = false,\n            RegisteredReleaseBundleNames = new[]\n            {\n                \"bundle-name\",\n            },\n            IncludePatterns = new[]\n            {\n                \"foo/**\",\n            },\n            ExcludePatterns = new[]\n            {\n                \"bar/**\",\n            },\n        },\n        Handlers = new[]\n        {\n            new Artifactory.Inputs.ReleaseBundleCustomWebhookHandlerArgs\n            {\n                Url = \"https://tempurl.org\",\n                Method = \"POST\",\n                Secrets = \n                {\n                    { \"secretName1\", \"value1\" },\n                    { \"secretName2\", \"value2\" },\n                },\n                HttpHeaders = \n                {\n                    { \"headerName1\", \"value1\" },\n                    { \"headerName2\", \"value2\" },\n                },\n                Payload = \"{ \\\"ref\\\": \\\"main\\\" , \\\"inputs\\\": { \\\"artifact_path\\\": \\\"test-repo/repo-path\\\" } }\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewReleaseBundleCustomWebhook(ctx, \"release-bundle-custom-webhook\", \u0026artifactory.ReleaseBundleCustomWebhookArgs{\n\t\t\tKey: pulumi.String(\"release-bundle-custom-webhook\"),\n\t\t\tEventTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"created\"),\n\t\t\t\tpulumi.String(\"signed\"),\n\t\t\t\tpulumi.String(\"deleted\"),\n\t\t\t},\n\t\t\tCriteria: \u0026artifactory.ReleaseBundleCustomWebhookCriteriaArgs{\n\t\t\t\tAnyReleaseBundle: pulumi.Bool(false),\n\t\t\t\tRegisteredReleaseBundleNames: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"bundle-name\"),\n\t\t\t\t},\n\t\t\t\tIncludePatterns: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"foo/**\"),\n\t\t\t\t},\n\t\t\t\tExcludePatterns: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"bar/**\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tHandlers: artifactory.ReleaseBundleCustomWebhookHandlerArray{\n\t\t\t\t\u0026artifactory.ReleaseBundleCustomWebhookHandlerArgs{\n\t\t\t\t\tUrl:    pulumi.String(\"https://tempurl.org\"),\n\t\t\t\t\tMethod: pulumi.String(\"POST\"),\n\t\t\t\t\tSecrets: pulumi.StringMap{\n\t\t\t\t\t\t\"secretName1\": pulumi.String(\"value1\"),\n\t\t\t\t\t\t\"secretName2\": pulumi.String(\"value2\"),\n\t\t\t\t\t},\n\t\t\t\t\tHttpHeaders: pulumi.StringMap{\n\t\t\t\t\t\t\"headerName1\": pulumi.String(\"value1\"),\n\t\t\t\t\t\t\"headerName2\": pulumi.String(\"value2\"),\n\t\t\t\t\t},\n\t\t\t\t\tPayload: pulumi.String(\"{ \\\"ref\\\": \\\"main\\\" , \\\"inputs\\\": { \\\"artifact_path\\\": \\\"test-repo/repo-path\\\" } }\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_releasebundlecustomwebhook\" \"release-bundle-custom-webhook\" {\n  key         = \"release-bundle-custom-webhook\"\n  event_types = [\"created\", \"signed\", \"deleted\"]\n  criteria = {\n    any_release_bundle              = false\n    registered_release_bundle_names = [\"bundle-name\"]\n    include_patterns                = [\"foo/**\"]\n    exclude_patterns                = [\"bar/**\"]\n  }\n  handlers {\n    url    = \"https://tempurl.org\"\n    method = \"POST\"\n    secrets = {\n      \"secretName1\" = \"value1\"\n      \"secretName2\" = \"value2\"\n    }\n    http_headers = {\n      \"headerName1\" = \"value1\"\n      \"headerName2\" = \"value2\"\n    }\n    payload = \"{ \\\"ref\\\": \\\"main\\\" , \\\"inputs\\\": { \\\"artifact_path\\\": \\\"test-repo/repo-path\\\" } }\"\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.ReleaseBundleCustomWebhook;\nimport com.pulumi.artifactory.ReleaseBundleCustomWebhookArgs;\nimport com.pulumi.artifactory.inputs.ReleaseBundleCustomWebhookCriteriaArgs;\nimport com.pulumi.artifactory.inputs.ReleaseBundleCustomWebhookHandlerArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 release_bundle_custom_webhook = new ReleaseBundleCustomWebhook(\"release-bundle-custom-webhook\", ReleaseBundleCustomWebhookArgs.builder()\n            .key(\"release-bundle-custom-webhook\")\n            .eventTypes(            \n                \"created\",\n                \"signed\",\n                \"deleted\")\n            .criteria(ReleaseBundleCustomWebhookCriteriaArgs.builder()\n                .anyReleaseBundle(false)\n                .registeredReleaseBundleNames(\"bundle-name\")\n                .includePatterns(\"foo/**\")\n                .excludePatterns(\"bar/**\")\n                .build())\n            .handlers(ReleaseBundleCustomWebhookHandlerArgs.builder()\n                .url(\"https://tempurl.org\")\n                .method(\"POST\")\n                .secrets(Map.ofEntries(\n                    Map.entry(\"secretName1\", \"value1\"),\n                    Map.entry(\"secretName2\", \"value2\")\n                ))\n                .httpHeaders(Map.ofEntries(\n                    Map.entry(\"headerName1\", \"value1\"),\n                    Map.entry(\"headerName2\", \"value2\")\n                ))\n                .payload(\"{ \\\"ref\\\": \\\"main\\\" , \\\"inputs\\\": { \\\"artifact_path\\\": \\\"test-repo/repo-path\\\" } }\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  release-bundle-custom-webhook:\n    type: artifactory:ReleaseBundleCustomWebhook\n    properties:\n      key: release-bundle-custom-webhook\n      eventTypes:\n        - created\n        - signed\n        - deleted\n      criteria:\n        anyReleaseBundle: false\n        registeredReleaseBundleNames:\n          - bundle-name\n        includePatterns:\n          - foo/**\n        excludePatterns:\n          - bar/**\n      handlers:\n        - url: https://tempurl.org\n          method: POST\n          secrets:\n            secretName1: value1\n            secretName2: value2\n          httpHeaders:\n            headerName1: value1\n            headerName2: value2\n          payload: '{ \"ref\": \"main\" , \"inputs\": { \"artifact_path\": \"test-repo/repo-path\" } }'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "properties": {
                "criteria": {
                    "$ref": "#/types/artifactory:index/ReleaseBundleCustomWebhookCriteria:ReleaseBundleCustomWebhookCriteria",
                    "description": "Specifies where the webhook will be applied on which repositories.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Webhook description. Max length 1000 characters.\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Status of webhook. Default to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                },
                "eventTypes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of Events in Artifactory, Distribution, Release Bundle that function as the event trigger for the Webhook. Allow values: \u003cspan pulumi-lang-nodejs=\"`created`\" pulumi-lang-dotnet=\"`Created`\" pulumi-lang-go=\"`created`\" pulumi-lang-python=\"`created`\" pulumi-lang-yaml=\"`created`\" pulumi-lang-java=\"`created`\" pulumi-lang-hcl=\"`created`\"\u003e`created`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`signed`\" pulumi-lang-dotnet=\"`Signed`\" pulumi-lang-go=\"`signed`\" pulumi-lang-python=\"`signed`\" pulumi-lang-yaml=\"`signed`\" pulumi-lang-java=\"`signed`\" pulumi-lang-hcl=\"`signed`\"\u003e`signed`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleted`\" pulumi-lang-dotnet=\"`Deleted`\" pulumi-lang-go=\"`deleted`\" pulumi-lang-python=\"`deleted`\" pulumi-lang-yaml=\"`deleted`\" pulumi-lang-java=\"`deleted`\" pulumi-lang-hcl=\"`deleted`\"\u003e`deleted`\u003c/span\u003e.\n"
                },
                "handlers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/ReleaseBundleCustomWebhookHandler:ReleaseBundleCustomWebhookHandler"
                    },
                    "description": "At least one is required.\n"
                },
                "key": {
                    "type": "string",
                    "description": "The identity key of the webhook. Must be between 2 and 200 characters. Cannot contain spaces.\n"
                }
            },
            "required": [
                "criteria",
                "enabled",
                "eventTypes",
                "handlers",
                "key"
            ],
            "inputProperties": {
                "criteria": {
                    "$ref": "#/types/artifactory:index/ReleaseBundleCustomWebhookCriteria:ReleaseBundleCustomWebhookCriteria",
                    "description": "Specifies where the webhook will be applied on which repositories.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Webhook description. Max length 1000 characters.\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Status of webhook. Default to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                },
                "eventTypes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of Events in Artifactory, Distribution, Release Bundle that function as the event trigger for the Webhook. Allow values: \u003cspan pulumi-lang-nodejs=\"`created`\" pulumi-lang-dotnet=\"`Created`\" pulumi-lang-go=\"`created`\" pulumi-lang-python=\"`created`\" pulumi-lang-yaml=\"`created`\" pulumi-lang-java=\"`created`\" pulumi-lang-hcl=\"`created`\"\u003e`created`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`signed`\" pulumi-lang-dotnet=\"`Signed`\" pulumi-lang-go=\"`signed`\" pulumi-lang-python=\"`signed`\" pulumi-lang-yaml=\"`signed`\" pulumi-lang-java=\"`signed`\" pulumi-lang-hcl=\"`signed`\"\u003e`signed`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleted`\" pulumi-lang-dotnet=\"`Deleted`\" pulumi-lang-go=\"`deleted`\" pulumi-lang-python=\"`deleted`\" pulumi-lang-yaml=\"`deleted`\" pulumi-lang-java=\"`deleted`\" pulumi-lang-hcl=\"`deleted`\"\u003e`deleted`\u003c/span\u003e.\n"
                },
                "handlers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/ReleaseBundleCustomWebhookHandler:ReleaseBundleCustomWebhookHandler"
                    },
                    "description": "At least one is required.\n"
                },
                "key": {
                    "type": "string",
                    "description": "The identity key of the webhook. Must be between 2 and 200 characters. Cannot contain spaces.\n"
                }
            },
            "requiredInputs": [
                "criteria",
                "eventTypes",
                "handlers",
                "key"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering ReleaseBundleCustomWebhook resources.\n",
                "properties": {
                    "criteria": {
                        "$ref": "#/types/artifactory:index/ReleaseBundleCustomWebhookCriteria:ReleaseBundleCustomWebhookCriteria",
                        "description": "Specifies where the webhook will be applied on which repositories.\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Webhook description. Max length 1000 characters.\n"
                    },
                    "enabled": {
                        "type": "boolean",
                        "description": "Status of webhook. Default to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                    },
                    "eventTypes": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of Events in Artifactory, Distribution, Release Bundle that function as the event trigger for the Webhook. Allow values: \u003cspan pulumi-lang-nodejs=\"`created`\" pulumi-lang-dotnet=\"`Created`\" pulumi-lang-go=\"`created`\" pulumi-lang-python=\"`created`\" pulumi-lang-yaml=\"`created`\" pulumi-lang-java=\"`created`\" pulumi-lang-hcl=\"`created`\"\u003e`created`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`signed`\" pulumi-lang-dotnet=\"`Signed`\" pulumi-lang-go=\"`signed`\" pulumi-lang-python=\"`signed`\" pulumi-lang-yaml=\"`signed`\" pulumi-lang-java=\"`signed`\" pulumi-lang-hcl=\"`signed`\"\u003e`signed`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleted`\" pulumi-lang-dotnet=\"`Deleted`\" pulumi-lang-go=\"`deleted`\" pulumi-lang-python=\"`deleted`\" pulumi-lang-yaml=\"`deleted`\" pulumi-lang-java=\"`deleted`\" pulumi-lang-hcl=\"`deleted`\"\u003e`deleted`\u003c/span\u003e.\n"
                    },
                    "handlers": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/artifactory:index/ReleaseBundleCustomWebhookHandler:ReleaseBundleCustomWebhookHandler"
                        },
                        "description": "At least one is required.\n"
                    },
                    "key": {
                        "type": "string",
                        "description": "The identity key of the webhook. Must be between 2 and 200 characters. Cannot contain spaces.\n"
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/releaseBundleV2:ReleaseBundleV2": {
            "description": "This resource enables you to creates a new Release Bundle v2, uniquely identified by a combination of repository key, name, and version. For more information, see [Understanding Release Bundles v2](https://jfrog.com/help/r/jfrog-artifactory-documentation/understanding-release-bundles-v2) and [REST API](https://jfrog.com/help/r/jfrog-rest-apis/create-release-bundle-v2-version).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst my_release_bundle_v2_aql = new artifactory.ReleaseBundleV2(\"my-release-bundle-v2-aql\", {\n    name: \"my-release-bundle-v2-aql\",\n    version: \"1.0.0\",\n    keypairName: \"my-keypair-name\",\n    projectKey: \"myproj-key\",\n    skipDockerManifestResolution: true,\n    sourceType: \"aql\",\n    source: {\n        aql: \"items.find({\\\"repo\\\": {\\\"$match\\\": \\\"my-generic-*\\\"}})\",\n    },\n});\nconst my_release_bundle_v2_artifacts = new artifactory.ReleaseBundleV2(\"my-release-bundle-v2-artifacts\", {\n    name: \"my-release-bundle-v2-artifacts\",\n    version: \"1.0.0\",\n    keypairName: \"my-keypair-name\",\n    skipDockerManifestResolution: true,\n    sourceType: \"artifacts\",\n    source: {\n        artifacts: [{\n            path: \"commons-qa-maven-local/org/apache/tomcat/commons/1.0.0/commons-1.0.0.jar\",\n            sha256: \"0d2053f76605e0734f5251a78c5dade5ee81b0f3730b3f603aedb90bc58033fb\",\n        }],\n    },\n});\nconst my_release_bundle_v2_builds = new artifactory.ReleaseBundleV2(\"my-release-bundle-v2-builds\", {\n    name: \"my-release-bundle-v2-builds\",\n    version: \"1.0.0\",\n    keypairName: \"my-keypair-name\",\n    skipDockerManifestResolution: true,\n    sourceType: \"builds\",\n    source: {\n        builds: [{\n            name: \"my-build-info-name\",\n            number: \"1.0\",\n        }],\n    },\n});\nconst my_release_bundle_v2_rb = new artifactory.ReleaseBundleV2(\"my-release-bundle-v2-rb\", {\n    name: \"my-release-bundle-v2-rb\",\n    version: \"2.0.0\",\n    keypairName: \"my-keypair-name\",\n    skipDockerManifestResolution: true,\n    sourceType: \"release_bundles\",\n    source: {\n        releaseBundles: [{\n            name: \"my-rb-name\",\n            version: \"1.0.0\",\n        }],\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nmy_release_bundle_v2_aql = artifactory.ReleaseBundleV2(\"my-release-bundle-v2-aql\",\n    name=\"my-release-bundle-v2-aql\",\n    version=\"1.0.0\",\n    keypair_name=\"my-keypair-name\",\n    project_key=\"myproj-key\",\n    skip_docker_manifest_resolution=True,\n    source_type=\"aql\",\n    source={\n        \"aql\": \"items.find({\\\"repo\\\": {\\\"$match\\\": \\\"my-generic-*\\\"}})\",\n    })\nmy_release_bundle_v2_artifacts = artifactory.ReleaseBundleV2(\"my-release-bundle-v2-artifacts\",\n    name=\"my-release-bundle-v2-artifacts\",\n    version=\"1.0.0\",\n    keypair_name=\"my-keypair-name\",\n    skip_docker_manifest_resolution=True,\n    source_type=\"artifacts\",\n    source={\n        \"artifacts\": [{\n            \"path\": \"commons-qa-maven-local/org/apache/tomcat/commons/1.0.0/commons-1.0.0.jar\",\n            \"sha256\": \"0d2053f76605e0734f5251a78c5dade5ee81b0f3730b3f603aedb90bc58033fb\",\n        }],\n    })\nmy_release_bundle_v2_builds = artifactory.ReleaseBundleV2(\"my-release-bundle-v2-builds\",\n    name=\"my-release-bundle-v2-builds\",\n    version=\"1.0.0\",\n    keypair_name=\"my-keypair-name\",\n    skip_docker_manifest_resolution=True,\n    source_type=\"builds\",\n    source={\n        \"builds\": [{\n            \"name\": \"my-build-info-name\",\n            \"number\": \"1.0\",\n        }],\n    })\nmy_release_bundle_v2_rb = artifactory.ReleaseBundleV2(\"my-release-bundle-v2-rb\",\n    name=\"my-release-bundle-v2-rb\",\n    version=\"2.0.0\",\n    keypair_name=\"my-keypair-name\",\n    skip_docker_manifest_resolution=True,\n    source_type=\"release_bundles\",\n    source={\n        \"release_bundles\": [{\n            \"name\": \"my-rb-name\",\n            \"version\": \"1.0.0\",\n        }],\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var my_release_bundle_v2_aql = new Artifactory.ReleaseBundleV2(\"my-release-bundle-v2-aql\", new()\n    {\n        Name = \"my-release-bundle-v2-aql\",\n        Version = \"1.0.0\",\n        KeypairName = \"my-keypair-name\",\n        ProjectKey = \"myproj-key\",\n        SkipDockerManifestResolution = true,\n        SourceType = \"aql\",\n        Source = new Artifactory.Inputs.ReleaseBundleV2SourceArgs\n        {\n            Aql = \"items.find({\\\"repo\\\": {\\\"$match\\\": \\\"my-generic-*\\\"}})\",\n        },\n    });\n\n    var my_release_bundle_v2_artifacts = new Artifactory.ReleaseBundleV2(\"my-release-bundle-v2-artifacts\", new()\n    {\n        Name = \"my-release-bundle-v2-artifacts\",\n        Version = \"1.0.0\",\n        KeypairName = \"my-keypair-name\",\n        SkipDockerManifestResolution = true,\n        SourceType = \"artifacts\",\n        Source = new Artifactory.Inputs.ReleaseBundleV2SourceArgs\n        {\n            Artifacts = new[]\n            {\n                new Artifactory.Inputs.ReleaseBundleV2SourceArtifactArgs\n                {\n                    Path = \"commons-qa-maven-local/org/apache/tomcat/commons/1.0.0/commons-1.0.0.jar\",\n                    Sha256 = \"0d2053f76605e0734f5251a78c5dade5ee81b0f3730b3f603aedb90bc58033fb\",\n                },\n            },\n        },\n    });\n\n    var my_release_bundle_v2_builds = new Artifactory.ReleaseBundleV2(\"my-release-bundle-v2-builds\", new()\n    {\n        Name = \"my-release-bundle-v2-builds\",\n        Version = \"1.0.0\",\n        KeypairName = \"my-keypair-name\",\n        SkipDockerManifestResolution = true,\n        SourceType = \"builds\",\n        Source = new Artifactory.Inputs.ReleaseBundleV2SourceArgs\n        {\n            Builds = new[]\n            {\n                new Artifactory.Inputs.ReleaseBundleV2SourceBuildArgs\n                {\n                    Name = \"my-build-info-name\",\n                    Number = \"1.0\",\n                },\n            },\n        },\n    });\n\n    var my_release_bundle_v2_rb = new Artifactory.ReleaseBundleV2(\"my-release-bundle-v2-rb\", new()\n    {\n        Name = \"my-release-bundle-v2-rb\",\n        Version = \"2.0.0\",\n        KeypairName = \"my-keypair-name\",\n        SkipDockerManifestResolution = true,\n        SourceType = \"release_bundles\",\n        Source = new Artifactory.Inputs.ReleaseBundleV2SourceArgs\n        {\n            ReleaseBundles = new[]\n            {\n                new Artifactory.Inputs.ReleaseBundleV2SourceReleaseBundleArgs\n                {\n                    Name = \"my-rb-name\",\n                    Version = \"1.0.0\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewReleaseBundleV2(ctx, \"my-release-bundle-v2-aql\", \u0026artifactory.ReleaseBundleV2Args{\n\t\t\tName:                         pulumi.String(\"my-release-bundle-v2-aql\"),\n\t\t\tVersion:                      pulumi.String(\"1.0.0\"),\n\t\t\tKeypairName:                  pulumi.String(\"my-keypair-name\"),\n\t\t\tProjectKey:                   pulumi.String(\"myproj-key\"),\n\t\t\tSkipDockerManifestResolution: pulumi.Bool(true),\n\t\t\tSourceType:                   pulumi.String(\"aql\"),\n\t\t\tSource: \u0026artifactory.ReleaseBundleV2SourceArgs{\n\t\t\t\tAql: pulumi.String(\"items.find({\\\"repo\\\": {\\\"$match\\\": \\\"my-generic-*\\\"}})\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = artifactory.NewReleaseBundleV2(ctx, \"my-release-bundle-v2-artifacts\", \u0026artifactory.ReleaseBundleV2Args{\n\t\t\tName:                         pulumi.String(\"my-release-bundle-v2-artifacts\"),\n\t\t\tVersion:                      pulumi.String(\"1.0.0\"),\n\t\t\tKeypairName:                  pulumi.String(\"my-keypair-name\"),\n\t\t\tSkipDockerManifestResolution: pulumi.Bool(true),\n\t\t\tSourceType:                   pulumi.String(\"artifacts\"),\n\t\t\tSource: \u0026artifactory.ReleaseBundleV2SourceArgs{\n\t\t\t\tArtifacts: artifactory.ReleaseBundleV2SourceArtifactArray{\n\t\t\t\t\t\u0026artifactory.ReleaseBundleV2SourceArtifactArgs{\n\t\t\t\t\t\tPath:   pulumi.String(\"commons-qa-maven-local/org/apache/tomcat/commons/1.0.0/commons-1.0.0.jar\"),\n\t\t\t\t\t\tSha256: pulumi.String(\"0d2053f76605e0734f5251a78c5dade5ee81b0f3730b3f603aedb90bc58033fb\"),\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\t_, err = artifactory.NewReleaseBundleV2(ctx, \"my-release-bundle-v2-builds\", \u0026artifactory.ReleaseBundleV2Args{\n\t\t\tName:                         pulumi.String(\"my-release-bundle-v2-builds\"),\n\t\t\tVersion:                      pulumi.String(\"1.0.0\"),\n\t\t\tKeypairName:                  pulumi.String(\"my-keypair-name\"),\n\t\t\tSkipDockerManifestResolution: pulumi.Bool(true),\n\t\t\tSourceType:                   pulumi.String(\"builds\"),\n\t\t\tSource: \u0026artifactory.ReleaseBundleV2SourceArgs{\n\t\t\t\tBuilds: artifactory.ReleaseBundleV2SourceBuildArray{\n\t\t\t\t\t\u0026artifactory.ReleaseBundleV2SourceBuildArgs{\n\t\t\t\t\t\tName:   pulumi.String(\"my-build-info-name\"),\n\t\t\t\t\t\tNumber: pulumi.String(\"1.0\"),\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\t_, err = artifactory.NewReleaseBundleV2(ctx, \"my-release-bundle-v2-rb\", \u0026artifactory.ReleaseBundleV2Args{\n\t\t\tName:                         pulumi.String(\"my-release-bundle-v2-rb\"),\n\t\t\tVersion:                      pulumi.String(\"2.0.0\"),\n\t\t\tKeypairName:                  pulumi.String(\"my-keypair-name\"),\n\t\t\tSkipDockerManifestResolution: pulumi.Bool(true),\n\t\t\tSourceType:                   pulumi.String(\"release_bundles\"),\n\t\t\tSource: \u0026artifactory.ReleaseBundleV2SourceArgs{\n\t\t\t\tReleaseBundles: artifactory.ReleaseBundleV2SourceReleaseBundleArray{\n\t\t\t\t\t\u0026artifactory.ReleaseBundleV2SourceReleaseBundleArgs{\n\t\t\t\t\t\tName:    pulumi.String(\"my-rb-name\"),\n\t\t\t\t\t\tVersion: pulumi.String(\"1.0.0\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_releasebundlev2\" \"my-release-bundle-v2-aql\" {\n  name                            = \"my-release-bundle-v2-aql\"\n  version                         = \"1.0.0\"\n  keypair_name                    = \"my-keypair-name\"\n  project_key                     = \"myproj-key\"\n  skip_docker_manifest_resolution = true\n  source_type                     = \"aql\"\n  source = {\n    aql = \"items.find({\\\"repo\\\": {\\\"$match\\\": \\\"my-generic-*\\\"}})\"\n  }\n}\nresource \"artifactory_releasebundlev2\" \"my-release-bundle-v2-artifacts\" {\n  name                            = \"my-release-bundle-v2-artifacts\"\n  version                         = \"1.0.0\"\n  keypair_name                    = \"my-keypair-name\"\n  skip_docker_manifest_resolution = true\n  source_type                     = \"artifacts\"\n  source = {\n    artifacts = [{\n      \"path\"   = \"commons-qa-maven-local/org/apache/tomcat/commons/1.0.0/commons-1.0.0.jar\"\n      \"sha256\" = \"0d2053f76605e0734f5251a78c5dade5ee81b0f3730b3f603aedb90bc58033fb\"\n    }]\n  }\n}\nresource \"artifactory_releasebundlev2\" \"my-release-bundle-v2-builds\" {\n  name                            = \"my-release-bundle-v2-builds\"\n  version                         = \"1.0.0\"\n  keypair_name                    = \"my-keypair-name\"\n  skip_docker_manifest_resolution = true\n  source_type                     = \"builds\"\n  source = {\n    builds = [{\n      \"name\"   = \"my-build-info-name\"\n      \"number\" = \"1.0\"\n    }]\n  }\n}\nresource \"artifactory_releasebundlev2\" \"my-release-bundle-v2-rb\" {\n  name                            = \"my-release-bundle-v2-rb\"\n  version                         = \"2.0.0\"\n  keypair_name                    = \"my-keypair-name\"\n  skip_docker_manifest_resolution = true\n  source_type                     = \"release_bundles\"\n  source = {\n    release_bundles = [{\n      \"name\"    = \"my-rb-name\"\n      \"version\" = \"1.0.0\"\n    }]\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.ReleaseBundleV2;\nimport com.pulumi.artifactory.ReleaseBundleV2Args;\nimport com.pulumi.artifactory.inputs.ReleaseBundleV2SourceArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 my_release_bundle_v2_aql = new ReleaseBundleV2(\"my-release-bundle-v2-aql\", ReleaseBundleV2Args.builder()\n            .name(\"my-release-bundle-v2-aql\")\n            .version(\"1.0.0\")\n            .keypairName(\"my-keypair-name\")\n            .projectKey(\"myproj-key\")\n            .skipDockerManifestResolution(true)\n            .sourceType(\"aql\")\n            .source(ReleaseBundleV2SourceArgs.builder()\n                .aql(\"items.find({\\\"repo\\\": {\\\"$match\\\": \\\"my-generic-*\\\"}})\")\n                .build())\n            .build());\n\n        var my_release_bundle_v2_artifacts = new ReleaseBundleV2(\"my-release-bundle-v2-artifacts\", ReleaseBundleV2Args.builder()\n            .name(\"my-release-bundle-v2-artifacts\")\n            .version(\"1.0.0\")\n            .keypairName(\"my-keypair-name\")\n            .skipDockerManifestResolution(true)\n            .sourceType(\"artifacts\")\n            .source(ReleaseBundleV2SourceArgs.builder()\n                .artifacts(ReleaseBundleV2SourceArtifactArgs.builder()\n                    .path(\"commons-qa-maven-local/org/apache/tomcat/commons/1.0.0/commons-1.0.0.jar\")\n                    .sha256(\"0d2053f76605e0734f5251a78c5dade5ee81b0f3730b3f603aedb90bc58033fb\")\n                    .build())\n                .build())\n            .build());\n\n        var my_release_bundle_v2_builds = new ReleaseBundleV2(\"my-release-bundle-v2-builds\", ReleaseBundleV2Args.builder()\n            .name(\"my-release-bundle-v2-builds\")\n            .version(\"1.0.0\")\n            .keypairName(\"my-keypair-name\")\n            .skipDockerManifestResolution(true)\n            .sourceType(\"builds\")\n            .source(ReleaseBundleV2SourceArgs.builder()\n                .builds(ReleaseBundleV2SourceBuildArgs.builder()\n                    .name(\"my-build-info-name\")\n                    .number(\"1.0\")\n                    .build())\n                .build())\n            .build());\n\n        var my_release_bundle_v2_rb = new ReleaseBundleV2(\"my-release-bundle-v2-rb\", ReleaseBundleV2Args.builder()\n            .name(\"my-release-bundle-v2-rb\")\n            .version(\"2.0.0\")\n            .keypairName(\"my-keypair-name\")\n            .skipDockerManifestResolution(true)\n            .sourceType(\"release_bundles\")\n            .source(ReleaseBundleV2SourceArgs.builder()\n                .releaseBundles(ReleaseBundleV2SourceReleaseBundleArgs.builder()\n                    .name(\"my-rb-name\")\n                    .version(\"1.0.0\")\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  my-release-bundle-v2-aql:\n    type: artifactory:ReleaseBundleV2\n    properties:\n      name: my-release-bundle-v2-aql\n      version: 1.0.0\n      keypairName: my-keypair-name\n      projectKey: myproj-key\n      skipDockerManifestResolution: true\n      sourceType: aql\n      source:\n        aql: 'items.find({\"repo\": {\"$match\": \"my-generic-*\"}})'\n  my-release-bundle-v2-artifacts:\n    type: artifactory:ReleaseBundleV2\n    properties:\n      name: my-release-bundle-v2-artifacts\n      version: 1.0.0\n      keypairName: my-keypair-name\n      skipDockerManifestResolution: true\n      sourceType: artifacts\n      source:\n        artifacts:\n          - path: commons-qa-maven-local/org/apache/tomcat/commons/1.0.0/commons-1.0.0.jar\n            sha256: 0d2053f76605e0734f5251a78c5dade5ee81b0f3730b3f603aedb90bc58033fb\n  my-release-bundle-v2-builds:\n    type: artifactory:ReleaseBundleV2\n    properties:\n      name: my-release-bundle-v2-builds\n      version: 1.0.0\n      keypairName: my-keypair-name\n      skipDockerManifestResolution: true\n      sourceType: builds\n      source:\n        builds:\n          - name: my-build-info-name\n            number: '1.0'\n  my-release-bundle-v2-rb:\n    type: artifactory:ReleaseBundleV2\n    properties:\n      name: my-release-bundle-v2-rb\n      version: 2.0.0\n      keypairName: my-keypair-name\n      skipDockerManifestResolution: true\n      sourceType: release_bundles\n      source:\n        releaseBundles:\n          - name: my-rb-name\n            version: 1.0.0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "properties": {
                "created": {
                    "type": "string",
                    "description": "Timestamp when the new version was created (ISO 8601 standard).\n"
                },
                "createdBy": {
                    "type": "string",
                    "description": "The user who created the Release Bundle.\n"
                },
                "keypairName": {
                    "type": "string",
                    "description": "Key-pair name to use for signature creation\n"
                },
                "name": {
                    "type": "string",
                    "description": "Name of Release Bundle\n"
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key the Release Bundle belongs to\n"
                },
                "serviceId": {
                    "type": "string",
                    "description": "The unique identifier of the Artifactory instance where the Release Bundle was created.\n"
                },
                "skipDockerManifestResolution": {
                    "type": "boolean",
                    "description": "Determines whether to skip the resolution of the Docker manifest, which adds the image layers to the Release Bundle. The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e (the manifest is resolved and image layers are included).\n"
                },
                "source": {
                    "$ref": "#/types/artifactory:index/ReleaseBundleV2Source:ReleaseBundleV2Source",
                    "description": "Defines specific repositories to include in the promotion. If this property is left undefined, all repositories (except those specifically excluded) are included in the promotion. Important: If one or more repositories are specifically included, all other repositories are excluded (regardless of what is defined in \u003cspan pulumi-lang-nodejs=\"`excludedRepositoryKeys`\" pulumi-lang-dotnet=\"`ExcludedRepositoryKeys`\" pulumi-lang-go=\"`excludedRepositoryKeys`\" pulumi-lang-python=\"`excluded_repository_keys`\" pulumi-lang-yaml=\"`excludedRepositoryKeys`\" pulumi-lang-java=\"`excludedRepositoryKeys`\" pulumi-lang-hcl=\"`excluded_repository_keys`\"\u003e`excludedRepositoryKeys`\u003c/span\u003e).\n"
                },
                "sourceType": {
                    "type": "string",
                    "description": "Source type. Valid values: \u003cspan pulumi-lang-nodejs=\"`aql`\" pulumi-lang-dotnet=\"`Aql`\" pulumi-lang-go=\"`aql`\" pulumi-lang-python=\"`aql`\" pulumi-lang-yaml=\"`aql`\" pulumi-lang-java=\"`aql`\" pulumi-lang-hcl=\"`aql`\"\u003e`aql`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`artifacts`\" pulumi-lang-dotnet=\"`Artifacts`\" pulumi-lang-go=\"`artifacts`\" pulumi-lang-python=\"`artifacts`\" pulumi-lang-yaml=\"`artifacts`\" pulumi-lang-java=\"`artifacts`\" pulumi-lang-hcl=\"`artifacts`\"\u003e`artifacts`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`builds`\" pulumi-lang-dotnet=\"`Builds`\" pulumi-lang-go=\"`builds`\" pulumi-lang-python=\"`builds`\" pulumi-lang-yaml=\"`builds`\" pulumi-lang-java=\"`builds`\" pulumi-lang-hcl=\"`builds`\"\u003e`builds`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`releaseBundles`\" pulumi-lang-dotnet=\"`ReleaseBundles`\" pulumi-lang-go=\"`releaseBundles`\" pulumi-lang-python=\"`release_bundles`\" pulumi-lang-yaml=\"`releaseBundles`\" pulumi-lang-java=\"`releaseBundles`\" pulumi-lang-hcl=\"`release_bundles`\"\u003e`releaseBundles`\u003c/span\u003e\n"
                },
                "version": {
                    "type": "string",
                    "description": "Version to promote\n"
                }
            },
            "required": [
                "created",
                "createdBy",
                "keypairName",
                "name",
                "serviceId",
                "skipDockerManifestResolution",
                "source",
                "sourceType",
                "version"
            ],
            "inputProperties": {
                "keypairName": {
                    "type": "string",
                    "description": "Key-pair name to use for signature creation\n"
                },
                "name": {
                    "type": "string",
                    "description": "Name of Release Bundle\n"
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key the Release Bundle belongs to\n"
                },
                "skipDockerManifestResolution": {
                    "type": "boolean",
                    "description": "Determines whether to skip the resolution of the Docker manifest, which adds the image layers to the Release Bundle. The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e (the manifest is resolved and image layers are included).\n"
                },
                "source": {
                    "$ref": "#/types/artifactory:index/ReleaseBundleV2Source:ReleaseBundleV2Source",
                    "description": "Defines specific repositories to include in the promotion. If this property is left undefined, all repositories (except those specifically excluded) are included in the promotion. Important: If one or more repositories are specifically included, all other repositories are excluded (regardless of what is defined in \u003cspan pulumi-lang-nodejs=\"`excludedRepositoryKeys`\" pulumi-lang-dotnet=\"`ExcludedRepositoryKeys`\" pulumi-lang-go=\"`excludedRepositoryKeys`\" pulumi-lang-python=\"`excluded_repository_keys`\" pulumi-lang-yaml=\"`excludedRepositoryKeys`\" pulumi-lang-java=\"`excludedRepositoryKeys`\" pulumi-lang-hcl=\"`excluded_repository_keys`\"\u003e`excludedRepositoryKeys`\u003c/span\u003e).\n"
                },
                "sourceType": {
                    "type": "string",
                    "description": "Source type. Valid values: \u003cspan pulumi-lang-nodejs=\"`aql`\" pulumi-lang-dotnet=\"`Aql`\" pulumi-lang-go=\"`aql`\" pulumi-lang-python=\"`aql`\" pulumi-lang-yaml=\"`aql`\" pulumi-lang-java=\"`aql`\" pulumi-lang-hcl=\"`aql`\"\u003e`aql`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`artifacts`\" pulumi-lang-dotnet=\"`Artifacts`\" pulumi-lang-go=\"`artifacts`\" pulumi-lang-python=\"`artifacts`\" pulumi-lang-yaml=\"`artifacts`\" pulumi-lang-java=\"`artifacts`\" pulumi-lang-hcl=\"`artifacts`\"\u003e`artifacts`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`builds`\" pulumi-lang-dotnet=\"`Builds`\" pulumi-lang-go=\"`builds`\" pulumi-lang-python=\"`builds`\" pulumi-lang-yaml=\"`builds`\" pulumi-lang-java=\"`builds`\" pulumi-lang-hcl=\"`builds`\"\u003e`builds`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`releaseBundles`\" pulumi-lang-dotnet=\"`ReleaseBundles`\" pulumi-lang-go=\"`releaseBundles`\" pulumi-lang-python=\"`release_bundles`\" pulumi-lang-yaml=\"`releaseBundles`\" pulumi-lang-java=\"`releaseBundles`\" pulumi-lang-hcl=\"`release_bundles`\"\u003e`releaseBundles`\u003c/span\u003e\n"
                },
                "version": {
                    "type": "string",
                    "description": "Version to promote\n"
                }
            },
            "requiredInputs": [
                "keypairName",
                "source",
                "sourceType",
                "version"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering ReleaseBundleV2 resources.\n",
                "properties": {
                    "created": {
                        "type": "string",
                        "description": "Timestamp when the new version was created (ISO 8601 standard).\n"
                    },
                    "createdBy": {
                        "type": "string",
                        "description": "The user who created the Release Bundle.\n"
                    },
                    "keypairName": {
                        "type": "string",
                        "description": "Key-pair name to use for signature creation\n"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of Release Bundle\n"
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key the Release Bundle belongs to\n"
                    },
                    "serviceId": {
                        "type": "string",
                        "description": "The unique identifier of the Artifactory instance where the Release Bundle was created.\n"
                    },
                    "skipDockerManifestResolution": {
                        "type": "boolean",
                        "description": "Determines whether to skip the resolution of the Docker manifest, which adds the image layers to the Release Bundle. The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e (the manifest is resolved and image layers are included).\n"
                    },
                    "source": {
                        "$ref": "#/types/artifactory:index/ReleaseBundleV2Source:ReleaseBundleV2Source",
                        "description": "Defines specific repositories to include in the promotion. If this property is left undefined, all repositories (except those specifically excluded) are included in the promotion. Important: If one or more repositories are specifically included, all other repositories are excluded (regardless of what is defined in \u003cspan pulumi-lang-nodejs=\"`excludedRepositoryKeys`\" pulumi-lang-dotnet=\"`ExcludedRepositoryKeys`\" pulumi-lang-go=\"`excludedRepositoryKeys`\" pulumi-lang-python=\"`excluded_repository_keys`\" pulumi-lang-yaml=\"`excludedRepositoryKeys`\" pulumi-lang-java=\"`excludedRepositoryKeys`\" pulumi-lang-hcl=\"`excluded_repository_keys`\"\u003e`excludedRepositoryKeys`\u003c/span\u003e).\n"
                    },
                    "sourceType": {
                        "type": "string",
                        "description": "Source type. Valid values: \u003cspan pulumi-lang-nodejs=\"`aql`\" pulumi-lang-dotnet=\"`Aql`\" pulumi-lang-go=\"`aql`\" pulumi-lang-python=\"`aql`\" pulumi-lang-yaml=\"`aql`\" pulumi-lang-java=\"`aql`\" pulumi-lang-hcl=\"`aql`\"\u003e`aql`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`artifacts`\" pulumi-lang-dotnet=\"`Artifacts`\" pulumi-lang-go=\"`artifacts`\" pulumi-lang-python=\"`artifacts`\" pulumi-lang-yaml=\"`artifacts`\" pulumi-lang-java=\"`artifacts`\" pulumi-lang-hcl=\"`artifacts`\"\u003e`artifacts`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`builds`\" pulumi-lang-dotnet=\"`Builds`\" pulumi-lang-go=\"`builds`\" pulumi-lang-python=\"`builds`\" pulumi-lang-yaml=\"`builds`\" pulumi-lang-java=\"`builds`\" pulumi-lang-hcl=\"`builds`\"\u003e`builds`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`releaseBundles`\" pulumi-lang-dotnet=\"`ReleaseBundles`\" pulumi-lang-go=\"`releaseBundles`\" pulumi-lang-python=\"`release_bundles`\" pulumi-lang-yaml=\"`releaseBundles`\" pulumi-lang-java=\"`releaseBundles`\" pulumi-lang-hcl=\"`release_bundles`\"\u003e`releaseBundles`\u003c/span\u003e\n"
                    },
                    "version": {
                        "type": "string",
                        "description": "Version to promote\n"
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/releaseBundleV2CleanupPolicy:ReleaseBundleV2CleanupPolicy": {
            "description": "Provides an Artifactory Archive Policy resource. This resource enable system administrators to configure and maintain JFrog cleanup policies for Release Bundles V2. See [Cleanup Policies](https://jfrog.com/help/r/jfrog-rest-apis/cleanup-policies-release-bundles-v2-apis) for more details.\n\n~\u003eRelease Bundles V2 Cleanup Policies APIs are supported on Artifactory version 7.104.2 and later.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst my_release_bundle_v2_rb = new artifactory.ReleaseBundleV2(\"my-release-bundle-v2-rb\", {\n    name: \"my-release-bundle-v2-rb\",\n    version: \"2.0.0\",\n    keypairName: \"my-keypair-name\",\n    skipDockerManifestResolution: true,\n    sourceType: \"release_bundles\",\n    source: {\n        releaseBundles: [{\n            name: \"my-rb-name\",\n            version: \"1.0.0\",\n        }],\n    },\n});\nconst my_resource_bundle_v2_cleanup_policy = new artifactory.ReleaseBundleV2CleanupPolicy(\"my-resource-bundle-v2-cleanup-policy\", {\n    key: \"my-release-bundle-v2-policy-key\",\n    description: \"Cleanup policy description\",\n    cronExpression: \"0 0 2 * * ?\",\n    durationInMinutes: 60,\n    enabled: true,\n    searchCriteria: {\n        includeAllProjects: true,\n        includedProjects: [],\n        releaseBundles: [{\n            name: \"my-release-bundle-v2-rb\",\n            projectKey: \"\",\n        }],\n        excludePromotedEnvironments: [\"**\"],\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nmy_release_bundle_v2_rb = artifactory.ReleaseBundleV2(\"my-release-bundle-v2-rb\",\n    name=\"my-release-bundle-v2-rb\",\n    version=\"2.0.0\",\n    keypair_name=\"my-keypair-name\",\n    skip_docker_manifest_resolution=True,\n    source_type=\"release_bundles\",\n    source={\n        \"release_bundles\": [{\n            \"name\": \"my-rb-name\",\n            \"version\": \"1.0.0\",\n        }],\n    })\nmy_resource_bundle_v2_cleanup_policy = artifactory.ReleaseBundleV2CleanupPolicy(\"my-resource-bundle-v2-cleanup-policy\",\n    key=\"my-release-bundle-v2-policy-key\",\n    description=\"Cleanup policy description\",\n    cron_expression=\"0 0 2 * * ?\",\n    duration_in_minutes=60,\n    enabled=True,\n    search_criteria={\n        \"include_all_projects\": True,\n        \"included_projects\": [],\n        \"release_bundles\": [{\n            \"name\": \"my-release-bundle-v2-rb\",\n            \"project_key\": \"\",\n        }],\n        \"exclude_promoted_environments\": [\"**\"],\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var my_release_bundle_v2_rb = new Artifactory.ReleaseBundleV2(\"my-release-bundle-v2-rb\", new()\n    {\n        Name = \"my-release-bundle-v2-rb\",\n        Version = \"2.0.0\",\n        KeypairName = \"my-keypair-name\",\n        SkipDockerManifestResolution = true,\n        SourceType = \"release_bundles\",\n        Source = new Artifactory.Inputs.ReleaseBundleV2SourceArgs\n        {\n            ReleaseBundles = new[]\n            {\n                new Artifactory.Inputs.ReleaseBundleV2SourceReleaseBundleArgs\n                {\n                    Name = \"my-rb-name\",\n                    Version = \"1.0.0\",\n                },\n            },\n        },\n    });\n\n    var my_resource_bundle_v2_cleanup_policy = new Artifactory.ReleaseBundleV2CleanupPolicy(\"my-resource-bundle-v2-cleanup-policy\", new()\n    {\n        Key = \"my-release-bundle-v2-policy-key\",\n        Description = \"Cleanup policy description\",\n        CronExpression = \"0 0 2 * * ?\",\n        DurationInMinutes = 60,\n        Enabled = true,\n        SearchCriteria = new Artifactory.Inputs.ReleaseBundleV2CleanupPolicySearchCriteriaArgs\n        {\n            IncludeAllProjects = true,\n            IncludedProjects = new() { },\n            ReleaseBundles = new[]\n            {\n                new Artifactory.Inputs.ReleaseBundleV2CleanupPolicySearchCriteriaReleaseBundleArgs\n                {\n                    Name = \"my-release-bundle-v2-rb\",\n                    ProjectKey = \"\",\n                },\n            },\n            ExcludePromotedEnvironments = new[]\n            {\n                \"**\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewReleaseBundleV2(ctx, \"my-release-bundle-v2-rb\", \u0026artifactory.ReleaseBundleV2Args{\n\t\t\tName:                         pulumi.String(\"my-release-bundle-v2-rb\"),\n\t\t\tVersion:                      pulumi.String(\"2.0.0\"),\n\t\t\tKeypairName:                  pulumi.String(\"my-keypair-name\"),\n\t\t\tSkipDockerManifestResolution: pulumi.Bool(true),\n\t\t\tSourceType:                   pulumi.String(\"release_bundles\"),\n\t\t\tSource: \u0026artifactory.ReleaseBundleV2SourceArgs{\n\t\t\t\tReleaseBundles: artifactory.ReleaseBundleV2SourceReleaseBundleArray{\n\t\t\t\t\t\u0026artifactory.ReleaseBundleV2SourceReleaseBundleArgs{\n\t\t\t\t\t\tName:    pulumi.String(\"my-rb-name\"),\n\t\t\t\t\t\tVersion: pulumi.String(\"1.0.0\"),\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\t_, err = artifactory.NewReleaseBundleV2CleanupPolicy(ctx, \"my-resource-bundle-v2-cleanup-policy\", \u0026artifactory.ReleaseBundleV2CleanupPolicyArgs{\n\t\t\tKey:               pulumi.String(\"my-release-bundle-v2-policy-key\"),\n\t\t\tDescription:       pulumi.String(\"Cleanup policy description\"),\n\t\t\tCronExpression:    pulumi.String(\"0 0 2 * * ?\"),\n\t\t\tDurationInMinutes: pulumi.Int(60),\n\t\t\tEnabled:           pulumi.Bool(true),\n\t\t\tSearchCriteria: \u0026artifactory.ReleaseBundleV2CleanupPolicySearchCriteriaArgs{\n\t\t\t\tIncludeAllProjects: pulumi.Bool(true),\n\t\t\t\tIncludedProjects:   pulumi.StringArray{},\n\t\t\t\tReleaseBundles: artifactory.ReleaseBundleV2CleanupPolicySearchCriteriaReleaseBundleArray{\n\t\t\t\t\t\u0026artifactory.ReleaseBundleV2CleanupPolicySearchCriteriaReleaseBundleArgs{\n\t\t\t\t\t\tName:       pulumi.String(\"my-release-bundle-v2-rb\"),\n\t\t\t\t\t\tProjectKey: pulumi.String(\"\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tExcludePromotedEnvironments: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"**\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_releasebundlev2\" \"my-release-bundle-v2-rb\" {\n  name                            = \"my-release-bundle-v2-rb\"\n  version                         = \"2.0.0\"\n  keypair_name                    = \"my-keypair-name\"\n  skip_docker_manifest_resolution = true\n  source_type                     = \"release_bundles\"\n  source = {\n    release_bundles = [{\n      \"name\"    = \"my-rb-name\"\n      \"version\" = \"1.0.0\"\n    }]\n  }\n}\nresource \"artifactory_releasebundlev2cleanuppolicy\" \"my-resource-bundle-v2-cleanup-policy\" {\n  key                 = \"my-release-bundle-v2-policy-key\"\n  description         = \"Cleanup policy description\"\n  cron_expression     = \"0 0 2 * * ?\"\n  duration_in_minutes = 60\n  enabled             = true\n  search_criteria = {\n    include_all_projects = true\n    included_projects    = []\n    release_bundles = [{\n      \"name\"       = \"my-release-bundle-v2-rb\"\n      \"projectKey\" = \"\"\n    }]\n    exclude_promoted_environments = [\"**\"]\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.ReleaseBundleV2;\nimport com.pulumi.artifactory.ReleaseBundleV2Args;\nimport com.pulumi.artifactory.inputs.ReleaseBundleV2SourceArgs;\nimport com.pulumi.artifactory.ReleaseBundleV2CleanupPolicy;\nimport com.pulumi.artifactory.ReleaseBundleV2CleanupPolicyArgs;\nimport com.pulumi.artifactory.inputs.ReleaseBundleV2CleanupPolicySearchCriteriaArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 my_release_bundle_v2_rb = new ReleaseBundleV2(\"my-release-bundle-v2-rb\", ReleaseBundleV2Args.builder()\n            .name(\"my-release-bundle-v2-rb\")\n            .version(\"2.0.0\")\n            .keypairName(\"my-keypair-name\")\n            .skipDockerManifestResolution(true)\n            .sourceType(\"release_bundles\")\n            .source(ReleaseBundleV2SourceArgs.builder()\n                .releaseBundles(ReleaseBundleV2SourceReleaseBundleArgs.builder()\n                    .name(\"my-rb-name\")\n                    .version(\"1.0.0\")\n                    .build())\n                .build())\n            .build());\n\n        var my_resource_bundle_v2_cleanup_policy = new ReleaseBundleV2CleanupPolicy(\"my-resource-bundle-v2-cleanup-policy\", ReleaseBundleV2CleanupPolicyArgs.builder()\n            .key(\"my-release-bundle-v2-policy-key\")\n            .description(\"Cleanup policy description\")\n            .cronExpression(\"0 0 2 * * ?\")\n            .durationInMinutes(60)\n            .enabled(true)\n            .searchCriteria(ReleaseBundleV2CleanupPolicySearchCriteriaArgs.builder()\n                .includeAllProjects(true)\n                .includedProjects()\n                .releaseBundles(ReleaseBundleV2CleanupPolicySearchCriteriaReleaseBundleArgs.builder()\n                    .name(\"my-release-bundle-v2-rb\")\n                    .projectKey(\"\")\n                    .build())\n                .excludePromotedEnvironments(\"**\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  my-release-bundle-v2-rb:\n    type: artifactory:ReleaseBundleV2\n    properties:\n      name: my-release-bundle-v2-rb\n      version: 2.0.0\n      keypairName: my-keypair-name\n      skipDockerManifestResolution: true\n      sourceType: release_bundles\n      source:\n        releaseBundles:\n          - name: my-rb-name\n            version: 1.0.0\n  my-resource-bundle-v2-cleanup-policy:\n    type: artifactory:ReleaseBundleV2CleanupPolicy\n    properties:\n      key: my-release-bundle-v2-policy-key\n      description: Cleanup policy description\n      cronExpression: 0 0 2 * * ?\n      durationInMinutes: 60\n      enabled: true\n      searchCriteria:\n        includeAllProjects: true\n        includedProjects: []\n        releaseBundles:\n          - name: my-release-bundle-v2-rb\n            projectKey: \"\"\n        excludePromotedEnvironments:\n          - '**'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using Variables for Duration and Created Before In Months\n\nYou can use Terraform variables for \u003cspan pulumi-lang-nodejs=\"`durationInMinutes`\" pulumi-lang-dotnet=\"`DurationInMinutes`\" pulumi-lang-go=\"`durationInMinutes`\" pulumi-lang-python=\"`duration_in_minutes`\" pulumi-lang-yaml=\"`durationInMinutes`\" pulumi-lang-java=\"`durationInMinutes`\" pulumi-lang-hcl=\"`duration_in_minutes`\"\u003e`durationInMinutes`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`createdBeforeInMonths`\" pulumi-lang-dotnet=\"`CreatedBeforeInMonths`\" pulumi-lang-go=\"`createdBeforeInMonths`\" pulumi-lang-python=\"`created_before_in_months`\" pulumi-lang-yaml=\"`createdBeforeInMonths`\" pulumi-lang-java=\"`createdBeforeInMonths`\" pulumi-lang-hcl=\"`created_before_in_months`\"\u003e`createdBeforeInMonths`\u003c/span\u003e. This allows `terraform validate` to pass without requiring variable values when defaults are provided.\n\n**Example with variables:**\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst config = new pulumi.Config();\nconst releaseBundleCleanupDurationInMinutes = config.getNumber(\"releaseBundleCleanupDurationInMinutes\") || 120;\nconst releaseBundleCleanupCreatedBeforeInMonths = config.getNumber(\"releaseBundleCleanupCreatedBeforeInMonths\") || 36;\nconst my_resource_bundle_v2_cleanup_policy = new artifactory.ReleaseBundleV2CleanupPolicy(\"my-resource-bundle-v2-cleanup-policy\", {\n    key: \"my-release-bundle-v2-policy-key\",\n    description: \"Cleanup policy description with variables\",\n    cronExpression: \"0 0 2 * * ?\",\n    durationInMinutes: releaseBundleCleanupDurationInMinutes,\n    enabled: true,\n    searchCriteria: {\n        includeAllProjects: true,\n        includedProjects: [],\n        releaseBundles: [{\n            name: \"my-release-bundle-v2-rb\",\n            projectKey: \"\",\n        }],\n        excludePromotedEnvironments: [\"**\"],\n        createdBeforeInMonths: releaseBundleCleanupCreatedBeforeInMonths,\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nconfig = pulumi.Config()\nrelease_bundle_cleanup_duration_in_minutes = config.get_float(\"releaseBundleCleanupDurationInMinutes\")\nif release_bundle_cleanup_duration_in_minutes is None:\n    release_bundle_cleanup_duration_in_minutes = 120\nrelease_bundle_cleanup_created_before_in_months = config.get_float(\"releaseBundleCleanupCreatedBeforeInMonths\")\nif release_bundle_cleanup_created_before_in_months is None:\n    release_bundle_cleanup_created_before_in_months = 36\nmy_resource_bundle_v2_cleanup_policy = artifactory.ReleaseBundleV2CleanupPolicy(\"my-resource-bundle-v2-cleanup-policy\",\n    key=\"my-release-bundle-v2-policy-key\",\n    description=\"Cleanup policy description with variables\",\n    cron_expression=\"0 0 2 * * ?\",\n    duration_in_minutes=int(release_bundle_cleanup_duration_in_minutes),\n    enabled=True,\n    search_criteria={\n        \"include_all_projects\": True,\n        \"included_projects\": [],\n        \"release_bundles\": [{\n            \"name\": \"my-release-bundle-v2-rb\",\n            \"project_key\": \"\",\n        }],\n        \"exclude_promoted_environments\": [\"**\"],\n        \"created_before_in_months\": int(release_bundle_cleanup_created_before_in_months),\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    var releaseBundleCleanupDurationInMinutes = config.GetDouble(\"releaseBundleCleanupDurationInMinutes\") ?? 120;\n    var releaseBundleCleanupCreatedBeforeInMonths = config.GetDouble(\"releaseBundleCleanupCreatedBeforeInMonths\") ?? 36;\n    var my_resource_bundle_v2_cleanup_policy = new Artifactory.ReleaseBundleV2CleanupPolicy(\"my-resource-bundle-v2-cleanup-policy\", new()\n    {\n        Key = \"my-release-bundle-v2-policy-key\",\n        Description = \"Cleanup policy description with variables\",\n        CronExpression = \"0 0 2 * * ?\",\n        DurationInMinutes = releaseBundleCleanupDurationInMinutes,\n        Enabled = true,\n        SearchCriteria = new Artifactory.Inputs.ReleaseBundleV2CleanupPolicySearchCriteriaArgs\n        {\n            IncludeAllProjects = true,\n            IncludedProjects = new() { },\n            ReleaseBundles = new[]\n            {\n                new Artifactory.Inputs.ReleaseBundleV2CleanupPolicySearchCriteriaReleaseBundleArgs\n                {\n                    Name = \"my-release-bundle-v2-rb\",\n                    ProjectKey = \"\",\n                },\n            },\n            ExcludePromotedEnvironments = new[]\n            {\n                \"**\",\n            },\n            CreatedBeforeInMonths = releaseBundleCleanupCreatedBeforeInMonths,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\treleaseBundleCleanupDurationInMinutes := float64(120)\n\t\tif param := cfg.GetFloat64(\"releaseBundleCleanupDurationInMinutes\"); param != 0 {\n\t\t\treleaseBundleCleanupDurationInMinutes = param\n\t\t}\n\t\treleaseBundleCleanupCreatedBeforeInMonths := float64(36)\n\t\tif param := cfg.GetFloat64(\"releaseBundleCleanupCreatedBeforeInMonths\"); param != 0 {\n\t\t\treleaseBundleCleanupCreatedBeforeInMonths = param\n\t\t}\n\t\t_, err := artifactory.NewReleaseBundleV2CleanupPolicy(ctx, \"my-resource-bundle-v2-cleanup-policy\", \u0026artifactory.ReleaseBundleV2CleanupPolicyArgs{\n\t\t\tKey:               pulumi.String(\"my-release-bundle-v2-policy-key\"),\n\t\t\tDescription:       pulumi.String(\"Cleanup policy description with variables\"),\n\t\t\tCronExpression:    pulumi.String(\"0 0 2 * * ?\"),\n\t\t\tDurationInMinutes: pulumi.Float64(releaseBundleCleanupDurationInMinutes),\n\t\t\tEnabled:           pulumi.Bool(true),\n\t\t\tSearchCriteria: \u0026artifactory.ReleaseBundleV2CleanupPolicySearchCriteriaArgs{\n\t\t\t\tIncludeAllProjects: pulumi.Bool(true),\n\t\t\t\tIncludedProjects:   pulumi.StringArray{},\n\t\t\t\tReleaseBundles: artifactory.ReleaseBundleV2CleanupPolicySearchCriteriaReleaseBundleArray{\n\t\t\t\t\t\u0026artifactory.ReleaseBundleV2CleanupPolicySearchCriteriaReleaseBundleArgs{\n\t\t\t\t\t\tName:       pulumi.String(\"my-release-bundle-v2-rb\"),\n\t\t\t\t\t\tProjectKey: pulumi.String(\"\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tExcludePromotedEnvironments: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"**\"),\n\t\t\t\t},\n\t\t\t\tCreatedBeforeInMonths: pulumi.Float64(releaseBundleCleanupCreatedBeforeInMonths),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_releasebundlev2cleanuppolicy\" \"my-resource-bundle-v2-cleanup-policy\" {\n  key                 = \"my-release-bundle-v2-policy-key\"\n  description         = \"Cleanup policy description with variables\"\n  cron_expression     = \"0 0 2 * * ?\"\n  duration_in_minutes = var.releaseBundleCleanupDurationInMinutes\n  enabled             = true\n  search_criteria = {\n    include_all_projects = true\n    included_projects    = []\n    release_bundles = [{\n      \"name\"       = \"my-release-bundle-v2-rb\"\n      \"projectKey\" = \"\"\n    }]\n    exclude_promoted_environments = [\"**\"]\n    created_before_in_months      = var.releaseBundleCleanupCreatedBeforeInMonths\n  }\n}\nvariable \"releaseBundleCleanupDurationInMinutes\" {\n  type    = number\n  default = 120\n}\nvariable \"releaseBundleCleanupCreatedBeforeInMonths\" {\n  type    = number\n  default = 36\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.ReleaseBundleV2CleanupPolicy;\nimport com.pulumi.artifactory.ReleaseBundleV2CleanupPolicyArgs;\nimport com.pulumi.artifactory.inputs.ReleaseBundleV2CleanupPolicySearchCriteriaArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 config = ctx.config();\n        final var releaseBundleCleanupDurationInMinutes = config.get(\"releaseBundleCleanupDurationInMinutes\").orElse(120);\n        final var releaseBundleCleanupCreatedBeforeInMonths = config.get(\"releaseBundleCleanupCreatedBeforeInMonths\").orElse(36);\n        var my_resource_bundle_v2_cleanup_policy = new ReleaseBundleV2CleanupPolicy(\"my-resource-bundle-v2-cleanup-policy\", ReleaseBundleV2CleanupPolicyArgs.builder()\n            .key(\"my-release-bundle-v2-policy-key\")\n            .description(\"Cleanup policy description with variables\")\n            .cronExpression(\"0 0 2 * * ?\")\n            .durationInMinutes(releaseBundleCleanupDurationInMinutes)\n            .enabled(true)\n            .searchCriteria(ReleaseBundleV2CleanupPolicySearchCriteriaArgs.builder()\n                .includeAllProjects(true)\n                .includedProjects()\n                .releaseBundles(ReleaseBundleV2CleanupPolicySearchCriteriaReleaseBundleArgs.builder()\n                    .name(\"my-release-bundle-v2-rb\")\n                    .projectKey(\"\")\n                    .build())\n                .excludePromotedEnvironments(\"**\")\n                .createdBeforeInMonths(releaseBundleCleanupCreatedBeforeInMonths)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  releaseBundleCleanupDurationInMinutes:\n    type: number\n    default: 120\n  releaseBundleCleanupCreatedBeforeInMonths:\n    type: number\n    default: 36\nresources:\n  my-resource-bundle-v2-cleanup-policy:\n    type: artifactory:ReleaseBundleV2CleanupPolicy\n    properties:\n      key: my-release-bundle-v2-policy-key\n      description: Cleanup policy description with variables\n      cronExpression: 0 0 2 * * ?\n      durationInMinutes: ${releaseBundleCleanupDurationInMinutes}\n      enabled: true\n      searchCriteria:\n        includeAllProjects: true\n        includedProjects: []\n        releaseBundles:\n          - name: my-release-bundle-v2-rb\n            projectKey: \"\"\n        excludePromotedEnvironments:\n          - '**'\n        createdBeforeInMonths: ${releaseBundleCleanupCreatedBeforeInMonths}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n**Important Notes:**\n- Variables with default values allow `terraform validate` to pass without requiring variable values\n- Variables without default values will require values to be provided during `pulumi preview` or `pulumi up`\n\n## Import\n\n```sh\n$ pulumi import artifactory:index/releaseBundleV2CleanupPolicy:ReleaseBundleV2CleanupPolicy my-cleanup-policy my-policy\n```\n\n",
            "properties": {
                "cronExpression": {
                    "type": "string",
                    "description": "The cron expression determines when the policy is run. This parameter is not mandatory, however if left empty the policy will not run automatically and can only be triggered manually.\n"
                },
                "description": {
                    "type": "string"
                },
                "durationInMinutes": {
                    "type": "integer",
                    "description": "The maximum duration (in minutes) for policy execution, after which the policy will stop running even if not completed. While setting a maximum run duration for a policy is useful for adhering to a strict archive V2 schedule, it can cause the policy to stop before completion.\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Enables or disabled the release bundles v2 cleanup policy. This allows the user to run the policy manually. If a policy has a valid cron expression, then it will be scheduled for execution based on it. If a policy is disabled, its future executions will be unscheduled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e\n"
                },
                "itemType": {
                    "type": "string",
                    "description": "Needs to be set to releaseBundle."
                },
                "key": {
                    "type": "string",
                    "description": "An ID that is used to identify the cleanup policy. A minimum of three characters is required and can include letters, numbers, underscore and hyphen.\n"
                },
                "searchCriteria": {
                    "$ref": "#/types/artifactory:index/ReleaseBundleV2CleanupPolicySearchCriteria:ReleaseBundleV2CleanupPolicySearchCriteria"
                }
            },
            "required": [
                "enabled",
                "itemType",
                "key",
                "searchCriteria"
            ],
            "inputProperties": {
                "cronExpression": {
                    "type": "string",
                    "description": "The cron expression determines when the policy is run. This parameter is not mandatory, however if left empty the policy will not run automatically and can only be triggered manually.\n"
                },
                "description": {
                    "type": "string"
                },
                "durationInMinutes": {
                    "type": "integer",
                    "description": "The maximum duration (in minutes) for policy execution, after which the policy will stop running even if not completed. While setting a maximum run duration for a policy is useful for adhering to a strict archive V2 schedule, it can cause the policy to stop before completion.\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Enables or disabled the release bundles v2 cleanup policy. This allows the user to run the policy manually. If a policy has a valid cron expression, then it will be scheduled for execution based on it. If a policy is disabled, its future executions will be unscheduled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e\n"
                },
                "itemType": {
                    "type": "string",
                    "description": "Needs to be set to releaseBundle."
                },
                "key": {
                    "type": "string",
                    "description": "An ID that is used to identify the cleanup policy. A minimum of three characters is required and can include letters, numbers, underscore and hyphen.\n"
                },
                "searchCriteria": {
                    "$ref": "#/types/artifactory:index/ReleaseBundleV2CleanupPolicySearchCriteria:ReleaseBundleV2CleanupPolicySearchCriteria"
                }
            },
            "requiredInputs": [
                "key",
                "searchCriteria"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering ReleaseBundleV2CleanupPolicy resources.\n",
                "properties": {
                    "cronExpression": {
                        "type": "string",
                        "description": "The cron expression determines when the policy is run. This parameter is not mandatory, however if left empty the policy will not run automatically and can only be triggered manually.\n"
                    },
                    "description": {
                        "type": "string"
                    },
                    "durationInMinutes": {
                        "type": "integer",
                        "description": "The maximum duration (in minutes) for policy execution, after which the policy will stop running even if not completed. While setting a maximum run duration for a policy is useful for adhering to a strict archive V2 schedule, it can cause the policy to stop before completion.\n"
                    },
                    "enabled": {
                        "type": "boolean",
                        "description": "Enables or disabled the release bundles v2 cleanup policy. This allows the user to run the policy manually. If a policy has a valid cron expression, then it will be scheduled for execution based on it. If a policy is disabled, its future executions will be unscheduled. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e\n"
                    },
                    "itemType": {
                        "type": "string",
                        "description": "Needs to be set to releaseBundle."
                    },
                    "key": {
                        "type": "string",
                        "description": "An ID that is used to identify the cleanup policy. A minimum of three characters is required and can include letters, numbers, underscore and hyphen.\n"
                    },
                    "searchCriteria": {
                        "$ref": "#/types/artifactory:index/ReleaseBundleV2CleanupPolicySearchCriteria:ReleaseBundleV2CleanupPolicySearchCriteria"
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/releaseBundleV2CustomWebhook:ReleaseBundleV2CustomWebhook": {
            "description": "Provides an Artifactory custom webhook resource. This can be used to register and manage Artifactory webhook subscription which enables you to be notified or notify other users when such events take place in Artifactory.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst release_bundle_v2_custom_webhook = new artifactory.ReleaseBundleV2CustomWebhook(\"release-bundle-v2-custom-webhook\", {\n    key: \"release-bundle-v2-custom-webhook\",\n    eventTypes: [\n        \"release_bundle_v2_started\",\n        \"release_bundle_v2_failed\",\n        \"release_bundle_v2_completed\",\n    ],\n    criteria: {\n        anyReleaseBundle: false,\n        selectedReleaseBundles: [\"bundle-name\"],\n    },\n    handlers: [{\n        url: \"https://tempurl.org\",\n        method: \"POST\",\n        secrets: {\n            secretName1: \"value1\",\n            secretName2: \"value2\",\n        },\n        httpHeaders: {\n            headerName1: \"value1\",\n            headerName2: \"value2\",\n        },\n        payload: \"{ \\\"ref\\\": \\\"main\\\" , \\\"inputs\\\": { \\\"artifact_path\\\": \\\"test-repo/repo-path\\\" } }\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nrelease_bundle_v2_custom_webhook = artifactory.ReleaseBundleV2CustomWebhook(\"release-bundle-v2-custom-webhook\",\n    key=\"release-bundle-v2-custom-webhook\",\n    event_types=[\n        \"release_bundle_v2_started\",\n        \"release_bundle_v2_failed\",\n        \"release_bundle_v2_completed\",\n    ],\n    criteria={\n        \"any_release_bundle\": False,\n        \"selected_release_bundles\": [\"bundle-name\"],\n    },\n    handlers=[{\n        \"url\": \"https://tempurl.org\",\n        \"method\": \"POST\",\n        \"secrets\": {\n            \"secretName1\": \"value1\",\n            \"secretName2\": \"value2\",\n        },\n        \"http_headers\": {\n            \"headerName1\": \"value1\",\n            \"headerName2\": \"value2\",\n        },\n        \"payload\": \"{ \\\"ref\\\": \\\"main\\\" , \\\"inputs\\\": { \\\"artifact_path\\\": \\\"test-repo/repo-path\\\" } }\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var release_bundle_v2_custom_webhook = new Artifactory.ReleaseBundleV2CustomWebhook(\"release-bundle-v2-custom-webhook\", new()\n    {\n        Key = \"release-bundle-v2-custom-webhook\",\n        EventTypes = new[]\n        {\n            \"release_bundle_v2_started\",\n            \"release_bundle_v2_failed\",\n            \"release_bundle_v2_completed\",\n        },\n        Criteria = new Artifactory.Inputs.ReleaseBundleV2CustomWebhookCriteriaArgs\n        {\n            AnyReleaseBundle = false,\n            SelectedReleaseBundles = new[]\n            {\n                \"bundle-name\",\n            },\n        },\n        Handlers = new[]\n        {\n            new Artifactory.Inputs.ReleaseBundleV2CustomWebhookHandlerArgs\n            {\n                Url = \"https://tempurl.org\",\n                Method = \"POST\",\n                Secrets = \n                {\n                    { \"secretName1\", \"value1\" },\n                    { \"secretName2\", \"value2\" },\n                },\n                HttpHeaders = \n                {\n                    { \"headerName1\", \"value1\" },\n                    { \"headerName2\", \"value2\" },\n                },\n                Payload = \"{ \\\"ref\\\": \\\"main\\\" , \\\"inputs\\\": { \\\"artifact_path\\\": \\\"test-repo/repo-path\\\" } }\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewReleaseBundleV2CustomWebhook(ctx, \"release-bundle-v2-custom-webhook\", \u0026artifactory.ReleaseBundleV2CustomWebhookArgs{\n\t\t\tKey: pulumi.String(\"release-bundle-v2-custom-webhook\"),\n\t\t\tEventTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"release_bundle_v2_started\"),\n\t\t\t\tpulumi.String(\"release_bundle_v2_failed\"),\n\t\t\t\tpulumi.String(\"release_bundle_v2_completed\"),\n\t\t\t},\n\t\t\tCriteria: \u0026artifactory.ReleaseBundleV2CustomWebhookCriteriaArgs{\n\t\t\t\tAnyReleaseBundle: pulumi.Bool(false),\n\t\t\t\tSelectedReleaseBundles: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"bundle-name\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tHandlers: artifactory.ReleaseBundleV2CustomWebhookHandlerArray{\n\t\t\t\t\u0026artifactory.ReleaseBundleV2CustomWebhookHandlerArgs{\n\t\t\t\t\tUrl:    pulumi.String(\"https://tempurl.org\"),\n\t\t\t\t\tMethod: pulumi.String(\"POST\"),\n\t\t\t\t\tSecrets: pulumi.StringMap{\n\t\t\t\t\t\t\"secretName1\": pulumi.String(\"value1\"),\n\t\t\t\t\t\t\"secretName2\": pulumi.String(\"value2\"),\n\t\t\t\t\t},\n\t\t\t\t\tHttpHeaders: pulumi.StringMap{\n\t\t\t\t\t\t\"headerName1\": pulumi.String(\"value1\"),\n\t\t\t\t\t\t\"headerName2\": pulumi.String(\"value2\"),\n\t\t\t\t\t},\n\t\t\t\t\tPayload: pulumi.String(\"{ \\\"ref\\\": \\\"main\\\" , \\\"inputs\\\": { \\\"artifact_path\\\": \\\"test-repo/repo-path\\\" } }\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_releasebundlev2customwebhook\" \"release-bundle-v2-custom-webhook\" {\n  key         = \"release-bundle-v2-custom-webhook\"\n  event_types = [\"release_bundle_v2_started\", \"release_bundle_v2_failed\", \"release_bundle_v2_completed\"]\n  criteria = {\n    any_release_bundle       = false\n    selected_release_bundles = [\"bundle-name\"]\n  }\n  handlers {\n    url    = \"https://tempurl.org\"\n    method = \"POST\"\n    secrets = {\n      \"secretName1\" = \"value1\"\n      \"secretName2\" = \"value2\"\n    }\n    http_headers = {\n      \"headerName1\" = \"value1\"\n      \"headerName2\" = \"value2\"\n    }\n    payload = \"{ \\\"ref\\\": \\\"main\\\" , \\\"inputs\\\": { \\\"artifact_path\\\": \\\"test-repo/repo-path\\\" } }\"\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.ReleaseBundleV2CustomWebhook;\nimport com.pulumi.artifactory.ReleaseBundleV2CustomWebhookArgs;\nimport com.pulumi.artifactory.inputs.ReleaseBundleV2CustomWebhookCriteriaArgs;\nimport com.pulumi.artifactory.inputs.ReleaseBundleV2CustomWebhookHandlerArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 release_bundle_v2_custom_webhook = new ReleaseBundleV2CustomWebhook(\"release-bundle-v2-custom-webhook\", ReleaseBundleV2CustomWebhookArgs.builder()\n            .key(\"release-bundle-v2-custom-webhook\")\n            .eventTypes(            \n                \"release_bundle_v2_started\",\n                \"release_bundle_v2_failed\",\n                \"release_bundle_v2_completed\")\n            .criteria(ReleaseBundleV2CustomWebhookCriteriaArgs.builder()\n                .anyReleaseBundle(false)\n                .selectedReleaseBundles(\"bundle-name\")\n                .build())\n            .handlers(ReleaseBundleV2CustomWebhookHandlerArgs.builder()\n                .url(\"https://tempurl.org\")\n                .method(\"POST\")\n                .secrets(Map.ofEntries(\n                    Map.entry(\"secretName1\", \"value1\"),\n                    Map.entry(\"secretName2\", \"value2\")\n                ))\n                .httpHeaders(Map.ofEntries(\n                    Map.entry(\"headerName1\", \"value1\"),\n                    Map.entry(\"headerName2\", \"value2\")\n                ))\n                .payload(\"{ \\\"ref\\\": \\\"main\\\" , \\\"inputs\\\": { \\\"artifact_path\\\": \\\"test-repo/repo-path\\\" } }\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  release-bundle-v2-custom-webhook:\n    type: artifactory:ReleaseBundleV2CustomWebhook\n    properties:\n      key: release-bundle-v2-custom-webhook\n      eventTypes:\n        - release_bundle_v2_started\n        - release_bundle_v2_failed\n        - release_bundle_v2_completed\n      criteria:\n        anyReleaseBundle: false\n        selectedReleaseBundles:\n          - bundle-name\n      handlers:\n        - url: https://tempurl.org\n          method: POST\n          secrets:\n            secretName1: value1\n            secretName2: value2\n          httpHeaders:\n            headerName1: value1\n            headerName2: value2\n          payload: '{ \"ref\": \"main\" , \"inputs\": { \"artifact_path\": \"test-repo/repo-path\" } }'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "properties": {
                "criteria": {
                    "$ref": "#/types/artifactory:index/ReleaseBundleV2CustomWebhookCriteria:ReleaseBundleV2CustomWebhookCriteria",
                    "description": "Specifies where the webhook will be applied on which repositories.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Webhook description. Max length 1000 characters.\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Status of webhook. Default to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                },
                "eventTypes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of Events in Artifactory, Distribution, Release Bundle that function as the event trigger for the Webhook. Allow values: \u003cspan pulumi-lang-nodejs=\"`releaseBundleV2Started`\" pulumi-lang-dotnet=\"`ReleaseBundleV2Started`\" pulumi-lang-go=\"`releaseBundleV2Started`\" pulumi-lang-python=\"`release_bundle_v2_started`\" pulumi-lang-yaml=\"`releaseBundleV2Started`\" pulumi-lang-java=\"`releaseBundleV2Started`\" pulumi-lang-hcl=\"`release_bundle_v2_started`\"\u003e`releaseBundleV2Started`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`releaseBundleV2Failed`\" pulumi-lang-dotnet=\"`ReleaseBundleV2Failed`\" pulumi-lang-go=\"`releaseBundleV2Failed`\" pulumi-lang-python=\"`release_bundle_v2_failed`\" pulumi-lang-yaml=\"`releaseBundleV2Failed`\" pulumi-lang-java=\"`releaseBundleV2Failed`\" pulumi-lang-hcl=\"`release_bundle_v2_failed`\"\u003e`releaseBundleV2Failed`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`releaseBundleV2Completed`\" pulumi-lang-dotnet=\"`ReleaseBundleV2Completed`\" pulumi-lang-go=\"`releaseBundleV2Completed`\" pulumi-lang-python=\"`release_bundle_v2_completed`\" pulumi-lang-yaml=\"`releaseBundleV2Completed`\" pulumi-lang-java=\"`releaseBundleV2Completed`\" pulumi-lang-hcl=\"`release_bundle_v2_completed`\"\u003e`releaseBundleV2Completed`\u003c/span\u003e.\n"
                },
                "handlers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/ReleaseBundleV2CustomWebhookHandler:ReleaseBundleV2CustomWebhookHandler"
                    },
                    "description": "At least one is required.\n"
                },
                "key": {
                    "type": "string",
                    "description": "The identity key of the webhook. Must be between 2 and 200 characters. Cannot contain spaces.\n"
                }
            },
            "required": [
                "criteria",
                "enabled",
                "eventTypes",
                "handlers",
                "key"
            ],
            "inputProperties": {
                "criteria": {
                    "$ref": "#/types/artifactory:index/ReleaseBundleV2CustomWebhookCriteria:ReleaseBundleV2CustomWebhookCriteria",
                    "description": "Specifies where the webhook will be applied on which repositories.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Webhook description. Max length 1000 characters.\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Status of webhook. Default to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                },
                "eventTypes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of Events in Artifactory, Distribution, Release Bundle that function as the event trigger for the Webhook. Allow values: \u003cspan pulumi-lang-nodejs=\"`releaseBundleV2Started`\" pulumi-lang-dotnet=\"`ReleaseBundleV2Started`\" pulumi-lang-go=\"`releaseBundleV2Started`\" pulumi-lang-python=\"`release_bundle_v2_started`\" pulumi-lang-yaml=\"`releaseBundleV2Started`\" pulumi-lang-java=\"`releaseBundleV2Started`\" pulumi-lang-hcl=\"`release_bundle_v2_started`\"\u003e`releaseBundleV2Started`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`releaseBundleV2Failed`\" pulumi-lang-dotnet=\"`ReleaseBundleV2Failed`\" pulumi-lang-go=\"`releaseBundleV2Failed`\" pulumi-lang-python=\"`release_bundle_v2_failed`\" pulumi-lang-yaml=\"`releaseBundleV2Failed`\" pulumi-lang-java=\"`releaseBundleV2Failed`\" pulumi-lang-hcl=\"`release_bundle_v2_failed`\"\u003e`releaseBundleV2Failed`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`releaseBundleV2Completed`\" pulumi-lang-dotnet=\"`ReleaseBundleV2Completed`\" pulumi-lang-go=\"`releaseBundleV2Completed`\" pulumi-lang-python=\"`release_bundle_v2_completed`\" pulumi-lang-yaml=\"`releaseBundleV2Completed`\" pulumi-lang-java=\"`releaseBundleV2Completed`\" pulumi-lang-hcl=\"`release_bundle_v2_completed`\"\u003e`releaseBundleV2Completed`\u003c/span\u003e.\n"
                },
                "handlers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/ReleaseBundleV2CustomWebhookHandler:ReleaseBundleV2CustomWebhookHandler"
                    },
                    "description": "At least one is required.\n"
                },
                "key": {
                    "type": "string",
                    "description": "The identity key of the webhook. Must be between 2 and 200 characters. Cannot contain spaces.\n"
                }
            },
            "requiredInputs": [
                "criteria",
                "eventTypes",
                "handlers",
                "key"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering ReleaseBundleV2CustomWebhook resources.\n",
                "properties": {
                    "criteria": {
                        "$ref": "#/types/artifactory:index/ReleaseBundleV2CustomWebhookCriteria:ReleaseBundleV2CustomWebhookCriteria",
                        "description": "Specifies where the webhook will be applied on which repositories.\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Webhook description. Max length 1000 characters.\n"
                    },
                    "enabled": {
                        "type": "boolean",
                        "description": "Status of webhook. Default to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                    },
                    "eventTypes": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of Events in Artifactory, Distribution, Release Bundle that function as the event trigger for the Webhook. Allow values: \u003cspan pulumi-lang-nodejs=\"`releaseBundleV2Started`\" pulumi-lang-dotnet=\"`ReleaseBundleV2Started`\" pulumi-lang-go=\"`releaseBundleV2Started`\" pulumi-lang-python=\"`release_bundle_v2_started`\" pulumi-lang-yaml=\"`releaseBundleV2Started`\" pulumi-lang-java=\"`releaseBundleV2Started`\" pulumi-lang-hcl=\"`release_bundle_v2_started`\"\u003e`releaseBundleV2Started`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`releaseBundleV2Failed`\" pulumi-lang-dotnet=\"`ReleaseBundleV2Failed`\" pulumi-lang-go=\"`releaseBundleV2Failed`\" pulumi-lang-python=\"`release_bundle_v2_failed`\" pulumi-lang-yaml=\"`releaseBundleV2Failed`\" pulumi-lang-java=\"`releaseBundleV2Failed`\" pulumi-lang-hcl=\"`release_bundle_v2_failed`\"\u003e`releaseBundleV2Failed`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`releaseBundleV2Completed`\" pulumi-lang-dotnet=\"`ReleaseBundleV2Completed`\" pulumi-lang-go=\"`releaseBundleV2Completed`\" pulumi-lang-python=\"`release_bundle_v2_completed`\" pulumi-lang-yaml=\"`releaseBundleV2Completed`\" pulumi-lang-java=\"`releaseBundleV2Completed`\" pulumi-lang-hcl=\"`release_bundle_v2_completed`\"\u003e`releaseBundleV2Completed`\u003c/span\u003e.\n"
                    },
                    "handlers": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/artifactory:index/ReleaseBundleV2CustomWebhookHandler:ReleaseBundleV2CustomWebhookHandler"
                        },
                        "description": "At least one is required.\n"
                    },
                    "key": {
                        "type": "string",
                        "description": "The identity key of the webhook. Must be between 2 and 200 characters. Cannot contain spaces.\n"
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/releaseBundleV2Promotion:ReleaseBundleV2Promotion": {
            "description": "This resource enables you to promote Release Bundle V2 version. For more information, see [JFrog documentation](https://jfrog.com/help/r/jfrog-artifactory-documentation/promote-a-release-bundle-v2-to-a-target-environment).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst my_release_bundle_v2_promotion = new artifactory.ReleaseBundleV2Promotion(\"my-release-bundle-v2-promotion\", {\n    name: \"my-release-bundle-v2-artifacts\",\n    version: \"1.0.0\",\n    keypairName: \"my-keypair-name\",\n    environment: \"DEV\",\n    includedRepositoryKeys: [\"commons-qa-maven-local\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nmy_release_bundle_v2_promotion = artifactory.ReleaseBundleV2Promotion(\"my-release-bundle-v2-promotion\",\n    name=\"my-release-bundle-v2-artifacts\",\n    version=\"1.0.0\",\n    keypair_name=\"my-keypair-name\",\n    environment=\"DEV\",\n    included_repository_keys=[\"commons-qa-maven-local\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var my_release_bundle_v2_promotion = new Artifactory.ReleaseBundleV2Promotion(\"my-release-bundle-v2-promotion\", new()\n    {\n        Name = \"my-release-bundle-v2-artifacts\",\n        Version = \"1.0.0\",\n        KeypairName = \"my-keypair-name\",\n        Environment = \"DEV\",\n        IncludedRepositoryKeys = new[]\n        {\n            \"commons-qa-maven-local\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewReleaseBundleV2Promotion(ctx, \"my-release-bundle-v2-promotion\", \u0026artifactory.ReleaseBundleV2PromotionArgs{\n\t\t\tName:        pulumi.String(\"my-release-bundle-v2-artifacts\"),\n\t\t\tVersion:     pulumi.String(\"1.0.0\"),\n\t\t\tKeypairName: pulumi.String(\"my-keypair-name\"),\n\t\t\tEnvironment: pulumi.String(\"DEV\"),\n\t\t\tIncludedRepositoryKeys: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"commons-qa-maven-local\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_releasebundlev2promotion\" \"my-release-bundle-v2-promotion\" {\n  name                     = \"my-release-bundle-v2-artifacts\"\n  version                  = \"1.0.0\"\n  keypair_name             = \"my-keypair-name\"\n  environment              = \"DEV\"\n  included_repository_keys = [\"commons-qa-maven-local\"]\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.ReleaseBundleV2Promotion;\nimport com.pulumi.artifactory.ReleaseBundleV2PromotionArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 my_release_bundle_v2_promotion = new ReleaseBundleV2Promotion(\"my-release-bundle-v2-promotion\", ReleaseBundleV2PromotionArgs.builder()\n            .name(\"my-release-bundle-v2-artifacts\")\n            .version(\"1.0.0\")\n            .keypairName(\"my-keypair-name\")\n            .environment(\"DEV\")\n            .includedRepositoryKeys(\"commons-qa-maven-local\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  my-release-bundle-v2-promotion:\n    type: artifactory:ReleaseBundleV2Promotion\n    properties:\n      name: my-release-bundle-v2-artifacts\n      version: 1.0.0\n      keypairName: my-keypair-name\n      environment: DEV\n      includedRepositoryKeys:\n        - commons-qa-maven-local\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "properties": {
                "created": {
                    "type": "string",
                    "description": "Timestamp when the new version was created (ISO 8601 standard).\n"
                },
                "createdMillis": {
                    "type": "integer",
                    "description": "Timestamp when the new version was created (in milliseconds).\n"
                },
                "environment": {
                    "type": "string",
                    "description": "Target environment\n"
                },
                "excludedRepositoryKeys": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Defines specific repositories to exclude from the promotion.\n"
                },
                "includedRepositoryKeys": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Defines specific repositories to include in the promotion. If this property is left undefined, all repositories (except those specifically excluded) are included in the promotion. Important: If one or more repositories are specifically included, all other repositories are excluded (regardless of what is defined in \u003cspan pulumi-lang-nodejs=\"`excludedRepositoryKeys`\" pulumi-lang-dotnet=\"`ExcludedRepositoryKeys`\" pulumi-lang-go=\"`excludedRepositoryKeys`\" pulumi-lang-python=\"`excluded_repository_keys`\" pulumi-lang-yaml=\"`excludedRepositoryKeys`\" pulumi-lang-java=\"`excludedRepositoryKeys`\" pulumi-lang-hcl=\"`excluded_repository_keys`\"\u003e`excludedRepositoryKeys`\u003c/span\u003e).\n"
                },
                "keypairName": {
                    "type": "string",
                    "description": "Key-pair name to use for signature creation\n"
                },
                "name": {
                    "type": "string",
                    "description": "Name of Release Bundle\n"
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key the Release Bundle belongs to\n"
                },
                "version": {
                    "type": "string",
                    "description": "Version to promote\n"
                }
            },
            "required": [
                "created",
                "createdMillis",
                "environment",
                "keypairName",
                "name",
                "version"
            ],
            "inputProperties": {
                "environment": {
                    "type": "string",
                    "description": "Target environment\n"
                },
                "excludedRepositoryKeys": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Defines specific repositories to exclude from the promotion.\n"
                },
                "includedRepositoryKeys": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Defines specific repositories to include in the promotion. If this property is left undefined, all repositories (except those specifically excluded) are included in the promotion. Important: If one or more repositories are specifically included, all other repositories are excluded (regardless of what is defined in \u003cspan pulumi-lang-nodejs=\"`excludedRepositoryKeys`\" pulumi-lang-dotnet=\"`ExcludedRepositoryKeys`\" pulumi-lang-go=\"`excludedRepositoryKeys`\" pulumi-lang-python=\"`excluded_repository_keys`\" pulumi-lang-yaml=\"`excludedRepositoryKeys`\" pulumi-lang-java=\"`excludedRepositoryKeys`\" pulumi-lang-hcl=\"`excluded_repository_keys`\"\u003e`excludedRepositoryKeys`\u003c/span\u003e).\n"
                },
                "keypairName": {
                    "type": "string",
                    "description": "Key-pair name to use for signature creation\n"
                },
                "name": {
                    "type": "string",
                    "description": "Name of Release Bundle\n"
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key the Release Bundle belongs to\n"
                },
                "version": {
                    "type": "string",
                    "description": "Version to promote\n"
                }
            },
            "requiredInputs": [
                "environment",
                "keypairName",
                "version"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering ReleaseBundleV2Promotion resources.\n",
                "properties": {
                    "created": {
                        "type": "string",
                        "description": "Timestamp when the new version was created (ISO 8601 standard).\n"
                    },
                    "createdMillis": {
                        "type": "integer",
                        "description": "Timestamp when the new version was created (in milliseconds).\n"
                    },
                    "environment": {
                        "type": "string",
                        "description": "Target environment\n"
                    },
                    "excludedRepositoryKeys": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Defines specific repositories to exclude from the promotion.\n"
                    },
                    "includedRepositoryKeys": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Defines specific repositories to include in the promotion. If this property is left undefined, all repositories (except those specifically excluded) are included in the promotion. Important: If one or more repositories are specifically included, all other repositories are excluded (regardless of what is defined in \u003cspan pulumi-lang-nodejs=\"`excludedRepositoryKeys`\" pulumi-lang-dotnet=\"`ExcludedRepositoryKeys`\" pulumi-lang-go=\"`excludedRepositoryKeys`\" pulumi-lang-python=\"`excluded_repository_keys`\" pulumi-lang-yaml=\"`excludedRepositoryKeys`\" pulumi-lang-java=\"`excludedRepositoryKeys`\" pulumi-lang-hcl=\"`excluded_repository_keys`\"\u003e`excludedRepositoryKeys`\u003c/span\u003e).\n"
                    },
                    "keypairName": {
                        "type": "string",
                        "description": "Key-pair name to use for signature creation\n"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of Release Bundle\n"
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key the Release Bundle belongs to\n"
                    },
                    "version": {
                        "type": "string",
                        "description": "Version to promote\n"
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/releaseBundleV2PromotionCustomWebhook:ReleaseBundleV2PromotionCustomWebhook": {
            "description": "Provides an Artifactory custom webhook resource. This can be used to register and manage Artifactory webhook subscription which enables you to be notified or notify other users when such events take place in Artifactory.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst release_bundle_v2_promotion_custom_webhook = new artifactory.ReleaseBundleV2PromotionCustomWebhook(\"release-bundle-v2-promotion-custom-webhook\", {\n    key: \"release-bundle-custom-webhook\",\n    eventTypes: [\n        \"release_bundle_v2_promotion_completed\",\n        \"release_bundle_v2_promotion_failed\",\n        \"release_bundle_v2_promotion_started\",\n    ],\n    criteria: {\n        selectedEnvironments: [\n            \"PROD\",\n            \"DEV\",\n        ],\n    },\n    handlers: [{\n        url: \"https://tempurl.org\",\n        method: \"POST\",\n        secrets: {\n            secretName1: \"value1\",\n            secretName2: \"value2\",\n        },\n        httpHeaders: {\n            headerName1: \"value1\",\n            headerName2: \"value2\",\n        },\n        payload: \"{ \\\"ref\\\": \\\"main\\\" , \\\"inputs\\\": { \\\"artifact_path\\\": \\\"test-repo/repo-path\\\" } }\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nrelease_bundle_v2_promotion_custom_webhook = artifactory.ReleaseBundleV2PromotionCustomWebhook(\"release-bundle-v2-promotion-custom-webhook\",\n    key=\"release-bundle-custom-webhook\",\n    event_types=[\n        \"release_bundle_v2_promotion_completed\",\n        \"release_bundle_v2_promotion_failed\",\n        \"release_bundle_v2_promotion_started\",\n    ],\n    criteria={\n        \"selected_environments\": [\n            \"PROD\",\n            \"DEV\",\n        ],\n    },\n    handlers=[{\n        \"url\": \"https://tempurl.org\",\n        \"method\": \"POST\",\n        \"secrets\": {\n            \"secretName1\": \"value1\",\n            \"secretName2\": \"value2\",\n        },\n        \"http_headers\": {\n            \"headerName1\": \"value1\",\n            \"headerName2\": \"value2\",\n        },\n        \"payload\": \"{ \\\"ref\\\": \\\"main\\\" , \\\"inputs\\\": { \\\"artifact_path\\\": \\\"test-repo/repo-path\\\" } }\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var release_bundle_v2_promotion_custom_webhook = new Artifactory.ReleaseBundleV2PromotionCustomWebhook(\"release-bundle-v2-promotion-custom-webhook\", new()\n    {\n        Key = \"release-bundle-custom-webhook\",\n        EventTypes = new[]\n        {\n            \"release_bundle_v2_promotion_completed\",\n            \"release_bundle_v2_promotion_failed\",\n            \"release_bundle_v2_promotion_started\",\n        },\n        Criteria = new Artifactory.Inputs.ReleaseBundleV2PromotionCustomWebhookCriteriaArgs\n        {\n            SelectedEnvironments = new[]\n            {\n                \"PROD\",\n                \"DEV\",\n            },\n        },\n        Handlers = new[]\n        {\n            new Artifactory.Inputs.ReleaseBundleV2PromotionCustomWebhookHandlerArgs\n            {\n                Url = \"https://tempurl.org\",\n                Method = \"POST\",\n                Secrets = \n                {\n                    { \"secretName1\", \"value1\" },\n                    { \"secretName2\", \"value2\" },\n                },\n                HttpHeaders = \n                {\n                    { \"headerName1\", \"value1\" },\n                    { \"headerName2\", \"value2\" },\n                },\n                Payload = \"{ \\\"ref\\\": \\\"main\\\" , \\\"inputs\\\": { \\\"artifact_path\\\": \\\"test-repo/repo-path\\\" } }\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewReleaseBundleV2PromotionCustomWebhook(ctx, \"release-bundle-v2-promotion-custom-webhook\", \u0026artifactory.ReleaseBundleV2PromotionCustomWebhookArgs{\n\t\t\tKey: pulumi.String(\"release-bundle-custom-webhook\"),\n\t\t\tEventTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"release_bundle_v2_promotion_completed\"),\n\t\t\t\tpulumi.String(\"release_bundle_v2_promotion_failed\"),\n\t\t\t\tpulumi.String(\"release_bundle_v2_promotion_started\"),\n\t\t\t},\n\t\t\tCriteria: \u0026artifactory.ReleaseBundleV2PromotionCustomWebhookCriteriaArgs{\n\t\t\t\tSelectedEnvironments: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"PROD\"),\n\t\t\t\t\tpulumi.String(\"DEV\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tHandlers: artifactory.ReleaseBundleV2PromotionCustomWebhookHandlerArray{\n\t\t\t\t\u0026artifactory.ReleaseBundleV2PromotionCustomWebhookHandlerArgs{\n\t\t\t\t\tUrl:    pulumi.String(\"https://tempurl.org\"),\n\t\t\t\t\tMethod: pulumi.String(\"POST\"),\n\t\t\t\t\tSecrets: pulumi.StringMap{\n\t\t\t\t\t\t\"secretName1\": pulumi.String(\"value1\"),\n\t\t\t\t\t\t\"secretName2\": pulumi.String(\"value2\"),\n\t\t\t\t\t},\n\t\t\t\t\tHttpHeaders: pulumi.StringMap{\n\t\t\t\t\t\t\"headerName1\": pulumi.String(\"value1\"),\n\t\t\t\t\t\t\"headerName2\": pulumi.String(\"value2\"),\n\t\t\t\t\t},\n\t\t\t\t\tPayload: pulumi.String(\"{ \\\"ref\\\": \\\"main\\\" , \\\"inputs\\\": { \\\"artifact_path\\\": \\\"test-repo/repo-path\\\" } }\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_releasebundlev2promotioncustomwebhook\" \"release-bundle-v2-promotion-custom-webhook\" {\n  key         = \"release-bundle-custom-webhook\"\n  event_types = [\"release_bundle_v2_promotion_completed\", \"release_bundle_v2_promotion_failed\", \"release_bundle_v2_promotion_started\"]\n  criteria = {\n    selected_environments = [\"PROD\", \"DEV\"]\n  }\n  handlers {\n    url    = \"https://tempurl.org\"\n    method = \"POST\"\n    secrets = {\n      \"secretName1\" = \"value1\"\n      \"secretName2\" = \"value2\"\n    }\n    http_headers = {\n      \"headerName1\" = \"value1\"\n      \"headerName2\" = \"value2\"\n    }\n    payload = \"{ \\\"ref\\\": \\\"main\\\" , \\\"inputs\\\": { \\\"artifact_path\\\": \\\"test-repo/repo-path\\\" } }\"\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.ReleaseBundleV2PromotionCustomWebhook;\nimport com.pulumi.artifactory.ReleaseBundleV2PromotionCustomWebhookArgs;\nimport com.pulumi.artifactory.inputs.ReleaseBundleV2PromotionCustomWebhookCriteriaArgs;\nimport com.pulumi.artifactory.inputs.ReleaseBundleV2PromotionCustomWebhookHandlerArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 release_bundle_v2_promotion_custom_webhook = new ReleaseBundleV2PromotionCustomWebhook(\"release-bundle-v2-promotion-custom-webhook\", ReleaseBundleV2PromotionCustomWebhookArgs.builder()\n            .key(\"release-bundle-custom-webhook\")\n            .eventTypes(            \n                \"release_bundle_v2_promotion_completed\",\n                \"release_bundle_v2_promotion_failed\",\n                \"release_bundle_v2_promotion_started\")\n            .criteria(ReleaseBundleV2PromotionCustomWebhookCriteriaArgs.builder()\n                .selectedEnvironments(                \n                    \"PROD\",\n                    \"DEV\")\n                .build())\n            .handlers(ReleaseBundleV2PromotionCustomWebhookHandlerArgs.builder()\n                .url(\"https://tempurl.org\")\n                .method(\"POST\")\n                .secrets(Map.ofEntries(\n                    Map.entry(\"secretName1\", \"value1\"),\n                    Map.entry(\"secretName2\", \"value2\")\n                ))\n                .httpHeaders(Map.ofEntries(\n                    Map.entry(\"headerName1\", \"value1\"),\n                    Map.entry(\"headerName2\", \"value2\")\n                ))\n                .payload(\"{ \\\"ref\\\": \\\"main\\\" , \\\"inputs\\\": { \\\"artifact_path\\\": \\\"test-repo/repo-path\\\" } }\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  release-bundle-v2-promotion-custom-webhook:\n    type: artifactory:ReleaseBundleV2PromotionCustomWebhook\n    properties:\n      key: release-bundle-custom-webhook\n      eventTypes:\n        - release_bundle_v2_promotion_completed\n        - release_bundle_v2_promotion_failed\n        - release_bundle_v2_promotion_started\n      criteria:\n        selectedEnvironments:\n          - PROD\n          - DEV\n      handlers:\n        - url: https://tempurl.org\n          method: POST\n          secrets:\n            secretName1: value1\n            secretName2: value2\n          httpHeaders:\n            headerName1: value1\n            headerName2: value2\n          payload: '{ \"ref\": \"main\" , \"inputs\": { \"artifact_path\": \"test-repo/repo-path\" } }'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "properties": {
                "criteria": {
                    "$ref": "#/types/artifactory:index/ReleaseBundleV2PromotionCustomWebhookCriteria:ReleaseBundleV2PromotionCustomWebhookCriteria",
                    "description": "Specifies where the webhook will be applied on which enviroments.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Webhook description. Max length 1000 characters.\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Status of webhook. Default to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                },
                "eventTypes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of event triggers for the Webhook. Allow values: \u003cspan pulumi-lang-nodejs=\"`releaseBundleV2PromotionStarted`\" pulumi-lang-dotnet=\"`ReleaseBundleV2PromotionStarted`\" pulumi-lang-go=\"`releaseBundleV2PromotionStarted`\" pulumi-lang-python=\"`release_bundle_v2_promotion_started`\" pulumi-lang-yaml=\"`releaseBundleV2PromotionStarted`\" pulumi-lang-java=\"`releaseBundleV2PromotionStarted`\" pulumi-lang-hcl=\"`release_bundle_v2_promotion_started`\"\u003e`releaseBundleV2PromotionStarted`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`releaseBundleV2PromotionCompleted`\" pulumi-lang-dotnet=\"`ReleaseBundleV2PromotionCompleted`\" pulumi-lang-go=\"`releaseBundleV2PromotionCompleted`\" pulumi-lang-python=\"`release_bundle_v2_promotion_completed`\" pulumi-lang-yaml=\"`releaseBundleV2PromotionCompleted`\" pulumi-lang-java=\"`releaseBundleV2PromotionCompleted`\" pulumi-lang-hcl=\"`release_bundle_v2_promotion_completed`\"\u003e`releaseBundleV2PromotionCompleted`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`releaseBundleV2PromotionFailed`\" pulumi-lang-dotnet=\"`ReleaseBundleV2PromotionFailed`\" pulumi-lang-go=\"`releaseBundleV2PromotionFailed`\" pulumi-lang-python=\"`release_bundle_v2_promotion_failed`\" pulumi-lang-yaml=\"`releaseBundleV2PromotionFailed`\" pulumi-lang-java=\"`releaseBundleV2PromotionFailed`\" pulumi-lang-hcl=\"`release_bundle_v2_promotion_failed`\"\u003e`releaseBundleV2PromotionFailed`\u003c/span\u003e\n"
                },
                "handlers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/ReleaseBundleV2PromotionCustomWebhookHandler:ReleaseBundleV2PromotionCustomWebhookHandler"
                    },
                    "description": "At least one is required.\n"
                },
                "key": {
                    "type": "string",
                    "description": "The identity key of the webhook. Must be between 2 and 200 characters. Cannot contain spaces.\n"
                }
            },
            "required": [
                "criteria",
                "enabled",
                "eventTypes",
                "handlers",
                "key"
            ],
            "inputProperties": {
                "criteria": {
                    "$ref": "#/types/artifactory:index/ReleaseBundleV2PromotionCustomWebhookCriteria:ReleaseBundleV2PromotionCustomWebhookCriteria",
                    "description": "Specifies where the webhook will be applied on which enviroments.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Webhook description. Max length 1000 characters.\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Status of webhook. Default to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                },
                "eventTypes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of event triggers for the Webhook. Allow values: \u003cspan pulumi-lang-nodejs=\"`releaseBundleV2PromotionStarted`\" pulumi-lang-dotnet=\"`ReleaseBundleV2PromotionStarted`\" pulumi-lang-go=\"`releaseBundleV2PromotionStarted`\" pulumi-lang-python=\"`release_bundle_v2_promotion_started`\" pulumi-lang-yaml=\"`releaseBundleV2PromotionStarted`\" pulumi-lang-java=\"`releaseBundleV2PromotionStarted`\" pulumi-lang-hcl=\"`release_bundle_v2_promotion_started`\"\u003e`releaseBundleV2PromotionStarted`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`releaseBundleV2PromotionCompleted`\" pulumi-lang-dotnet=\"`ReleaseBundleV2PromotionCompleted`\" pulumi-lang-go=\"`releaseBundleV2PromotionCompleted`\" pulumi-lang-python=\"`release_bundle_v2_promotion_completed`\" pulumi-lang-yaml=\"`releaseBundleV2PromotionCompleted`\" pulumi-lang-java=\"`releaseBundleV2PromotionCompleted`\" pulumi-lang-hcl=\"`release_bundle_v2_promotion_completed`\"\u003e`releaseBundleV2PromotionCompleted`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`releaseBundleV2PromotionFailed`\" pulumi-lang-dotnet=\"`ReleaseBundleV2PromotionFailed`\" pulumi-lang-go=\"`releaseBundleV2PromotionFailed`\" pulumi-lang-python=\"`release_bundle_v2_promotion_failed`\" pulumi-lang-yaml=\"`releaseBundleV2PromotionFailed`\" pulumi-lang-java=\"`releaseBundleV2PromotionFailed`\" pulumi-lang-hcl=\"`release_bundle_v2_promotion_failed`\"\u003e`releaseBundleV2PromotionFailed`\u003c/span\u003e\n"
                },
                "handlers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/ReleaseBundleV2PromotionCustomWebhookHandler:ReleaseBundleV2PromotionCustomWebhookHandler"
                    },
                    "description": "At least one is required.\n"
                },
                "key": {
                    "type": "string",
                    "description": "The identity key of the webhook. Must be between 2 and 200 characters. Cannot contain spaces.\n"
                }
            },
            "requiredInputs": [
                "criteria",
                "eventTypes",
                "handlers",
                "key"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering ReleaseBundleV2PromotionCustomWebhook resources.\n",
                "properties": {
                    "criteria": {
                        "$ref": "#/types/artifactory:index/ReleaseBundleV2PromotionCustomWebhookCriteria:ReleaseBundleV2PromotionCustomWebhookCriteria",
                        "description": "Specifies where the webhook will be applied on which enviroments.\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Webhook description. Max length 1000 characters.\n"
                    },
                    "enabled": {
                        "type": "boolean",
                        "description": "Status of webhook. Default to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                    },
                    "eventTypes": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of event triggers for the Webhook. Allow values: \u003cspan pulumi-lang-nodejs=\"`releaseBundleV2PromotionStarted`\" pulumi-lang-dotnet=\"`ReleaseBundleV2PromotionStarted`\" pulumi-lang-go=\"`releaseBundleV2PromotionStarted`\" pulumi-lang-python=\"`release_bundle_v2_promotion_started`\" pulumi-lang-yaml=\"`releaseBundleV2PromotionStarted`\" pulumi-lang-java=\"`releaseBundleV2PromotionStarted`\" pulumi-lang-hcl=\"`release_bundle_v2_promotion_started`\"\u003e`releaseBundleV2PromotionStarted`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`releaseBundleV2PromotionCompleted`\" pulumi-lang-dotnet=\"`ReleaseBundleV2PromotionCompleted`\" pulumi-lang-go=\"`releaseBundleV2PromotionCompleted`\" pulumi-lang-python=\"`release_bundle_v2_promotion_completed`\" pulumi-lang-yaml=\"`releaseBundleV2PromotionCompleted`\" pulumi-lang-java=\"`releaseBundleV2PromotionCompleted`\" pulumi-lang-hcl=\"`release_bundle_v2_promotion_completed`\"\u003e`releaseBundleV2PromotionCompleted`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`releaseBundleV2PromotionFailed`\" pulumi-lang-dotnet=\"`ReleaseBundleV2PromotionFailed`\" pulumi-lang-go=\"`releaseBundleV2PromotionFailed`\" pulumi-lang-python=\"`release_bundle_v2_promotion_failed`\" pulumi-lang-yaml=\"`releaseBundleV2PromotionFailed`\" pulumi-lang-java=\"`releaseBundleV2PromotionFailed`\" pulumi-lang-hcl=\"`release_bundle_v2_promotion_failed`\"\u003e`releaseBundleV2PromotionFailed`\u003c/span\u003e\n"
                    },
                    "handlers": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/artifactory:index/ReleaseBundleV2PromotionCustomWebhookHandler:ReleaseBundleV2PromotionCustomWebhookHandler"
                        },
                        "description": "At least one is required.\n"
                    },
                    "key": {
                        "type": "string",
                        "description": "The identity key of the webhook. Must be between 2 and 200 characters. Cannot contain spaces.\n"
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/releaseBundleV2PromotionWebhook:ReleaseBundleV2PromotionWebhook": {
            "description": "Provides an Artifactory webhook resource. This can be used to register and manage Artifactory webhook subscription which enables you to be notified or notify other users when such events take place in Artifactory.\n\n## Example Usage\n\n.\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst release_bundle_v2_promotion_webhook = new artifactory.ReleaseBundleV2PromotionWebhook(\"release-bundle-v2-promotion-webhook\", {\n    key: \"release-bundle-v2-promotion-webhook\",\n    eventTypes: [\n        \"release_bundle_v2_promotion_completed\",\n        \"release_bundle_v2_promotion_failed\",\n        \"release_bundle_v2_promotion_started\",\n    ],\n    criteria: {\n        selectedEnvironments: [\n            \"PROD\",\n            \"DEV\",\n        ],\n    },\n    handlers: [{\n        url: \"http://tempurl.org/webhook\",\n        secret: \"some-secret\",\n        proxy: \"proxy-key\",\n        customHttpHeaders: {\n            \"header-1\": \"value-1\",\n            \"header-2\": \"value-2\",\n        },\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nrelease_bundle_v2_promotion_webhook = artifactory.ReleaseBundleV2PromotionWebhook(\"release-bundle-v2-promotion-webhook\",\n    key=\"release-bundle-v2-promotion-webhook\",\n    event_types=[\n        \"release_bundle_v2_promotion_completed\",\n        \"release_bundle_v2_promotion_failed\",\n        \"release_bundle_v2_promotion_started\",\n    ],\n    criteria={\n        \"selected_environments\": [\n            \"PROD\",\n            \"DEV\",\n        ],\n    },\n    handlers=[{\n        \"url\": \"http://tempurl.org/webhook\",\n        \"secret\": \"some-secret\",\n        \"proxy\": \"proxy-key\",\n        \"custom_http_headers\": {\n            \"header-1\": \"value-1\",\n            \"header-2\": \"value-2\",\n        },\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var release_bundle_v2_promotion_webhook = new Artifactory.ReleaseBundleV2PromotionWebhook(\"release-bundle-v2-promotion-webhook\", new()\n    {\n        Key = \"release-bundle-v2-promotion-webhook\",\n        EventTypes = new[]\n        {\n            \"release_bundle_v2_promotion_completed\",\n            \"release_bundle_v2_promotion_failed\",\n            \"release_bundle_v2_promotion_started\",\n        },\n        Criteria = new Artifactory.Inputs.ReleaseBundleV2PromotionWebhookCriteriaArgs\n        {\n            SelectedEnvironments = new[]\n            {\n                \"PROD\",\n                \"DEV\",\n            },\n        },\n        Handlers = new[]\n        {\n            new Artifactory.Inputs.ReleaseBundleV2PromotionWebhookHandlerArgs\n            {\n                Url = \"http://tempurl.org/webhook\",\n                Secret = \"some-secret\",\n                Proxy = \"proxy-key\",\n                CustomHttpHeaders = \n                {\n                    { \"header-1\", \"value-1\" },\n                    { \"header-2\", \"value-2\" },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewReleaseBundleV2PromotionWebhook(ctx, \"release-bundle-v2-promotion-webhook\", \u0026artifactory.ReleaseBundleV2PromotionWebhookArgs{\n\t\t\tKey: pulumi.String(\"release-bundle-v2-promotion-webhook\"),\n\t\t\tEventTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"release_bundle_v2_promotion_completed\"),\n\t\t\t\tpulumi.String(\"release_bundle_v2_promotion_failed\"),\n\t\t\t\tpulumi.String(\"release_bundle_v2_promotion_started\"),\n\t\t\t},\n\t\t\tCriteria: \u0026artifactory.ReleaseBundleV2PromotionWebhookCriteriaArgs{\n\t\t\t\tSelectedEnvironments: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"PROD\"),\n\t\t\t\t\tpulumi.String(\"DEV\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tHandlers: artifactory.ReleaseBundleV2PromotionWebhookHandlerArray{\n\t\t\t\t\u0026artifactory.ReleaseBundleV2PromotionWebhookHandlerArgs{\n\t\t\t\t\tUrl:    pulumi.String(\"http://tempurl.org/webhook\"),\n\t\t\t\t\tSecret: pulumi.String(\"some-secret\"),\n\t\t\t\t\tProxy:  pulumi.String(\"proxy-key\"),\n\t\t\t\t\tCustomHttpHeaders: pulumi.StringMap{\n\t\t\t\t\t\t\"header-1\": pulumi.String(\"value-1\"),\n\t\t\t\t\t\t\"header-2\": pulumi.String(\"value-2\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_releasebundlev2promotionwebhook\" \"release-bundle-v2-promotion-webhook\" {\n  key         = \"release-bundle-v2-promotion-webhook\"\n  event_types = [\"release_bundle_v2_promotion_completed\", \"release_bundle_v2_promotion_failed\", \"release_bundle_v2_promotion_started\"]\n  criteria = {\n    selected_environments = [\"PROD\", \"DEV\"]\n  }\n  handlers {\n    url    = \"http://tempurl.org/webhook\"\n    secret = \"some-secret\"\n    proxy  = \"proxy-key\"\n    custom_http_headers = {\n      \"header-1\" = \"value-1\"\n      \"header-2\" = \"value-2\"\n    }\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.ReleaseBundleV2PromotionWebhook;\nimport com.pulumi.artifactory.ReleaseBundleV2PromotionWebhookArgs;\nimport com.pulumi.artifactory.inputs.ReleaseBundleV2PromotionWebhookCriteriaArgs;\nimport com.pulumi.artifactory.inputs.ReleaseBundleV2PromotionWebhookHandlerArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 release_bundle_v2_promotion_webhook = new ReleaseBundleV2PromotionWebhook(\"release-bundle-v2-promotion-webhook\", ReleaseBundleV2PromotionWebhookArgs.builder()\n            .key(\"release-bundle-v2-promotion-webhook\")\n            .eventTypes(            \n                \"release_bundle_v2_promotion_completed\",\n                \"release_bundle_v2_promotion_failed\",\n                \"release_bundle_v2_promotion_started\")\n            .criteria(ReleaseBundleV2PromotionWebhookCriteriaArgs.builder()\n                .selectedEnvironments(                \n                    \"PROD\",\n                    \"DEV\")\n                .build())\n            .handlers(ReleaseBundleV2PromotionWebhookHandlerArgs.builder()\n                .url(\"http://tempurl.org/webhook\")\n                .secret(\"some-secret\")\n                .proxy(\"proxy-key\")\n                .customHttpHeaders(Map.ofEntries(\n                    Map.entry(\"header-1\", \"value-1\"),\n                    Map.entry(\"header-2\", \"value-2\")\n                ))\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  release-bundle-v2-promotion-webhook:\n    type: artifactory:ReleaseBundleV2PromotionWebhook\n    properties:\n      key: release-bundle-v2-promotion-webhook\n      eventTypes:\n        - release_bundle_v2_promotion_completed\n        - release_bundle_v2_promotion_failed\n        - release_bundle_v2_promotion_started\n      criteria:\n        selectedEnvironments:\n          - PROD\n          - DEV\n      handlers:\n        - url: http://tempurl.org/webhook\n          secret: some-secret\n          proxy: proxy-key\n          customHttpHeaders:\n            header-1: value-1\n            header-2: value-2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "properties": {
                "criteria": {
                    "$ref": "#/types/artifactory:index/ReleaseBundleV2PromotionWebhookCriteria:ReleaseBundleV2PromotionWebhookCriteria",
                    "description": "Specifies where the webhook will be applied on which enviroments.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Webhook description. Max length 1000 characters.\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Status of webhook. Default to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e\n"
                },
                "eventTypes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of event triggers for the Webhook. Allow values: \u003cspan pulumi-lang-nodejs=\"`releaseBundleV2PromotionStarted`\" pulumi-lang-dotnet=\"`ReleaseBundleV2PromotionStarted`\" pulumi-lang-go=\"`releaseBundleV2PromotionStarted`\" pulumi-lang-python=\"`release_bundle_v2_promotion_started`\" pulumi-lang-yaml=\"`releaseBundleV2PromotionStarted`\" pulumi-lang-java=\"`releaseBundleV2PromotionStarted`\" pulumi-lang-hcl=\"`release_bundle_v2_promotion_started`\"\u003e`releaseBundleV2PromotionStarted`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`releaseBundleV2PromotionCompleted`\" pulumi-lang-dotnet=\"`ReleaseBundleV2PromotionCompleted`\" pulumi-lang-go=\"`releaseBundleV2PromotionCompleted`\" pulumi-lang-python=\"`release_bundle_v2_promotion_completed`\" pulumi-lang-yaml=\"`releaseBundleV2PromotionCompleted`\" pulumi-lang-java=\"`releaseBundleV2PromotionCompleted`\" pulumi-lang-hcl=\"`release_bundle_v2_promotion_completed`\"\u003e`releaseBundleV2PromotionCompleted`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`releaseBundleV2PromotionFailed`\" pulumi-lang-dotnet=\"`ReleaseBundleV2PromotionFailed`\" pulumi-lang-go=\"`releaseBundleV2PromotionFailed`\" pulumi-lang-python=\"`release_bundle_v2_promotion_failed`\" pulumi-lang-yaml=\"`releaseBundleV2PromotionFailed`\" pulumi-lang-java=\"`releaseBundleV2PromotionFailed`\" pulumi-lang-hcl=\"`release_bundle_v2_promotion_failed`\"\u003e`releaseBundleV2PromotionFailed`\u003c/span\u003e\n"
                },
                "handlers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/ReleaseBundleV2PromotionWebhookHandler:ReleaseBundleV2PromotionWebhookHandler"
                    },
                    "description": "At least one is required.\n"
                },
                "key": {
                    "type": "string",
                    "description": "The identity key of the webhook. Must be between 2 and 200 characters. Cannot contain spaces.\n"
                }
            },
            "required": [
                "criteria",
                "enabled",
                "eventTypes",
                "handlers",
                "key"
            ],
            "inputProperties": {
                "criteria": {
                    "$ref": "#/types/artifactory:index/ReleaseBundleV2PromotionWebhookCriteria:ReleaseBundleV2PromotionWebhookCriteria",
                    "description": "Specifies where the webhook will be applied on which enviroments.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Webhook description. Max length 1000 characters.\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Status of webhook. Default to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e\n"
                },
                "eventTypes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of event triggers for the Webhook. Allow values: \u003cspan pulumi-lang-nodejs=\"`releaseBundleV2PromotionStarted`\" pulumi-lang-dotnet=\"`ReleaseBundleV2PromotionStarted`\" pulumi-lang-go=\"`releaseBundleV2PromotionStarted`\" pulumi-lang-python=\"`release_bundle_v2_promotion_started`\" pulumi-lang-yaml=\"`releaseBundleV2PromotionStarted`\" pulumi-lang-java=\"`releaseBundleV2PromotionStarted`\" pulumi-lang-hcl=\"`release_bundle_v2_promotion_started`\"\u003e`releaseBundleV2PromotionStarted`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`releaseBundleV2PromotionCompleted`\" pulumi-lang-dotnet=\"`ReleaseBundleV2PromotionCompleted`\" pulumi-lang-go=\"`releaseBundleV2PromotionCompleted`\" pulumi-lang-python=\"`release_bundle_v2_promotion_completed`\" pulumi-lang-yaml=\"`releaseBundleV2PromotionCompleted`\" pulumi-lang-java=\"`releaseBundleV2PromotionCompleted`\" pulumi-lang-hcl=\"`release_bundle_v2_promotion_completed`\"\u003e`releaseBundleV2PromotionCompleted`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`releaseBundleV2PromotionFailed`\" pulumi-lang-dotnet=\"`ReleaseBundleV2PromotionFailed`\" pulumi-lang-go=\"`releaseBundleV2PromotionFailed`\" pulumi-lang-python=\"`release_bundle_v2_promotion_failed`\" pulumi-lang-yaml=\"`releaseBundleV2PromotionFailed`\" pulumi-lang-java=\"`releaseBundleV2PromotionFailed`\" pulumi-lang-hcl=\"`release_bundle_v2_promotion_failed`\"\u003e`releaseBundleV2PromotionFailed`\u003c/span\u003e\n"
                },
                "handlers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/ReleaseBundleV2PromotionWebhookHandler:ReleaseBundleV2PromotionWebhookHandler"
                    },
                    "description": "At least one is required.\n"
                },
                "key": {
                    "type": "string",
                    "description": "The identity key of the webhook. Must be between 2 and 200 characters. Cannot contain spaces.\n"
                }
            },
            "requiredInputs": [
                "criteria",
                "eventTypes",
                "handlers",
                "key"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering ReleaseBundleV2PromotionWebhook resources.\n",
                "properties": {
                    "criteria": {
                        "$ref": "#/types/artifactory:index/ReleaseBundleV2PromotionWebhookCriteria:ReleaseBundleV2PromotionWebhookCriteria",
                        "description": "Specifies where the webhook will be applied on which enviroments.\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Webhook description. Max length 1000 characters.\n"
                    },
                    "enabled": {
                        "type": "boolean",
                        "description": "Status of webhook. Default to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e\n"
                    },
                    "eventTypes": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of event triggers for the Webhook. Allow values: \u003cspan pulumi-lang-nodejs=\"`releaseBundleV2PromotionStarted`\" pulumi-lang-dotnet=\"`ReleaseBundleV2PromotionStarted`\" pulumi-lang-go=\"`releaseBundleV2PromotionStarted`\" pulumi-lang-python=\"`release_bundle_v2_promotion_started`\" pulumi-lang-yaml=\"`releaseBundleV2PromotionStarted`\" pulumi-lang-java=\"`releaseBundleV2PromotionStarted`\" pulumi-lang-hcl=\"`release_bundle_v2_promotion_started`\"\u003e`releaseBundleV2PromotionStarted`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`releaseBundleV2PromotionCompleted`\" pulumi-lang-dotnet=\"`ReleaseBundleV2PromotionCompleted`\" pulumi-lang-go=\"`releaseBundleV2PromotionCompleted`\" pulumi-lang-python=\"`release_bundle_v2_promotion_completed`\" pulumi-lang-yaml=\"`releaseBundleV2PromotionCompleted`\" pulumi-lang-java=\"`releaseBundleV2PromotionCompleted`\" pulumi-lang-hcl=\"`release_bundle_v2_promotion_completed`\"\u003e`releaseBundleV2PromotionCompleted`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`releaseBundleV2PromotionFailed`\" pulumi-lang-dotnet=\"`ReleaseBundleV2PromotionFailed`\" pulumi-lang-go=\"`releaseBundleV2PromotionFailed`\" pulumi-lang-python=\"`release_bundle_v2_promotion_failed`\" pulumi-lang-yaml=\"`releaseBundleV2PromotionFailed`\" pulumi-lang-java=\"`releaseBundleV2PromotionFailed`\" pulumi-lang-hcl=\"`release_bundle_v2_promotion_failed`\"\u003e`releaseBundleV2PromotionFailed`\u003c/span\u003e\n"
                    },
                    "handlers": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/artifactory:index/ReleaseBundleV2PromotionWebhookHandler:ReleaseBundleV2PromotionWebhookHandler"
                        },
                        "description": "At least one is required.\n"
                    },
                    "key": {
                        "type": "string",
                        "description": "The identity key of the webhook. Must be between 2 and 200 characters. Cannot contain spaces.\n"
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/releaseBundleV2Webhook:ReleaseBundleV2Webhook": {
            "description": "Provides an Artifactory webhook resource. This can be used to register and manage Artifactory webhook subscription which enables you to be notified or notify other users when such events take place in Artifactory.\n\n## Example Usage\n\n.\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst release_bundle_v2_webhook = new artifactory.ReleaseBundleV2Webhook(\"release-bundle-v2-webhook\", {\n    key: \"release-bundle-v2-webhook\",\n    eventTypes: [\n        \"release_bundle_v2_started\",\n        \"release_bundle_v2_failed\",\n        \"release_bundle_v2_completed\",\n    ],\n    criteria: {\n        anyReleaseBundle: false,\n        selectedReleaseBundles: [\"bundle-name\"],\n    },\n    handlers: [{\n        url: \"http://tempurl.org/webhook\",\n        secret: \"some-secret\",\n        proxy: \"proxy-key\",\n        customHttpHeaders: {\n            \"header-1\": \"value-1\",\n            \"header-2\": \"value-2\",\n        },\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nrelease_bundle_v2_webhook = artifactory.ReleaseBundleV2Webhook(\"release-bundle-v2-webhook\",\n    key=\"release-bundle-v2-webhook\",\n    event_types=[\n        \"release_bundle_v2_started\",\n        \"release_bundle_v2_failed\",\n        \"release_bundle_v2_completed\",\n    ],\n    criteria={\n        \"any_release_bundle\": False,\n        \"selected_release_bundles\": [\"bundle-name\"],\n    },\n    handlers=[{\n        \"url\": \"http://tempurl.org/webhook\",\n        \"secret\": \"some-secret\",\n        \"proxy\": \"proxy-key\",\n        \"custom_http_headers\": {\n            \"header-1\": \"value-1\",\n            \"header-2\": \"value-2\",\n        },\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var release_bundle_v2_webhook = new Artifactory.ReleaseBundleV2Webhook(\"release-bundle-v2-webhook\", new()\n    {\n        Key = \"release-bundle-v2-webhook\",\n        EventTypes = new[]\n        {\n            \"release_bundle_v2_started\",\n            \"release_bundle_v2_failed\",\n            \"release_bundle_v2_completed\",\n        },\n        Criteria = new Artifactory.Inputs.ReleaseBundleV2WebhookCriteriaArgs\n        {\n            AnyReleaseBundle = false,\n            SelectedReleaseBundles = new[]\n            {\n                \"bundle-name\",\n            },\n        },\n        Handlers = new[]\n        {\n            new Artifactory.Inputs.ReleaseBundleV2WebhookHandlerArgs\n            {\n                Url = \"http://tempurl.org/webhook\",\n                Secret = \"some-secret\",\n                Proxy = \"proxy-key\",\n                CustomHttpHeaders = \n                {\n                    { \"header-1\", \"value-1\" },\n                    { \"header-2\", \"value-2\" },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewReleaseBundleV2Webhook(ctx, \"release-bundle-v2-webhook\", \u0026artifactory.ReleaseBundleV2WebhookArgs{\n\t\t\tKey: pulumi.String(\"release-bundle-v2-webhook\"),\n\t\t\tEventTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"release_bundle_v2_started\"),\n\t\t\t\tpulumi.String(\"release_bundle_v2_failed\"),\n\t\t\t\tpulumi.String(\"release_bundle_v2_completed\"),\n\t\t\t},\n\t\t\tCriteria: \u0026artifactory.ReleaseBundleV2WebhookCriteriaArgs{\n\t\t\t\tAnyReleaseBundle: pulumi.Bool(false),\n\t\t\t\tSelectedReleaseBundles: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"bundle-name\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tHandlers: artifactory.ReleaseBundleV2WebhookHandlerArray{\n\t\t\t\t\u0026artifactory.ReleaseBundleV2WebhookHandlerArgs{\n\t\t\t\t\tUrl:    pulumi.String(\"http://tempurl.org/webhook\"),\n\t\t\t\t\tSecret: pulumi.String(\"some-secret\"),\n\t\t\t\t\tProxy:  pulumi.String(\"proxy-key\"),\n\t\t\t\t\tCustomHttpHeaders: pulumi.StringMap{\n\t\t\t\t\t\t\"header-1\": pulumi.String(\"value-1\"),\n\t\t\t\t\t\t\"header-2\": pulumi.String(\"value-2\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_releasebundlev2webhook\" \"release-bundle-v2-webhook\" {\n  key         = \"release-bundle-v2-webhook\"\n  event_types = [\"release_bundle_v2_started\", \"release_bundle_v2_failed\", \"release_bundle_v2_completed\"]\n  criteria = {\n    any_release_bundle       = false\n    selected_release_bundles = [\"bundle-name\"]\n  }\n  handlers {\n    url    = \"http://tempurl.org/webhook\"\n    secret = \"some-secret\"\n    proxy  = \"proxy-key\"\n    custom_http_headers = {\n      \"header-1\" = \"value-1\"\n      \"header-2\" = \"value-2\"\n    }\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.ReleaseBundleV2Webhook;\nimport com.pulumi.artifactory.ReleaseBundleV2WebhookArgs;\nimport com.pulumi.artifactory.inputs.ReleaseBundleV2WebhookCriteriaArgs;\nimport com.pulumi.artifactory.inputs.ReleaseBundleV2WebhookHandlerArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 release_bundle_v2_webhook = new ReleaseBundleV2Webhook(\"release-bundle-v2-webhook\", ReleaseBundleV2WebhookArgs.builder()\n            .key(\"release-bundle-v2-webhook\")\n            .eventTypes(            \n                \"release_bundle_v2_started\",\n                \"release_bundle_v2_failed\",\n                \"release_bundle_v2_completed\")\n            .criteria(ReleaseBundleV2WebhookCriteriaArgs.builder()\n                .anyReleaseBundle(false)\n                .selectedReleaseBundles(\"bundle-name\")\n                .build())\n            .handlers(ReleaseBundleV2WebhookHandlerArgs.builder()\n                .url(\"http://tempurl.org/webhook\")\n                .secret(\"some-secret\")\n                .proxy(\"proxy-key\")\n                .customHttpHeaders(Map.ofEntries(\n                    Map.entry(\"header-1\", \"value-1\"),\n                    Map.entry(\"header-2\", \"value-2\")\n                ))\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  release-bundle-v2-webhook:\n    type: artifactory:ReleaseBundleV2Webhook\n    properties:\n      key: release-bundle-v2-webhook\n      eventTypes:\n        - release_bundle_v2_started\n        - release_bundle_v2_failed\n        - release_bundle_v2_completed\n      criteria:\n        anyReleaseBundle: false\n        selectedReleaseBundles:\n          - bundle-name\n      handlers:\n        - url: http://tempurl.org/webhook\n          secret: some-secret\n          proxy: proxy-key\n          customHttpHeaders:\n            header-1: value-1\n            header-2: value-2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "properties": {
                "criteria": {
                    "$ref": "#/types/artifactory:index/ReleaseBundleV2WebhookCriteria:ReleaseBundleV2WebhookCriteria",
                    "description": "Specifies where the webhook will be applied on which repositories.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Webhook description. Max length 1000 characters.\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Status of webhook. Default to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                },
                "eventTypes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of Events in Artifactory, Distribution, Release Bundle that function as the event trigger for the Webhook. Allow values: \u003cspan pulumi-lang-nodejs=\"`releaseBundleV2Started`\" pulumi-lang-dotnet=\"`ReleaseBundleV2Started`\" pulumi-lang-go=\"`releaseBundleV2Started`\" pulumi-lang-python=\"`release_bundle_v2_started`\" pulumi-lang-yaml=\"`releaseBundleV2Started`\" pulumi-lang-java=\"`releaseBundleV2Started`\" pulumi-lang-hcl=\"`release_bundle_v2_started`\"\u003e`releaseBundleV2Started`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`releaseBundleV2Failed`\" pulumi-lang-dotnet=\"`ReleaseBundleV2Failed`\" pulumi-lang-go=\"`releaseBundleV2Failed`\" pulumi-lang-python=\"`release_bundle_v2_failed`\" pulumi-lang-yaml=\"`releaseBundleV2Failed`\" pulumi-lang-java=\"`releaseBundleV2Failed`\" pulumi-lang-hcl=\"`release_bundle_v2_failed`\"\u003e`releaseBundleV2Failed`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`releaseBundleV2Completed`\" pulumi-lang-dotnet=\"`ReleaseBundleV2Completed`\" pulumi-lang-go=\"`releaseBundleV2Completed`\" pulumi-lang-python=\"`release_bundle_v2_completed`\" pulumi-lang-yaml=\"`releaseBundleV2Completed`\" pulumi-lang-java=\"`releaseBundleV2Completed`\" pulumi-lang-hcl=\"`release_bundle_v2_completed`\"\u003e`releaseBundleV2Completed`\u003c/span\u003e.\n"
                },
                "handlers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/ReleaseBundleV2WebhookHandler:ReleaseBundleV2WebhookHandler"
                    },
                    "description": "At least one is required.\n"
                },
                "key": {
                    "type": "string",
                    "description": "The identity key of the webhook. Must be between 2 and 200 characters. Cannot contain spaces.\n"
                }
            },
            "required": [
                "criteria",
                "enabled",
                "eventTypes",
                "handlers",
                "key"
            ],
            "inputProperties": {
                "criteria": {
                    "$ref": "#/types/artifactory:index/ReleaseBundleV2WebhookCriteria:ReleaseBundleV2WebhookCriteria",
                    "description": "Specifies where the webhook will be applied on which repositories.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Webhook description. Max length 1000 characters.\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Status of webhook. Default to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                },
                "eventTypes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of Events in Artifactory, Distribution, Release Bundle that function as the event trigger for the Webhook. Allow values: \u003cspan pulumi-lang-nodejs=\"`releaseBundleV2Started`\" pulumi-lang-dotnet=\"`ReleaseBundleV2Started`\" pulumi-lang-go=\"`releaseBundleV2Started`\" pulumi-lang-python=\"`release_bundle_v2_started`\" pulumi-lang-yaml=\"`releaseBundleV2Started`\" pulumi-lang-java=\"`releaseBundleV2Started`\" pulumi-lang-hcl=\"`release_bundle_v2_started`\"\u003e`releaseBundleV2Started`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`releaseBundleV2Failed`\" pulumi-lang-dotnet=\"`ReleaseBundleV2Failed`\" pulumi-lang-go=\"`releaseBundleV2Failed`\" pulumi-lang-python=\"`release_bundle_v2_failed`\" pulumi-lang-yaml=\"`releaseBundleV2Failed`\" pulumi-lang-java=\"`releaseBundleV2Failed`\" pulumi-lang-hcl=\"`release_bundle_v2_failed`\"\u003e`releaseBundleV2Failed`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`releaseBundleV2Completed`\" pulumi-lang-dotnet=\"`ReleaseBundleV2Completed`\" pulumi-lang-go=\"`releaseBundleV2Completed`\" pulumi-lang-python=\"`release_bundle_v2_completed`\" pulumi-lang-yaml=\"`releaseBundleV2Completed`\" pulumi-lang-java=\"`releaseBundleV2Completed`\" pulumi-lang-hcl=\"`release_bundle_v2_completed`\"\u003e`releaseBundleV2Completed`\u003c/span\u003e.\n"
                },
                "handlers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/ReleaseBundleV2WebhookHandler:ReleaseBundleV2WebhookHandler"
                    },
                    "description": "At least one is required.\n"
                },
                "key": {
                    "type": "string",
                    "description": "The identity key of the webhook. Must be between 2 and 200 characters. Cannot contain spaces.\n"
                }
            },
            "requiredInputs": [
                "criteria",
                "eventTypes",
                "handlers",
                "key"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering ReleaseBundleV2Webhook resources.\n",
                "properties": {
                    "criteria": {
                        "$ref": "#/types/artifactory:index/ReleaseBundleV2WebhookCriteria:ReleaseBundleV2WebhookCriteria",
                        "description": "Specifies where the webhook will be applied on which repositories.\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Webhook description. Max length 1000 characters.\n"
                    },
                    "enabled": {
                        "type": "boolean",
                        "description": "Status of webhook. Default to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                    },
                    "eventTypes": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of Events in Artifactory, Distribution, Release Bundle that function as the event trigger for the Webhook. Allow values: \u003cspan pulumi-lang-nodejs=\"`releaseBundleV2Started`\" pulumi-lang-dotnet=\"`ReleaseBundleV2Started`\" pulumi-lang-go=\"`releaseBundleV2Started`\" pulumi-lang-python=\"`release_bundle_v2_started`\" pulumi-lang-yaml=\"`releaseBundleV2Started`\" pulumi-lang-java=\"`releaseBundleV2Started`\" pulumi-lang-hcl=\"`release_bundle_v2_started`\"\u003e`releaseBundleV2Started`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`releaseBundleV2Failed`\" pulumi-lang-dotnet=\"`ReleaseBundleV2Failed`\" pulumi-lang-go=\"`releaseBundleV2Failed`\" pulumi-lang-python=\"`release_bundle_v2_failed`\" pulumi-lang-yaml=\"`releaseBundleV2Failed`\" pulumi-lang-java=\"`releaseBundleV2Failed`\" pulumi-lang-hcl=\"`release_bundle_v2_failed`\"\u003e`releaseBundleV2Failed`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`releaseBundleV2Completed`\" pulumi-lang-dotnet=\"`ReleaseBundleV2Completed`\" pulumi-lang-go=\"`releaseBundleV2Completed`\" pulumi-lang-python=\"`release_bundle_v2_completed`\" pulumi-lang-yaml=\"`releaseBundleV2Completed`\" pulumi-lang-java=\"`releaseBundleV2Completed`\" pulumi-lang-hcl=\"`release_bundle_v2_completed`\"\u003e`releaseBundleV2Completed`\u003c/span\u003e.\n"
                    },
                    "handlers": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/artifactory:index/ReleaseBundleV2WebhookHandler:ReleaseBundleV2WebhookHandler"
                        },
                        "description": "At least one is required.\n"
                    },
                    "key": {
                        "type": "string",
                        "description": "The identity key of the webhook. Must be between 2 and 200 characters. Cannot contain spaces.\n"
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/releaseBundleWebhook:ReleaseBundleWebhook": {
            "description": "Provides an Artifactory webhook resource. This can be used to register and manage Artifactory webhook subscription which enables you to be notified or notify other users when such events take place in Artifactory.\n\n!\u003eThis resource is being deprecated and replaced by \u003cspan pulumi-lang-nodejs=\"`artifactory.DestinationWebhook`\" pulumi-lang-dotnet=\"`artifactory.DestinationWebhook`\" pulumi-lang-go=\"`DestinationWebhook`\" pulumi-lang-python=\"`DestinationWebhook`\" pulumi-lang-yaml=\"`artifactory.DestinationWebhook`\" pulumi-lang-java=\"`artifactory.DestinationWebhook`\" pulumi-lang-hcl=\"`artifactory_destination_webhook`\"\u003e`artifactory.DestinationWebhook`\u003c/span\u003e resource.\n\n## Example Usage\n\n.\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst release_bundle_webhook = new artifactory.ReleaseBundleWebhook(\"release-bundle-webhook\", {\n    key: \"release-bundle-webhook\",\n    eventTypes: [\n        \"created\",\n        \"signed\",\n        \"deleted\",\n    ],\n    criteria: {\n        anyReleaseBundle: false,\n        registeredReleaseBundleNames: [\"bundle-name\"],\n        includePatterns: [\"foo/**\"],\n        excludePatterns: [\"bar/**\"],\n    },\n    handlers: [{\n        url: \"http://tempurl.org/webhook\",\n        secret: \"some-secret\",\n        proxy: \"proxy-key\",\n        customHttpHeaders: {\n            \"header-1\": \"value-1\",\n            \"header-2\": \"value-2\",\n        },\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nrelease_bundle_webhook = artifactory.ReleaseBundleWebhook(\"release-bundle-webhook\",\n    key=\"release-bundle-webhook\",\n    event_types=[\n        \"created\",\n        \"signed\",\n        \"deleted\",\n    ],\n    criteria={\n        \"any_release_bundle\": False,\n        \"registered_release_bundle_names\": [\"bundle-name\"],\n        \"include_patterns\": [\"foo/**\"],\n        \"exclude_patterns\": [\"bar/**\"],\n    },\n    handlers=[{\n        \"url\": \"http://tempurl.org/webhook\",\n        \"secret\": \"some-secret\",\n        \"proxy\": \"proxy-key\",\n        \"custom_http_headers\": {\n            \"header-1\": \"value-1\",\n            \"header-2\": \"value-2\",\n        },\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var release_bundle_webhook = new Artifactory.ReleaseBundleWebhook(\"release-bundle-webhook\", new()\n    {\n        Key = \"release-bundle-webhook\",\n        EventTypes = new[]\n        {\n            \"created\",\n            \"signed\",\n            \"deleted\",\n        },\n        Criteria = new Artifactory.Inputs.ReleaseBundleWebhookCriteriaArgs\n        {\n            AnyReleaseBundle = false,\n            RegisteredReleaseBundleNames = new[]\n            {\n                \"bundle-name\",\n            },\n            IncludePatterns = new[]\n            {\n                \"foo/**\",\n            },\n            ExcludePatterns = new[]\n            {\n                \"bar/**\",\n            },\n        },\n        Handlers = new[]\n        {\n            new Artifactory.Inputs.ReleaseBundleWebhookHandlerArgs\n            {\n                Url = \"http://tempurl.org/webhook\",\n                Secret = \"some-secret\",\n                Proxy = \"proxy-key\",\n                CustomHttpHeaders = \n                {\n                    { \"header-1\", \"value-1\" },\n                    { \"header-2\", \"value-2\" },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewReleaseBundleWebhook(ctx, \"release-bundle-webhook\", \u0026artifactory.ReleaseBundleWebhookArgs{\n\t\t\tKey: pulumi.String(\"release-bundle-webhook\"),\n\t\t\tEventTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"created\"),\n\t\t\t\tpulumi.String(\"signed\"),\n\t\t\t\tpulumi.String(\"deleted\"),\n\t\t\t},\n\t\t\tCriteria: \u0026artifactory.ReleaseBundleWebhookCriteriaArgs{\n\t\t\t\tAnyReleaseBundle: pulumi.Bool(false),\n\t\t\t\tRegisteredReleaseBundleNames: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"bundle-name\"),\n\t\t\t\t},\n\t\t\t\tIncludePatterns: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"foo/**\"),\n\t\t\t\t},\n\t\t\t\tExcludePatterns: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"bar/**\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tHandlers: artifactory.ReleaseBundleWebhookHandlerArray{\n\t\t\t\t\u0026artifactory.ReleaseBundleWebhookHandlerArgs{\n\t\t\t\t\tUrl:    pulumi.String(\"http://tempurl.org/webhook\"),\n\t\t\t\t\tSecret: pulumi.String(\"some-secret\"),\n\t\t\t\t\tProxy:  pulumi.String(\"proxy-key\"),\n\t\t\t\t\tCustomHttpHeaders: pulumi.StringMap{\n\t\t\t\t\t\t\"header-1\": pulumi.String(\"value-1\"),\n\t\t\t\t\t\t\"header-2\": pulumi.String(\"value-2\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_releasebundlewebhook\" \"release-bundle-webhook\" {\n  key         = \"release-bundle-webhook\"\n  event_types = [\"created\", \"signed\", \"deleted\"]\n  criteria = {\n    any_release_bundle              = false\n    registered_release_bundle_names = [\"bundle-name\"]\n    include_patterns                = [\"foo/**\"]\n    exclude_patterns                = [\"bar/**\"]\n  }\n  handlers {\n    url    = \"http://tempurl.org/webhook\"\n    secret = \"some-secret\"\n    proxy  = \"proxy-key\"\n    custom_http_headers = {\n      \"header-1\" = \"value-1\"\n      \"header-2\" = \"value-2\"\n    }\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.ReleaseBundleWebhook;\nimport com.pulumi.artifactory.ReleaseBundleWebhookArgs;\nimport com.pulumi.artifactory.inputs.ReleaseBundleWebhookCriteriaArgs;\nimport com.pulumi.artifactory.inputs.ReleaseBundleWebhookHandlerArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 release_bundle_webhook = new ReleaseBundleWebhook(\"release-bundle-webhook\", ReleaseBundleWebhookArgs.builder()\n            .key(\"release-bundle-webhook\")\n            .eventTypes(            \n                \"created\",\n                \"signed\",\n                \"deleted\")\n            .criteria(ReleaseBundleWebhookCriteriaArgs.builder()\n                .anyReleaseBundle(false)\n                .registeredReleaseBundleNames(\"bundle-name\")\n                .includePatterns(\"foo/**\")\n                .excludePatterns(\"bar/**\")\n                .build())\n            .handlers(ReleaseBundleWebhookHandlerArgs.builder()\n                .url(\"http://tempurl.org/webhook\")\n                .secret(\"some-secret\")\n                .proxy(\"proxy-key\")\n                .customHttpHeaders(Map.ofEntries(\n                    Map.entry(\"header-1\", \"value-1\"),\n                    Map.entry(\"header-2\", \"value-2\")\n                ))\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  release-bundle-webhook:\n    type: artifactory:ReleaseBundleWebhook\n    properties:\n      key: release-bundle-webhook\n      eventTypes:\n        - created\n        - signed\n        - deleted\n      criteria:\n        anyReleaseBundle: false\n        registeredReleaseBundleNames:\n          - bundle-name\n        includePatterns:\n          - foo/**\n        excludePatterns:\n          - bar/**\n      handlers:\n        - url: http://tempurl.org/webhook\n          secret: some-secret\n          proxy: proxy-key\n          customHttpHeaders:\n            header-1: value-1\n            header-2: value-2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "properties": {
                "criteria": {
                    "$ref": "#/types/artifactory:index/ReleaseBundleWebhookCriteria:ReleaseBundleWebhookCriteria",
                    "description": "Specifies where the webhook will be applied on which repositories.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Webhook description. Max length 1000 characters.\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Status of webhook. Default to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                },
                "eventTypes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of Events in Artifactory, Distribution, Release Bundle that function as the event trigger for the Webhook. Allow values: \u003cspan pulumi-lang-nodejs=\"`created`\" pulumi-lang-dotnet=\"`Created`\" pulumi-lang-go=\"`created`\" pulumi-lang-python=\"`created`\" pulumi-lang-yaml=\"`created`\" pulumi-lang-java=\"`created`\" pulumi-lang-hcl=\"`created`\"\u003e`created`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`signed`\" pulumi-lang-dotnet=\"`Signed`\" pulumi-lang-go=\"`signed`\" pulumi-lang-python=\"`signed`\" pulumi-lang-yaml=\"`signed`\" pulumi-lang-java=\"`signed`\" pulumi-lang-hcl=\"`signed`\"\u003e`signed`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleted`\" pulumi-lang-dotnet=\"`Deleted`\" pulumi-lang-go=\"`deleted`\" pulumi-lang-python=\"`deleted`\" pulumi-lang-yaml=\"`deleted`\" pulumi-lang-java=\"`deleted`\" pulumi-lang-hcl=\"`deleted`\"\u003e`deleted`\u003c/span\u003e.\n"
                },
                "handlers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/ReleaseBundleWebhookHandler:ReleaseBundleWebhookHandler"
                    },
                    "description": "At least one is required.\n"
                },
                "key": {
                    "type": "string",
                    "description": "The identity key of the webhook. Must be between 2 and 200 characters. Cannot contain spaces.\n"
                }
            },
            "required": [
                "criteria",
                "enabled",
                "eventTypes",
                "handlers",
                "key"
            ],
            "inputProperties": {
                "criteria": {
                    "$ref": "#/types/artifactory:index/ReleaseBundleWebhookCriteria:ReleaseBundleWebhookCriteria",
                    "description": "Specifies where the webhook will be applied on which repositories.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Webhook description. Max length 1000 characters.\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Status of webhook. Default to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                },
                "eventTypes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of Events in Artifactory, Distribution, Release Bundle that function as the event trigger for the Webhook. Allow values: \u003cspan pulumi-lang-nodejs=\"`created`\" pulumi-lang-dotnet=\"`Created`\" pulumi-lang-go=\"`created`\" pulumi-lang-python=\"`created`\" pulumi-lang-yaml=\"`created`\" pulumi-lang-java=\"`created`\" pulumi-lang-hcl=\"`created`\"\u003e`created`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`signed`\" pulumi-lang-dotnet=\"`Signed`\" pulumi-lang-go=\"`signed`\" pulumi-lang-python=\"`signed`\" pulumi-lang-yaml=\"`signed`\" pulumi-lang-java=\"`signed`\" pulumi-lang-hcl=\"`signed`\"\u003e`signed`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleted`\" pulumi-lang-dotnet=\"`Deleted`\" pulumi-lang-go=\"`deleted`\" pulumi-lang-python=\"`deleted`\" pulumi-lang-yaml=\"`deleted`\" pulumi-lang-java=\"`deleted`\" pulumi-lang-hcl=\"`deleted`\"\u003e`deleted`\u003c/span\u003e.\n"
                },
                "handlers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/ReleaseBundleWebhookHandler:ReleaseBundleWebhookHandler"
                    },
                    "description": "At least one is required.\n"
                },
                "key": {
                    "type": "string",
                    "description": "The identity key of the webhook. Must be between 2 and 200 characters. Cannot contain spaces.\n"
                }
            },
            "requiredInputs": [
                "criteria",
                "eventTypes",
                "handlers",
                "key"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering ReleaseBundleWebhook resources.\n",
                "properties": {
                    "criteria": {
                        "$ref": "#/types/artifactory:index/ReleaseBundleWebhookCriteria:ReleaseBundleWebhookCriteria",
                        "description": "Specifies where the webhook will be applied on which repositories.\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Webhook description. Max length 1000 characters.\n"
                    },
                    "enabled": {
                        "type": "boolean",
                        "description": "Status of webhook. Default to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                    },
                    "eventTypes": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of Events in Artifactory, Distribution, Release Bundle that function as the event trigger for the Webhook. Allow values: \u003cspan pulumi-lang-nodejs=\"`created`\" pulumi-lang-dotnet=\"`Created`\" pulumi-lang-go=\"`created`\" pulumi-lang-python=\"`created`\" pulumi-lang-yaml=\"`created`\" pulumi-lang-java=\"`created`\" pulumi-lang-hcl=\"`created`\"\u003e`created`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`signed`\" pulumi-lang-dotnet=\"`Signed`\" pulumi-lang-go=\"`signed`\" pulumi-lang-python=\"`signed`\" pulumi-lang-yaml=\"`signed`\" pulumi-lang-java=\"`signed`\" pulumi-lang-hcl=\"`signed`\"\u003e`signed`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleted`\" pulumi-lang-dotnet=\"`Deleted`\" pulumi-lang-go=\"`deleted`\" pulumi-lang-python=\"`deleted`\" pulumi-lang-yaml=\"`deleted`\" pulumi-lang-java=\"`deleted`\" pulumi-lang-hcl=\"`deleted`\"\u003e`deleted`\u003c/span\u003e.\n"
                    },
                    "handlers": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/artifactory:index/ReleaseBundleWebhookHandler:ReleaseBundleWebhookHandler"
                        },
                        "description": "At least one is required.\n"
                    },
                    "key": {
                        "type": "string",
                        "description": "The identity key of the webhook. Must be between 2 and 200 characters. Cannot contain spaces.\n"
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/remoteAlpineRepository:RemoteAlpineRepository": {
            "description": "Creates a remote Alpine repository.\nOfficial documentation can be found [here](https://www.jfrog.com/confluence/display/JFROG/Alpine+Linux+Repositories).\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst my_remote_alpine = new artifactory.RemoteAlpineRepository(\"my-remote-alpine\", {\n    key: \"my-remote-alpine\",\n    url: \"http://dl-cdn.alpinelinux.org/alpine\",\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nmy_remote_alpine = artifactory.RemoteAlpineRepository(\"my-remote-alpine\",\n    key=\"my-remote-alpine\",\n    url=\"http://dl-cdn.alpinelinux.org/alpine\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var my_remote_alpine = new Artifactory.RemoteAlpineRepository(\"my-remote-alpine\", new()\n    {\n        Key = \"my-remote-alpine\",\n        Url = \"http://dl-cdn.alpinelinux.org/alpine\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewRemoteAlpineRepository(ctx, \"my-remote-alpine\", \u0026artifactory.RemoteAlpineRepositoryArgs{\n\t\t\tKey: pulumi.String(\"my-remote-alpine\"),\n\t\t\tUrl: pulumi.String(\"http://dl-cdn.alpinelinux.org/alpine\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_remotealpinerepository\" \"my-remote-alpine\" {\n  key = \"my-remote-alpine\"\n  url = \"http://dl-cdn.alpinelinux.org/alpine\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.RemoteAlpineRepository;\nimport com.pulumi.artifactory.RemoteAlpineRepositoryArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 my_remote_alpine = new RemoteAlpineRepository(\"my-remote-alpine\", RemoteAlpineRepositoryArgs.builder()\n            .key(\"my-remote-alpine\")\n            .url(\"http://dl-cdn.alpinelinux.org/alpine\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  my-remote-alpine:\n    type: artifactory:RemoteAlpineRepository\n    properties:\n      key: my-remote-alpine\n      url: http://dl-cdn.alpinelinux.org/alpine\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRemote repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/remoteAlpineRepository:RemoteAlpineRepository my-remote-alpine my-remote-alpine\n```\n\n",
            "properties": {
                "allowAnyHostAuth": {
                    "type": "boolean",
                    "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                },
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "assumedOfflinePeriodSecs": {
                    "type": "integer",
                    "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                },
                "blockMismatchingMimeTypes": {
                    "type": "boolean",
                    "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                },
                "bypassHeadRequests": {
                    "type": "boolean",
                    "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "clientTlsCertificate": {
                    "type": "string",
                    "description": "Client TLS certificate name."
                },
                "contentSynchronisation": {
                    "$ref": "#/types/artifactory:index/RemoteAlpineRepositoryContentSynchronisation:RemoteAlpineRepositoryContentSynchronisation"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                },
                "disableUrlNormalization": {
                    "type": "boolean",
                    "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                },
                "enableCookieManagement": {
                    "type": "boolean",
                    "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "hardFail": {
                    "type": "boolean",
                    "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                },
                "listRemoteFolderItems": {
                    "type": "boolean",
                    "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                },
                "localAddress": {
                    "type": "string",
                    "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                },
                "metadataRetrievalTimeoutSecs": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                },
                "mismatchingMimeTypesOverrideList": {
                    "type": "string",
                    "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                },
                "missedCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "offline": {
                    "type": "boolean",
                    "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                },
                "password": {
                    "type": "string",
                    "secret": true
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                },
                "queryParams": {
                    "type": "string",
                    "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                },
                "remoteRepoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "retrievalCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                },
                "shareConfiguration": {
                    "type": "boolean",
                    "deprecationMessage": "No longer supported"
                },
                "socketTimeoutMillis": {
                    "type": "integer",
                    "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                },
                "storeArtifactsLocally": {
                    "type": "boolean",
                    "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                },
                "synchronizeProperties": {
                    "type": "boolean",
                    "description": "When set, remote artifacts are fetched along with their properties."
                },
                "unusedArtifactsCleanupPeriodHours": {
                    "type": "integer",
                    "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                },
                "url": {
                    "type": "string",
                    "description": "The remote repo URL.\n"
                },
                "username": {
                    "type": "string"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "allowAnyHostAuth",
                "archiveBrowsingEnabled",
                "assumedOfflinePeriodSecs",
                "blackedOut",
                "blockMismatchingMimeTypes",
                "bypassHeadRequests",
                "cdnRedirect",
                "clientTlsCertificate",
                "description",
                "disableProxy",
                "disableUrlNormalization",
                "downloadDirect",
                "enableCookieManagement",
                "excludesPattern",
                "hardFail",
                "includesPattern",
                "key",
                "listRemoteFolderItems",
                "localAddress",
                "metadataRetrievalTimeoutSecs",
                "mismatchingMimeTypesOverrideList",
                "missedCachePeriodSeconds",
                "notes",
                "offline",
                "priorityResolution",
                "projectEnvironments",
                "projectKey",
                "proxy",
                "queryParams",
                "remoteRepoLayoutRef",
                "repoLayoutRef",
                "retrievalCachePeriodSeconds",
                "shareConfiguration",
                "socketTimeoutMillis",
                "storeArtifactsLocally",
                "synchronizeProperties",
                "unusedArtifactsCleanupPeriodHours",
                "url",
                "username",
                "xrayIndex"
            ],
            "inputProperties": {
                "allowAnyHostAuth": {
                    "type": "boolean",
                    "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                },
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "assumedOfflinePeriodSecs": {
                    "type": "integer",
                    "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                },
                "blockMismatchingMimeTypes": {
                    "type": "boolean",
                    "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                },
                "bypassHeadRequests": {
                    "type": "boolean",
                    "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "clientTlsCertificate": {
                    "type": "string",
                    "description": "Client TLS certificate name."
                },
                "contentSynchronisation": {
                    "$ref": "#/types/artifactory:index/RemoteAlpineRepositoryContentSynchronisation:RemoteAlpineRepositoryContentSynchronisation"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                },
                "disableUrlNormalization": {
                    "type": "boolean",
                    "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                },
                "enableCookieManagement": {
                    "type": "boolean",
                    "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "hardFail": {
                    "type": "boolean",
                    "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                },
                "listRemoteFolderItems": {
                    "type": "boolean",
                    "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                },
                "localAddress": {
                    "type": "string",
                    "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                },
                "metadataRetrievalTimeoutSecs": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                },
                "mismatchingMimeTypesOverrideList": {
                    "type": "string",
                    "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                },
                "missedCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "offline": {
                    "type": "boolean",
                    "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                },
                "password": {
                    "type": "string",
                    "secret": true
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                },
                "queryParams": {
                    "type": "string",
                    "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                },
                "remoteRepoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "retrievalCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                },
                "shareConfiguration": {
                    "type": "boolean",
                    "deprecationMessage": "No longer supported"
                },
                "socketTimeoutMillis": {
                    "type": "integer",
                    "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                },
                "storeArtifactsLocally": {
                    "type": "boolean",
                    "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                },
                "synchronizeProperties": {
                    "type": "boolean",
                    "description": "When set, remote artifacts are fetched along with their properties."
                },
                "unusedArtifactsCleanupPeriodHours": {
                    "type": "integer",
                    "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                },
                "url": {
                    "type": "string",
                    "description": "The remote repo URL.\n"
                },
                "username": {
                    "type": "string"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key",
                "url"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering RemoteAlpineRepository resources.\n",
                "properties": {
                    "allowAnyHostAuth": {
                        "type": "boolean",
                        "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                    },
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "assumedOfflinePeriodSecs": {
                        "type": "integer",
                        "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                    },
                    "blockMismatchingMimeTypes": {
                        "type": "boolean",
                        "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                    },
                    "bypassHeadRequests": {
                        "type": "boolean",
                        "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "clientTlsCertificate": {
                        "type": "string",
                        "description": "Client TLS certificate name."
                    },
                    "contentSynchronisation": {
                        "$ref": "#/types/artifactory:index/RemoteAlpineRepositoryContentSynchronisation:RemoteAlpineRepositoryContentSynchronisation"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "disableProxy": {
                        "type": "boolean",
                        "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                    },
                    "disableUrlNormalization": {
                        "type": "boolean",
                        "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                    },
                    "enableCookieManagement": {
                        "type": "boolean",
                        "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "hardFail": {
                        "type": "boolean",
                        "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                    },
                    "listRemoteFolderItems": {
                        "type": "boolean",
                        "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                    },
                    "localAddress": {
                        "type": "string",
                        "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                    },
                    "metadataRetrievalTimeoutSecs": {
                        "type": "integer",
                        "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                    },
                    "mismatchingMimeTypesOverrideList": {
                        "type": "string",
                        "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                    },
                    "missedCachePeriodSeconds": {
                        "type": "integer",
                        "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "offline": {
                        "type": "boolean",
                        "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                    },
                    "password": {
                        "type": "string",
                        "secret": true
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "proxy": {
                        "type": "string",
                        "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                    },
                    "queryParams": {
                        "type": "string",
                        "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                    },
                    "remoteRepoLayoutRef": {
                        "type": "string",
                        "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                    },
                    "retrievalCachePeriodSeconds": {
                        "type": "integer",
                        "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                    },
                    "shareConfiguration": {
                        "type": "boolean",
                        "deprecationMessage": "No longer supported"
                    },
                    "socketTimeoutMillis": {
                        "type": "integer",
                        "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                    },
                    "storeArtifactsLocally": {
                        "type": "boolean",
                        "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                    },
                    "synchronizeProperties": {
                        "type": "boolean",
                        "description": "When set, remote artifacts are fetched along with their properties."
                    },
                    "unusedArtifactsCleanupPeriodHours": {
                        "type": "integer",
                        "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                    },
                    "url": {
                        "type": "string",
                        "description": "The remote repo URL.\n"
                    },
                    "username": {
                        "type": "string"
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/remoteAnsibleRepository:RemoteAnsibleRepository": {
            "description": "Creates a remote Ansible repository.\n\nOfficial documentation can be found [here](https://jfrog.com/help/r/jfrog-artifactory-documentation/ansible-repositories).\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst my_remote_ansible = new artifactory.RemoteAnsibleRepository(\"my-remote-ansible\", {\n    key: \"my-remote-ansible\",\n    url: \"https://galaxy.ansible.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nmy_remote_ansible = artifactory.RemoteAnsibleRepository(\"my-remote-ansible\",\n    key=\"my-remote-ansible\",\n    url=\"https://galaxy.ansible.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var my_remote_ansible = new Artifactory.RemoteAnsibleRepository(\"my-remote-ansible\", new()\n    {\n        Key = \"my-remote-ansible\",\n        Url = \"https://galaxy.ansible.com\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewRemoteAnsibleRepository(ctx, \"my-remote-ansible\", \u0026artifactory.RemoteAnsibleRepositoryArgs{\n\t\t\tKey: pulumi.String(\"my-remote-ansible\"),\n\t\t\tUrl: pulumi.String(\"https://galaxy.ansible.com\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_remoteansiblerepository\" \"my-remote-ansible\" {\n  key = \"my-remote-ansible\"\n  url = \"https://galaxy.ansible.com\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.RemoteAnsibleRepository;\nimport com.pulumi.artifactory.RemoteAnsibleRepositoryArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 my_remote_ansible = new RemoteAnsibleRepository(\"my-remote-ansible\", RemoteAnsibleRepositoryArgs.builder()\n            .key(\"my-remote-ansible\")\n            .url(\"https://galaxy.ansible.com\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  my-remote-ansible:\n    type: artifactory:RemoteAnsibleRepository\n    properties:\n      key: my-remote-ansible\n      url: https://galaxy.ansible.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRemote repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/remoteAnsibleRepository:RemoteAnsibleRepository my-remote-ansible my-remote-ansible\n```\n\n",
            "properties": {
                "allowAnyHostAuth": {
                    "type": "boolean",
                    "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                },
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "assumedOfflinePeriodSecs": {
                    "type": "integer",
                    "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                },
                "blockMismatchingMimeTypes": {
                    "type": "boolean",
                    "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                },
                "bypassHeadRequests": {
                    "type": "boolean",
                    "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "clientTlsCertificate": {
                    "type": "string",
                    "description": "Client TLS certificate name."
                },
                "contentSynchronisation": {
                    "$ref": "#/types/artifactory:index/RemoteAnsibleRepositoryContentSynchronisation:RemoteAnsibleRepositoryContentSynchronisation"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                },
                "disableUrlNormalization": {
                    "type": "boolean",
                    "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                },
                "enableCookieManagement": {
                    "type": "boolean",
                    "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "hardFail": {
                    "type": "boolean",
                    "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                },
                "listRemoteFolderItems": {
                    "type": "boolean",
                    "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                },
                "localAddress": {
                    "type": "string",
                    "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                },
                "metadataRetrievalTimeoutSecs": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                },
                "mismatchingMimeTypesOverrideList": {
                    "type": "string",
                    "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                },
                "missedCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "offline": {
                    "type": "boolean",
                    "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                },
                "password": {
                    "type": "string",
                    "secret": true
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                },
                "queryParams": {
                    "type": "string",
                    "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                },
                "remoteRepoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "retrievalCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                },
                "shareConfiguration": {
                    "type": "boolean",
                    "deprecationMessage": "No longer supported"
                },
                "socketTimeoutMillis": {
                    "type": "integer",
                    "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                },
                "storeArtifactsLocally": {
                    "type": "boolean",
                    "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                },
                "synchronizeProperties": {
                    "type": "boolean",
                    "description": "When set, remote artifacts are fetched along with their properties."
                },
                "unusedArtifactsCleanupPeriodHours": {
                    "type": "integer",
                    "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                },
                "url": {
                    "type": "string",
                    "description": "The remote repo URL.\n"
                },
                "username": {
                    "type": "string"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "allowAnyHostAuth",
                "archiveBrowsingEnabled",
                "assumedOfflinePeriodSecs",
                "blackedOut",
                "blockMismatchingMimeTypes",
                "bypassHeadRequests",
                "cdnRedirect",
                "clientTlsCertificate",
                "description",
                "disableProxy",
                "disableUrlNormalization",
                "downloadDirect",
                "enableCookieManagement",
                "excludesPattern",
                "hardFail",
                "includesPattern",
                "key",
                "listRemoteFolderItems",
                "localAddress",
                "metadataRetrievalTimeoutSecs",
                "mismatchingMimeTypesOverrideList",
                "missedCachePeriodSeconds",
                "notes",
                "offline",
                "priorityResolution",
                "projectEnvironments",
                "projectKey",
                "proxy",
                "queryParams",
                "remoteRepoLayoutRef",
                "repoLayoutRef",
                "retrievalCachePeriodSeconds",
                "shareConfiguration",
                "socketTimeoutMillis",
                "storeArtifactsLocally",
                "synchronizeProperties",
                "unusedArtifactsCleanupPeriodHours",
                "url",
                "username",
                "xrayIndex"
            ],
            "inputProperties": {
                "allowAnyHostAuth": {
                    "type": "boolean",
                    "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                },
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "assumedOfflinePeriodSecs": {
                    "type": "integer",
                    "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                },
                "blockMismatchingMimeTypes": {
                    "type": "boolean",
                    "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                },
                "bypassHeadRequests": {
                    "type": "boolean",
                    "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "clientTlsCertificate": {
                    "type": "string",
                    "description": "Client TLS certificate name."
                },
                "contentSynchronisation": {
                    "$ref": "#/types/artifactory:index/RemoteAnsibleRepositoryContentSynchronisation:RemoteAnsibleRepositoryContentSynchronisation"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                },
                "disableUrlNormalization": {
                    "type": "boolean",
                    "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                },
                "enableCookieManagement": {
                    "type": "boolean",
                    "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "hardFail": {
                    "type": "boolean",
                    "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                },
                "listRemoteFolderItems": {
                    "type": "boolean",
                    "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                },
                "localAddress": {
                    "type": "string",
                    "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                },
                "metadataRetrievalTimeoutSecs": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                },
                "mismatchingMimeTypesOverrideList": {
                    "type": "string",
                    "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                },
                "missedCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "offline": {
                    "type": "boolean",
                    "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                },
                "password": {
                    "type": "string",
                    "secret": true
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                },
                "queryParams": {
                    "type": "string",
                    "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                },
                "remoteRepoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "retrievalCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                },
                "shareConfiguration": {
                    "type": "boolean",
                    "deprecationMessage": "No longer supported"
                },
                "socketTimeoutMillis": {
                    "type": "integer",
                    "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                },
                "storeArtifactsLocally": {
                    "type": "boolean",
                    "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                },
                "synchronizeProperties": {
                    "type": "boolean",
                    "description": "When set, remote artifacts are fetched along with their properties."
                },
                "unusedArtifactsCleanupPeriodHours": {
                    "type": "integer",
                    "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                },
                "url": {
                    "type": "string",
                    "description": "The remote repo URL.\n"
                },
                "username": {
                    "type": "string"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering RemoteAnsibleRepository resources.\n",
                "properties": {
                    "allowAnyHostAuth": {
                        "type": "boolean",
                        "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                    },
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "assumedOfflinePeriodSecs": {
                        "type": "integer",
                        "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                    },
                    "blockMismatchingMimeTypes": {
                        "type": "boolean",
                        "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                    },
                    "bypassHeadRequests": {
                        "type": "boolean",
                        "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "clientTlsCertificate": {
                        "type": "string",
                        "description": "Client TLS certificate name."
                    },
                    "contentSynchronisation": {
                        "$ref": "#/types/artifactory:index/RemoteAnsibleRepositoryContentSynchronisation:RemoteAnsibleRepositoryContentSynchronisation"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "disableProxy": {
                        "type": "boolean",
                        "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                    },
                    "disableUrlNormalization": {
                        "type": "boolean",
                        "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                    },
                    "enableCookieManagement": {
                        "type": "boolean",
                        "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "hardFail": {
                        "type": "boolean",
                        "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                    },
                    "listRemoteFolderItems": {
                        "type": "boolean",
                        "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                    },
                    "localAddress": {
                        "type": "string",
                        "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                    },
                    "metadataRetrievalTimeoutSecs": {
                        "type": "integer",
                        "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                    },
                    "mismatchingMimeTypesOverrideList": {
                        "type": "string",
                        "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                    },
                    "missedCachePeriodSeconds": {
                        "type": "integer",
                        "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "offline": {
                        "type": "boolean",
                        "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                    },
                    "password": {
                        "type": "string",
                        "secret": true
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "proxy": {
                        "type": "string",
                        "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                    },
                    "queryParams": {
                        "type": "string",
                        "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                    },
                    "remoteRepoLayoutRef": {
                        "type": "string",
                        "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                    },
                    "retrievalCachePeriodSeconds": {
                        "type": "integer",
                        "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                    },
                    "shareConfiguration": {
                        "type": "boolean",
                        "deprecationMessage": "No longer supported"
                    },
                    "socketTimeoutMillis": {
                        "type": "integer",
                        "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                    },
                    "storeArtifactsLocally": {
                        "type": "boolean",
                        "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                    },
                    "synchronizeProperties": {
                        "type": "boolean",
                        "description": "When set, remote artifacts are fetched along with their properties."
                    },
                    "unusedArtifactsCleanupPeriodHours": {
                        "type": "integer",
                        "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                    },
                    "url": {
                        "type": "string",
                        "description": "The remote repo URL.\n"
                    },
                    "username": {
                        "type": "string"
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/remoteBowerRepository:RemoteBowerRepository": {
            "description": "Creates a remote Bower repository.\nOfficial documentation can be found [here](https://www.jfrog.com/confluence/display/JFROG/Bower+Repositories).\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst my_remote_bower = new artifactory.RemoteBowerRepository(\"my-remote-bower\", {\n    key: \"my-remote-bower\",\n    url: \"https://github.com/\",\n    vcsGitProvider: \"GITHUB\",\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nmy_remote_bower = artifactory.RemoteBowerRepository(\"my-remote-bower\",\n    key=\"my-remote-bower\",\n    url=\"https://github.com/\",\n    vcs_git_provider=\"GITHUB\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var my_remote_bower = new Artifactory.RemoteBowerRepository(\"my-remote-bower\", new()\n    {\n        Key = \"my-remote-bower\",\n        Url = \"https://github.com/\",\n        VcsGitProvider = \"GITHUB\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewRemoteBowerRepository(ctx, \"my-remote-bower\", \u0026artifactory.RemoteBowerRepositoryArgs{\n\t\t\tKey:            pulumi.String(\"my-remote-bower\"),\n\t\t\tUrl:            pulumi.String(\"https://github.com/\"),\n\t\t\tVcsGitProvider: pulumi.String(\"GITHUB\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_remotebowerrepository\" \"my-remote-bower\" {\n  key              = \"my-remote-bower\"\n  url              = \"https://github.com/\"\n  vcs_git_provider = \"GITHUB\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.RemoteBowerRepository;\nimport com.pulumi.artifactory.RemoteBowerRepositoryArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 my_remote_bower = new RemoteBowerRepository(\"my-remote-bower\", RemoteBowerRepositoryArgs.builder()\n            .key(\"my-remote-bower\")\n            .url(\"https://github.com/\")\n            .vcsGitProvider(\"GITHUB\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  my-remote-bower:\n    type: artifactory:RemoteBowerRepository\n    properties:\n      key: my-remote-bower\n      url: https://github.com/\n      vcsGitProvider: GITHUB\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRemote repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/remoteBowerRepository:RemoteBowerRepository my-remote-bower my-remote-bower\n```\n\n",
            "properties": {
                "allowAnyHostAuth": {
                    "type": "boolean",
                    "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                },
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "assumedOfflinePeriodSecs": {
                    "type": "integer",
                    "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                },
                "blockMismatchingMimeTypes": {
                    "type": "boolean",
                    "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                },
                "bowerRegistryUrl": {
                    "type": "string",
                    "description": "Proxy remote Bower repository. Default value is `https://registry.bower.io`.\n"
                },
                "bypassHeadRequests": {
                    "type": "boolean",
                    "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "clientTlsCertificate": {
                    "type": "string",
                    "description": "Client TLS certificate name."
                },
                "contentSynchronisation": {
                    "$ref": "#/types/artifactory:index/RemoteBowerRepositoryContentSynchronisation:RemoteBowerRepositoryContentSynchronisation"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                },
                "disableUrlNormalization": {
                    "type": "boolean",
                    "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                },
                "enableCookieManagement": {
                    "type": "boolean",
                    "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "hardFail": {
                    "type": "boolean",
                    "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                },
                "listRemoteFolderItems": {
                    "type": "boolean",
                    "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                },
                "localAddress": {
                    "type": "string",
                    "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                },
                "metadataRetrievalTimeoutSecs": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                },
                "mismatchingMimeTypesOverrideList": {
                    "type": "string",
                    "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                },
                "missedCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "offline": {
                    "type": "boolean",
                    "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                },
                "password": {
                    "type": "string",
                    "secret": true
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                },
                "queryParams": {
                    "type": "string",
                    "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                },
                "remoteRepoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "retrievalCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                },
                "shareConfiguration": {
                    "type": "boolean",
                    "deprecationMessage": "No longer supported"
                },
                "socketTimeoutMillis": {
                    "type": "integer",
                    "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                },
                "storeArtifactsLocally": {
                    "type": "boolean",
                    "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                },
                "synchronizeProperties": {
                    "type": "boolean",
                    "description": "When set, remote artifacts are fetched along with their properties."
                },
                "unusedArtifactsCleanupPeriodHours": {
                    "type": "integer",
                    "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                },
                "url": {
                    "type": "string",
                    "description": "The remote repo URL.\n"
                },
                "username": {
                    "type": "string"
                },
                "vcsGitDownloadUrl": {
                    "type": "string",
                    "description": "This attribute is used when\u003cspan pulumi-lang-nodejs=\" vcsGitProvider \" pulumi-lang-dotnet=\" VcsGitProvider \" pulumi-lang-go=\" vcsGitProvider \" pulumi-lang-python=\" vcs_git_provider \" pulumi-lang-yaml=\" vcsGitProvider \" pulumi-lang-java=\" vcsGitProvider \" pulumi-lang-hcl=\" vcs_git_provider \"\u003e vcsGitProvider \u003c/span\u003eis set to 'CUSTOM'. Provided URL will be used as proxy.\n"
                },
                "vcsGitProvider": {
                    "type": "string",
                    "description": "Artifactory supports proxying the following Git providers out-of-the-box: GitHub or a remote Artifactory instance. Default value is `GITHUB`. Possible values are: `GITHUB`, `BITBUCKET`, `OLDSTASH`, `STASH`, `ARTIFACTORY`, `CUSTOM`.\n"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "allowAnyHostAuth",
                "archiveBrowsingEnabled",
                "assumedOfflinePeriodSecs",
                "blackedOut",
                "blockMismatchingMimeTypes",
                "bowerRegistryUrl",
                "bypassHeadRequests",
                "cdnRedirect",
                "clientTlsCertificate",
                "description",
                "disableProxy",
                "disableUrlNormalization",
                "downloadDirect",
                "enableCookieManagement",
                "excludesPattern",
                "hardFail",
                "includesPattern",
                "key",
                "listRemoteFolderItems",
                "localAddress",
                "metadataRetrievalTimeoutSecs",
                "mismatchingMimeTypesOverrideList",
                "missedCachePeriodSeconds",
                "notes",
                "offline",
                "priorityResolution",
                "projectEnvironments",
                "projectKey",
                "proxy",
                "queryParams",
                "remoteRepoLayoutRef",
                "repoLayoutRef",
                "retrievalCachePeriodSeconds",
                "shareConfiguration",
                "socketTimeoutMillis",
                "storeArtifactsLocally",
                "synchronizeProperties",
                "unusedArtifactsCleanupPeriodHours",
                "url",
                "username",
                "vcsGitProvider",
                "xrayIndex"
            ],
            "inputProperties": {
                "allowAnyHostAuth": {
                    "type": "boolean",
                    "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                },
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "assumedOfflinePeriodSecs": {
                    "type": "integer",
                    "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                },
                "blockMismatchingMimeTypes": {
                    "type": "boolean",
                    "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                },
                "bowerRegistryUrl": {
                    "type": "string",
                    "description": "Proxy remote Bower repository. Default value is `https://registry.bower.io`.\n"
                },
                "bypassHeadRequests": {
                    "type": "boolean",
                    "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "clientTlsCertificate": {
                    "type": "string",
                    "description": "Client TLS certificate name."
                },
                "contentSynchronisation": {
                    "$ref": "#/types/artifactory:index/RemoteBowerRepositoryContentSynchronisation:RemoteBowerRepositoryContentSynchronisation"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                },
                "disableUrlNormalization": {
                    "type": "boolean",
                    "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                },
                "enableCookieManagement": {
                    "type": "boolean",
                    "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "hardFail": {
                    "type": "boolean",
                    "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                },
                "listRemoteFolderItems": {
                    "type": "boolean",
                    "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                },
                "localAddress": {
                    "type": "string",
                    "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                },
                "metadataRetrievalTimeoutSecs": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                },
                "mismatchingMimeTypesOverrideList": {
                    "type": "string",
                    "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                },
                "missedCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "offline": {
                    "type": "boolean",
                    "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                },
                "password": {
                    "type": "string",
                    "secret": true
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                },
                "queryParams": {
                    "type": "string",
                    "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                },
                "remoteRepoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "retrievalCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                },
                "shareConfiguration": {
                    "type": "boolean",
                    "deprecationMessage": "No longer supported"
                },
                "socketTimeoutMillis": {
                    "type": "integer",
                    "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                },
                "storeArtifactsLocally": {
                    "type": "boolean",
                    "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                },
                "synchronizeProperties": {
                    "type": "boolean",
                    "description": "When set, remote artifacts are fetched along with their properties."
                },
                "unusedArtifactsCleanupPeriodHours": {
                    "type": "integer",
                    "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                },
                "url": {
                    "type": "string",
                    "description": "The remote repo URL.\n"
                },
                "username": {
                    "type": "string"
                },
                "vcsGitDownloadUrl": {
                    "type": "string",
                    "description": "This attribute is used when\u003cspan pulumi-lang-nodejs=\" vcsGitProvider \" pulumi-lang-dotnet=\" VcsGitProvider \" pulumi-lang-go=\" vcsGitProvider \" pulumi-lang-python=\" vcs_git_provider \" pulumi-lang-yaml=\" vcsGitProvider \" pulumi-lang-java=\" vcsGitProvider \" pulumi-lang-hcl=\" vcs_git_provider \"\u003e vcsGitProvider \u003c/span\u003eis set to 'CUSTOM'. Provided URL will be used as proxy.\n"
                },
                "vcsGitProvider": {
                    "type": "string",
                    "description": "Artifactory supports proxying the following Git providers out-of-the-box: GitHub or a remote Artifactory instance. Default value is `GITHUB`. Possible values are: `GITHUB`, `BITBUCKET`, `OLDSTASH`, `STASH`, `ARTIFACTORY`, `CUSTOM`.\n"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key",
                "url"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering RemoteBowerRepository resources.\n",
                "properties": {
                    "allowAnyHostAuth": {
                        "type": "boolean",
                        "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                    },
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "assumedOfflinePeriodSecs": {
                        "type": "integer",
                        "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                    },
                    "blockMismatchingMimeTypes": {
                        "type": "boolean",
                        "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                    },
                    "bowerRegistryUrl": {
                        "type": "string",
                        "description": "Proxy remote Bower repository. Default value is `https://registry.bower.io`.\n"
                    },
                    "bypassHeadRequests": {
                        "type": "boolean",
                        "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "clientTlsCertificate": {
                        "type": "string",
                        "description": "Client TLS certificate name."
                    },
                    "contentSynchronisation": {
                        "$ref": "#/types/artifactory:index/RemoteBowerRepositoryContentSynchronisation:RemoteBowerRepositoryContentSynchronisation"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "disableProxy": {
                        "type": "boolean",
                        "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                    },
                    "disableUrlNormalization": {
                        "type": "boolean",
                        "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                    },
                    "enableCookieManagement": {
                        "type": "boolean",
                        "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "hardFail": {
                        "type": "boolean",
                        "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                    },
                    "listRemoteFolderItems": {
                        "type": "boolean",
                        "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                    },
                    "localAddress": {
                        "type": "string",
                        "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                    },
                    "metadataRetrievalTimeoutSecs": {
                        "type": "integer",
                        "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                    },
                    "mismatchingMimeTypesOverrideList": {
                        "type": "string",
                        "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                    },
                    "missedCachePeriodSeconds": {
                        "type": "integer",
                        "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "offline": {
                        "type": "boolean",
                        "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                    },
                    "password": {
                        "type": "string",
                        "secret": true
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "proxy": {
                        "type": "string",
                        "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                    },
                    "queryParams": {
                        "type": "string",
                        "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                    },
                    "remoteRepoLayoutRef": {
                        "type": "string",
                        "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                    },
                    "retrievalCachePeriodSeconds": {
                        "type": "integer",
                        "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                    },
                    "shareConfiguration": {
                        "type": "boolean",
                        "deprecationMessage": "No longer supported"
                    },
                    "socketTimeoutMillis": {
                        "type": "integer",
                        "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                    },
                    "storeArtifactsLocally": {
                        "type": "boolean",
                        "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                    },
                    "synchronizeProperties": {
                        "type": "boolean",
                        "description": "When set, remote artifacts are fetched along with their properties."
                    },
                    "unusedArtifactsCleanupPeriodHours": {
                        "type": "integer",
                        "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                    },
                    "url": {
                        "type": "string",
                        "description": "The remote repo URL.\n"
                    },
                    "username": {
                        "type": "string"
                    },
                    "vcsGitDownloadUrl": {
                        "type": "string",
                        "description": "This attribute is used when\u003cspan pulumi-lang-nodejs=\" vcsGitProvider \" pulumi-lang-dotnet=\" VcsGitProvider \" pulumi-lang-go=\" vcsGitProvider \" pulumi-lang-python=\" vcs_git_provider \" pulumi-lang-yaml=\" vcsGitProvider \" pulumi-lang-java=\" vcsGitProvider \" pulumi-lang-hcl=\" vcs_git_provider \"\u003e vcsGitProvider \u003c/span\u003eis set to 'CUSTOM'. Provided URL will be used as proxy.\n"
                    },
                    "vcsGitProvider": {
                        "type": "string",
                        "description": "Artifactory supports proxying the following Git providers out-of-the-box: GitHub or a remote Artifactory instance. Default value is `GITHUB`. Possible values are: `GITHUB`, `BITBUCKET`, `OLDSTASH`, `STASH`, `ARTIFACTORY`, `CUSTOM`.\n"
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/remoteCargoRepository:RemoteCargoRepository": {
            "description": "Creates a remote Cargo repository.\n\nOfficial documentation can be found [here](https://www.jfrog.com/confluence/display/JFROG/Cargo+Registry).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst my_remote_cargo = new artifactory.RemoteCargoRepository(\"my-remote-cargo\", {\n    key: \"my-remote-cargo\",\n    anonymousAccess: true,\n    enableSparseIndex: true,\n    url: \"https://index.crates.io/\",\n    gitRegistryUrl: \"https://index.crates.io/\",\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nmy_remote_cargo = artifactory.RemoteCargoRepository(\"my-remote-cargo\",\n    key=\"my-remote-cargo\",\n    anonymous_access=True,\n    enable_sparse_index=True,\n    url=\"https://index.crates.io/\",\n    git_registry_url=\"https://index.crates.io/\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var my_remote_cargo = new Artifactory.RemoteCargoRepository(\"my-remote-cargo\", new()\n    {\n        Key = \"my-remote-cargo\",\n        AnonymousAccess = true,\n        EnableSparseIndex = true,\n        Url = \"https://index.crates.io/\",\n        GitRegistryUrl = \"https://index.crates.io/\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewRemoteCargoRepository(ctx, \"my-remote-cargo\", \u0026artifactory.RemoteCargoRepositoryArgs{\n\t\t\tKey:               pulumi.String(\"my-remote-cargo\"),\n\t\t\tAnonymousAccess:   pulumi.Bool(true),\n\t\t\tEnableSparseIndex: pulumi.Bool(true),\n\t\t\tUrl:               pulumi.String(\"https://index.crates.io/\"),\n\t\t\tGitRegistryUrl:    pulumi.String(\"https://index.crates.io/\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_remotecargorepository\" \"my-remote-cargo\" {\n  key                 = \"my-remote-cargo\"\n  anonymous_access    = true\n  enable_sparse_index = true\n  url                 = \"https://index.crates.io/\"\n  git_registry_url    = \"https://index.crates.io/\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.RemoteCargoRepository;\nimport com.pulumi.artifactory.RemoteCargoRepositoryArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 my_remote_cargo = new RemoteCargoRepository(\"my-remote-cargo\", RemoteCargoRepositoryArgs.builder()\n            .key(\"my-remote-cargo\")\n            .anonymousAccess(true)\n            .enableSparseIndex(true)\n            .url(\"https://index.crates.io/\")\n            .gitRegistryUrl(\"https://index.crates.io/\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  my-remote-cargo:\n    type: artifactory:RemoteCargoRepository\n    properties:\n      key: my-remote-cargo\n      anonymousAccess: true\n      enableSparseIndex: true\n      url: https://index.crates.io/\n      gitRegistryUrl: https://index.crates.io/\n```\n\u003c!--End PulumiCodeChooser --\u003e\n## Note\n\nIf you get a 400 error: `\"Custom Base URL should be defined prior to creating a Cargo repository\"`,\nyou must set the base url at: `http://${host}/ui/admin/configuration/general`\n\n## Import\n\nRemote repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/remoteCargoRepository:RemoteCargoRepository my-remote-cargo my-remote-cargo\n```\n\n",
            "properties": {
                "allowAnyHostAuth": {
                    "type": "boolean",
                    "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                },
                "anonymousAccess": {
                    "type": "boolean",
                    "description": "Cargo client does not send credentials when performing download and search for crates. Enable this to allow anonymous access to these resources (only), note that this will override the security anonymous access option. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                },
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "assumedOfflinePeriodSecs": {
                    "type": "integer",
                    "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                },
                "blockMismatchingMimeTypes": {
                    "type": "boolean",
                    "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                },
                "bypassHeadRequests": {
                    "type": "boolean",
                    "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "clientTlsCertificate": {
                    "type": "string",
                    "description": "Client TLS certificate name."
                },
                "contentSynchronisation": {
                    "$ref": "#/types/artifactory:index/RemoteCargoRepositoryContentSynchronisation:RemoteCargoRepositoryContentSynchronisation"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                },
                "disableUrlNormalization": {
                    "type": "boolean",
                    "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                },
                "enableCookieManagement": {
                    "type": "boolean",
                    "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                },
                "enableSparseIndex": {
                    "type": "boolean",
                    "description": "Enable internal index support based on Cargo sparse index specifications, instead of the default git index. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "gitRegistryUrl": {
                    "type": "string",
                    "description": "This is the index url, expected to be a git repository. Default value is `https://index.crates.io/`.\n"
                },
                "hardFail": {
                    "type": "boolean",
                    "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                },
                "listRemoteFolderItems": {
                    "type": "boolean",
                    "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                },
                "localAddress": {
                    "type": "string",
                    "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                },
                "metadataRetrievalTimeoutSecs": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                },
                "mismatchingMimeTypesOverrideList": {
                    "type": "string",
                    "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                },
                "missedCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "offline": {
                    "type": "boolean",
                    "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                },
                "password": {
                    "type": "string",
                    "secret": true
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                },
                "queryParams": {
                    "type": "string",
                    "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                },
                "remoteRepoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "retrievalCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                },
                "shareConfiguration": {
                    "type": "boolean",
                    "deprecationMessage": "No longer supported"
                },
                "socketTimeoutMillis": {
                    "type": "integer",
                    "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                },
                "storeArtifactsLocally": {
                    "type": "boolean",
                    "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                },
                "synchronizeProperties": {
                    "type": "boolean",
                    "description": "When set, remote artifacts are fetched along with their properties."
                },
                "unusedArtifactsCleanupPeriodHours": {
                    "type": "integer",
                    "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                },
                "url": {
                    "type": "string",
                    "description": "The remote repo URL.\n"
                },
                "username": {
                    "type": "string"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "allowAnyHostAuth",
                "archiveBrowsingEnabled",
                "assumedOfflinePeriodSecs",
                "blackedOut",
                "blockMismatchingMimeTypes",
                "bypassHeadRequests",
                "cdnRedirect",
                "clientTlsCertificate",
                "description",
                "disableProxy",
                "disableUrlNormalization",
                "downloadDirect",
                "enableCookieManagement",
                "enableSparseIndex",
                "excludesPattern",
                "gitRegistryUrl",
                "hardFail",
                "includesPattern",
                "key",
                "listRemoteFolderItems",
                "localAddress",
                "metadataRetrievalTimeoutSecs",
                "mismatchingMimeTypesOverrideList",
                "missedCachePeriodSeconds",
                "notes",
                "offline",
                "priorityResolution",
                "projectEnvironments",
                "projectKey",
                "proxy",
                "queryParams",
                "remoteRepoLayoutRef",
                "repoLayoutRef",
                "retrievalCachePeriodSeconds",
                "shareConfiguration",
                "socketTimeoutMillis",
                "storeArtifactsLocally",
                "synchronizeProperties",
                "unusedArtifactsCleanupPeriodHours",
                "url",
                "username",
                "xrayIndex"
            ],
            "inputProperties": {
                "allowAnyHostAuth": {
                    "type": "boolean",
                    "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                },
                "anonymousAccess": {
                    "type": "boolean",
                    "description": "Cargo client does not send credentials when performing download and search for crates. Enable this to allow anonymous access to these resources (only), note that this will override the security anonymous access option. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                },
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "assumedOfflinePeriodSecs": {
                    "type": "integer",
                    "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                },
                "blockMismatchingMimeTypes": {
                    "type": "boolean",
                    "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                },
                "bypassHeadRequests": {
                    "type": "boolean",
                    "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "clientTlsCertificate": {
                    "type": "string",
                    "description": "Client TLS certificate name."
                },
                "contentSynchronisation": {
                    "$ref": "#/types/artifactory:index/RemoteCargoRepositoryContentSynchronisation:RemoteCargoRepositoryContentSynchronisation"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                },
                "disableUrlNormalization": {
                    "type": "boolean",
                    "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                },
                "enableCookieManagement": {
                    "type": "boolean",
                    "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                },
                "enableSparseIndex": {
                    "type": "boolean",
                    "description": "Enable internal index support based on Cargo sparse index specifications, instead of the default git index. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "gitRegistryUrl": {
                    "type": "string",
                    "description": "This is the index url, expected to be a git repository. Default value is `https://index.crates.io/`.\n"
                },
                "hardFail": {
                    "type": "boolean",
                    "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                },
                "listRemoteFolderItems": {
                    "type": "boolean",
                    "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                },
                "localAddress": {
                    "type": "string",
                    "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                },
                "metadataRetrievalTimeoutSecs": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                },
                "mismatchingMimeTypesOverrideList": {
                    "type": "string",
                    "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                },
                "missedCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "offline": {
                    "type": "boolean",
                    "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                },
                "password": {
                    "type": "string",
                    "secret": true
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                },
                "queryParams": {
                    "type": "string",
                    "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                },
                "remoteRepoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "retrievalCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                },
                "shareConfiguration": {
                    "type": "boolean",
                    "deprecationMessage": "No longer supported"
                },
                "socketTimeoutMillis": {
                    "type": "integer",
                    "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                },
                "storeArtifactsLocally": {
                    "type": "boolean",
                    "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                },
                "synchronizeProperties": {
                    "type": "boolean",
                    "description": "When set, remote artifacts are fetched along with their properties."
                },
                "unusedArtifactsCleanupPeriodHours": {
                    "type": "integer",
                    "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                },
                "url": {
                    "type": "string",
                    "description": "The remote repo URL.\n"
                },
                "username": {
                    "type": "string"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key",
                "url"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering RemoteCargoRepository resources.\n",
                "properties": {
                    "allowAnyHostAuth": {
                        "type": "boolean",
                        "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                    },
                    "anonymousAccess": {
                        "type": "boolean",
                        "description": "Cargo client does not send credentials when performing download and search for crates. Enable this to allow anonymous access to these resources (only), note that this will override the security anonymous access option. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                    },
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "assumedOfflinePeriodSecs": {
                        "type": "integer",
                        "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                    },
                    "blockMismatchingMimeTypes": {
                        "type": "boolean",
                        "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                    },
                    "bypassHeadRequests": {
                        "type": "boolean",
                        "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "clientTlsCertificate": {
                        "type": "string",
                        "description": "Client TLS certificate name."
                    },
                    "contentSynchronisation": {
                        "$ref": "#/types/artifactory:index/RemoteCargoRepositoryContentSynchronisation:RemoteCargoRepositoryContentSynchronisation"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "disableProxy": {
                        "type": "boolean",
                        "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                    },
                    "disableUrlNormalization": {
                        "type": "boolean",
                        "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                    },
                    "enableCookieManagement": {
                        "type": "boolean",
                        "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                    },
                    "enableSparseIndex": {
                        "type": "boolean",
                        "description": "Enable internal index support based on Cargo sparse index specifications, instead of the default git index. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "gitRegistryUrl": {
                        "type": "string",
                        "description": "This is the index url, expected to be a git repository. Default value is `https://index.crates.io/`.\n"
                    },
                    "hardFail": {
                        "type": "boolean",
                        "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                    },
                    "listRemoteFolderItems": {
                        "type": "boolean",
                        "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                    },
                    "localAddress": {
                        "type": "string",
                        "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                    },
                    "metadataRetrievalTimeoutSecs": {
                        "type": "integer",
                        "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                    },
                    "mismatchingMimeTypesOverrideList": {
                        "type": "string",
                        "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                    },
                    "missedCachePeriodSeconds": {
                        "type": "integer",
                        "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "offline": {
                        "type": "boolean",
                        "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                    },
                    "password": {
                        "type": "string",
                        "secret": true
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "proxy": {
                        "type": "string",
                        "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                    },
                    "queryParams": {
                        "type": "string",
                        "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                    },
                    "remoteRepoLayoutRef": {
                        "type": "string",
                        "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                    },
                    "retrievalCachePeriodSeconds": {
                        "type": "integer",
                        "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                    },
                    "shareConfiguration": {
                        "type": "boolean",
                        "deprecationMessage": "No longer supported"
                    },
                    "socketTimeoutMillis": {
                        "type": "integer",
                        "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                    },
                    "storeArtifactsLocally": {
                        "type": "boolean",
                        "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                    },
                    "synchronizeProperties": {
                        "type": "boolean",
                        "description": "When set, remote artifacts are fetched along with their properties."
                    },
                    "unusedArtifactsCleanupPeriodHours": {
                        "type": "integer",
                        "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                    },
                    "url": {
                        "type": "string",
                        "description": "The remote repo URL.\n"
                    },
                    "username": {
                        "type": "string"
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/remoteChefRepository:RemoteChefRepository": {
            "description": "Creates a remote Chef repository.\nOfficial documentation can be found [here](https://www.jfrog.com/confluence/display/JFROG/Chef+Cookbook+Repositories).\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst my_remote_chef = new artifactory.RemoteChefRepository(\"my-remote-chef\", {\n    key: \"my-remote-chef\",\n    url: \"https://supermarket.chef.io\",\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nmy_remote_chef = artifactory.RemoteChefRepository(\"my-remote-chef\",\n    key=\"my-remote-chef\",\n    url=\"https://supermarket.chef.io\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var my_remote_chef = new Artifactory.RemoteChefRepository(\"my-remote-chef\", new()\n    {\n        Key = \"my-remote-chef\",\n        Url = \"https://supermarket.chef.io\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewRemoteChefRepository(ctx, \"my-remote-chef\", \u0026artifactory.RemoteChefRepositoryArgs{\n\t\t\tKey: pulumi.String(\"my-remote-chef\"),\n\t\t\tUrl: pulumi.String(\"https://supermarket.chef.io\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_remotechefrepository\" \"my-remote-chef\" {\n  key = \"my-remote-chef\"\n  url = \"https://supermarket.chef.io\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.RemoteChefRepository;\nimport com.pulumi.artifactory.RemoteChefRepositoryArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 my_remote_chef = new RemoteChefRepository(\"my-remote-chef\", RemoteChefRepositoryArgs.builder()\n            .key(\"my-remote-chef\")\n            .url(\"https://supermarket.chef.io\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  my-remote-chef:\n    type: artifactory:RemoteChefRepository\n    properties:\n      key: my-remote-chef\n      url: https://supermarket.chef.io\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRemote repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/remoteChefRepository:RemoteChefRepository my-remote-chef my-remote-chef\n```\n\n",
            "properties": {
                "allowAnyHostAuth": {
                    "type": "boolean",
                    "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                },
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "assumedOfflinePeriodSecs": {
                    "type": "integer",
                    "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                },
                "blockMismatchingMimeTypes": {
                    "type": "boolean",
                    "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                },
                "bypassHeadRequests": {
                    "type": "boolean",
                    "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "clientTlsCertificate": {
                    "type": "string",
                    "description": "Client TLS certificate name."
                },
                "contentSynchronisation": {
                    "$ref": "#/types/artifactory:index/RemoteChefRepositoryContentSynchronisation:RemoteChefRepositoryContentSynchronisation"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                },
                "disableUrlNormalization": {
                    "type": "boolean",
                    "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                },
                "enableCookieManagement": {
                    "type": "boolean",
                    "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "hardFail": {
                    "type": "boolean",
                    "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                },
                "listRemoteFolderItems": {
                    "type": "boolean",
                    "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                },
                "localAddress": {
                    "type": "string",
                    "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                },
                "metadataRetrievalTimeoutSecs": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                },
                "mismatchingMimeTypesOverrideList": {
                    "type": "string",
                    "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                },
                "missedCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "offline": {
                    "type": "boolean",
                    "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                },
                "password": {
                    "type": "string",
                    "secret": true
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                },
                "queryParams": {
                    "type": "string",
                    "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                },
                "remoteRepoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "retrievalCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                },
                "shareConfiguration": {
                    "type": "boolean",
                    "deprecationMessage": "No longer supported"
                },
                "socketTimeoutMillis": {
                    "type": "integer",
                    "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                },
                "storeArtifactsLocally": {
                    "type": "boolean",
                    "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                },
                "synchronizeProperties": {
                    "type": "boolean",
                    "description": "When set, remote artifacts are fetched along with their properties."
                },
                "unusedArtifactsCleanupPeriodHours": {
                    "type": "integer",
                    "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                },
                "url": {
                    "type": "string",
                    "description": "The remote repo URL.\n"
                },
                "username": {
                    "type": "string"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "allowAnyHostAuth",
                "archiveBrowsingEnabled",
                "assumedOfflinePeriodSecs",
                "blackedOut",
                "blockMismatchingMimeTypes",
                "bypassHeadRequests",
                "cdnRedirect",
                "clientTlsCertificate",
                "description",
                "disableProxy",
                "disableUrlNormalization",
                "downloadDirect",
                "enableCookieManagement",
                "excludesPattern",
                "hardFail",
                "includesPattern",
                "key",
                "listRemoteFolderItems",
                "localAddress",
                "metadataRetrievalTimeoutSecs",
                "mismatchingMimeTypesOverrideList",
                "missedCachePeriodSeconds",
                "notes",
                "offline",
                "priorityResolution",
                "projectEnvironments",
                "projectKey",
                "proxy",
                "queryParams",
                "remoteRepoLayoutRef",
                "repoLayoutRef",
                "retrievalCachePeriodSeconds",
                "shareConfiguration",
                "socketTimeoutMillis",
                "storeArtifactsLocally",
                "synchronizeProperties",
                "unusedArtifactsCleanupPeriodHours",
                "url",
                "username",
                "xrayIndex"
            ],
            "inputProperties": {
                "allowAnyHostAuth": {
                    "type": "boolean",
                    "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                },
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "assumedOfflinePeriodSecs": {
                    "type": "integer",
                    "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                },
                "blockMismatchingMimeTypes": {
                    "type": "boolean",
                    "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                },
                "bypassHeadRequests": {
                    "type": "boolean",
                    "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "clientTlsCertificate": {
                    "type": "string",
                    "description": "Client TLS certificate name."
                },
                "contentSynchronisation": {
                    "$ref": "#/types/artifactory:index/RemoteChefRepositoryContentSynchronisation:RemoteChefRepositoryContentSynchronisation"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                },
                "disableUrlNormalization": {
                    "type": "boolean",
                    "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                },
                "enableCookieManagement": {
                    "type": "boolean",
                    "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "hardFail": {
                    "type": "boolean",
                    "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                },
                "listRemoteFolderItems": {
                    "type": "boolean",
                    "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                },
                "localAddress": {
                    "type": "string",
                    "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                },
                "metadataRetrievalTimeoutSecs": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                },
                "mismatchingMimeTypesOverrideList": {
                    "type": "string",
                    "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                },
                "missedCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "offline": {
                    "type": "boolean",
                    "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                },
                "password": {
                    "type": "string",
                    "secret": true
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                },
                "queryParams": {
                    "type": "string",
                    "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                },
                "remoteRepoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "retrievalCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                },
                "shareConfiguration": {
                    "type": "boolean",
                    "deprecationMessage": "No longer supported"
                },
                "socketTimeoutMillis": {
                    "type": "integer",
                    "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                },
                "storeArtifactsLocally": {
                    "type": "boolean",
                    "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                },
                "synchronizeProperties": {
                    "type": "boolean",
                    "description": "When set, remote artifacts are fetched along with their properties."
                },
                "unusedArtifactsCleanupPeriodHours": {
                    "type": "integer",
                    "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                },
                "url": {
                    "type": "string",
                    "description": "The remote repo URL.\n"
                },
                "username": {
                    "type": "string"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key",
                "url"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering RemoteChefRepository resources.\n",
                "properties": {
                    "allowAnyHostAuth": {
                        "type": "boolean",
                        "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                    },
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "assumedOfflinePeriodSecs": {
                        "type": "integer",
                        "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                    },
                    "blockMismatchingMimeTypes": {
                        "type": "boolean",
                        "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                    },
                    "bypassHeadRequests": {
                        "type": "boolean",
                        "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "clientTlsCertificate": {
                        "type": "string",
                        "description": "Client TLS certificate name."
                    },
                    "contentSynchronisation": {
                        "$ref": "#/types/artifactory:index/RemoteChefRepositoryContentSynchronisation:RemoteChefRepositoryContentSynchronisation"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "disableProxy": {
                        "type": "boolean",
                        "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                    },
                    "disableUrlNormalization": {
                        "type": "boolean",
                        "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                    },
                    "enableCookieManagement": {
                        "type": "boolean",
                        "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "hardFail": {
                        "type": "boolean",
                        "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                    },
                    "listRemoteFolderItems": {
                        "type": "boolean",
                        "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                    },
                    "localAddress": {
                        "type": "string",
                        "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                    },
                    "metadataRetrievalTimeoutSecs": {
                        "type": "integer",
                        "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                    },
                    "mismatchingMimeTypesOverrideList": {
                        "type": "string",
                        "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                    },
                    "missedCachePeriodSeconds": {
                        "type": "integer",
                        "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "offline": {
                        "type": "boolean",
                        "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                    },
                    "password": {
                        "type": "string",
                        "secret": true
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "proxy": {
                        "type": "string",
                        "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                    },
                    "queryParams": {
                        "type": "string",
                        "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                    },
                    "remoteRepoLayoutRef": {
                        "type": "string",
                        "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                    },
                    "retrievalCachePeriodSeconds": {
                        "type": "integer",
                        "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                    },
                    "shareConfiguration": {
                        "type": "boolean",
                        "deprecationMessage": "No longer supported"
                    },
                    "socketTimeoutMillis": {
                        "type": "integer",
                        "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                    },
                    "storeArtifactsLocally": {
                        "type": "boolean",
                        "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                    },
                    "synchronizeProperties": {
                        "type": "boolean",
                        "description": "When set, remote artifacts are fetched along with their properties."
                    },
                    "unusedArtifactsCleanupPeriodHours": {
                        "type": "integer",
                        "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                    },
                    "url": {
                        "type": "string",
                        "description": "The remote repo URL.\n"
                    },
                    "username": {
                        "type": "string"
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/remoteCocoapodsRepository:RemoteCocoapodsRepository": {
            "description": "Creates a remote CocoaPods repository.\nOfficial documentation can be found [here](https://www.jfrog.com/confluence/display/JFROG/CocoaPods+Repositories).\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst my_remote_cocoapods = new artifactory.RemoteCocoapodsRepository(\"my-remote-cocoapods\", {\n    key: \"my-remote-cocoapods\",\n    url: \"https://github.com/\",\n    vcsGitProvider: \"GITHUB\",\n    podsSpecsRepoUrl: \"https://github.com/CocoaPods/Spec\",\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nmy_remote_cocoapods = artifactory.RemoteCocoapodsRepository(\"my-remote-cocoapods\",\n    key=\"my-remote-cocoapods\",\n    url=\"https://github.com/\",\n    vcs_git_provider=\"GITHUB\",\n    pods_specs_repo_url=\"https://github.com/CocoaPods/Spec\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var my_remote_cocoapods = new Artifactory.RemoteCocoapodsRepository(\"my-remote-cocoapods\", new()\n    {\n        Key = \"my-remote-cocoapods\",\n        Url = \"https://github.com/\",\n        VcsGitProvider = \"GITHUB\",\n        PodsSpecsRepoUrl = \"https://github.com/CocoaPods/Spec\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewRemoteCocoapodsRepository(ctx, \"my-remote-cocoapods\", \u0026artifactory.RemoteCocoapodsRepositoryArgs{\n\t\t\tKey:              pulumi.String(\"my-remote-cocoapods\"),\n\t\t\tUrl:              pulumi.String(\"https://github.com/\"),\n\t\t\tVcsGitProvider:   pulumi.String(\"GITHUB\"),\n\t\t\tPodsSpecsRepoUrl: pulumi.String(\"https://github.com/CocoaPods/Spec\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_remotecocoapodsrepository\" \"my-remote-cocoapods\" {\n  key                 = \"my-remote-cocoapods\"\n  url                 = \"https://github.com/\"\n  vcs_git_provider    = \"GITHUB\"\n  pods_specs_repo_url = \"https://github.com/CocoaPods/Spec\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.RemoteCocoapodsRepository;\nimport com.pulumi.artifactory.RemoteCocoapodsRepositoryArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 my_remote_cocoapods = new RemoteCocoapodsRepository(\"my-remote-cocoapods\", RemoteCocoapodsRepositoryArgs.builder()\n            .key(\"my-remote-cocoapods\")\n            .url(\"https://github.com/\")\n            .vcsGitProvider(\"GITHUB\")\n            .podsSpecsRepoUrl(\"https://github.com/CocoaPods/Spec\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  my-remote-cocoapods:\n    type: artifactory:RemoteCocoapodsRepository\n    properties:\n      key: my-remote-cocoapods\n      url: https://github.com/\n      vcsGitProvider: GITHUB\n      podsSpecsRepoUrl: https://github.com/CocoaPods/Spec\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRemote repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/remoteCocoapodsRepository:RemoteCocoapodsRepository my-remote-cocoapods my-remote-cocoapods\n```\n\n",
            "properties": {
                "allowAnyHostAuth": {
                    "type": "boolean",
                    "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                },
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "assumedOfflinePeriodSecs": {
                    "type": "integer",
                    "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                },
                "blockMismatchingMimeTypes": {
                    "type": "boolean",
                    "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                },
                "bypassHeadRequests": {
                    "type": "boolean",
                    "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "clientTlsCertificate": {
                    "type": "string",
                    "description": "Client TLS certificate name."
                },
                "contentSynchronisation": {
                    "$ref": "#/types/artifactory:index/RemoteCocoapodsRepositoryContentSynchronisation:RemoteCocoapodsRepositoryContentSynchronisation"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                },
                "disableUrlNormalization": {
                    "type": "boolean",
                    "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                },
                "enableCookieManagement": {
                    "type": "boolean",
                    "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "hardFail": {
                    "type": "boolean",
                    "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                },
                "listRemoteFolderItems": {
                    "type": "boolean",
                    "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                },
                "localAddress": {
                    "type": "string",
                    "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                },
                "metadataRetrievalTimeoutSecs": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                },
                "mismatchingMimeTypesOverrideList": {
                    "type": "string",
                    "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                },
                "missedCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "offline": {
                    "type": "boolean",
                    "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                },
                "password": {
                    "type": "string",
                    "secret": true
                },
                "podsSpecsRepoUrl": {
                    "type": "string",
                    "description": "Proxy remote CocoaPods Specs repositories. Default value is `https://github.com/CocoaPods/Specs`.\n"
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                },
                "queryParams": {
                    "type": "string",
                    "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                },
                "remoteRepoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "retrievalCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                },
                "shareConfiguration": {
                    "type": "boolean",
                    "deprecationMessage": "No longer supported"
                },
                "socketTimeoutMillis": {
                    "type": "integer",
                    "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                },
                "storeArtifactsLocally": {
                    "type": "boolean",
                    "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                },
                "synchronizeProperties": {
                    "type": "boolean",
                    "description": "When set, remote artifacts are fetched along with their properties."
                },
                "unusedArtifactsCleanupPeriodHours": {
                    "type": "integer",
                    "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                },
                "url": {
                    "type": "string",
                    "description": "The remote repo URL.\n"
                },
                "username": {
                    "type": "string"
                },
                "vcsGitDownloadUrl": {
                    "type": "string",
                    "description": "This attribute is used when\u003cspan pulumi-lang-nodejs=\" vcsGitProvider \" pulumi-lang-dotnet=\" VcsGitProvider \" pulumi-lang-go=\" vcsGitProvider \" pulumi-lang-python=\" vcs_git_provider \" pulumi-lang-yaml=\" vcsGitProvider \" pulumi-lang-java=\" vcsGitProvider \" pulumi-lang-hcl=\" vcs_git_provider \"\u003e vcsGitProvider \u003c/span\u003eis set to `CUSTOM`. Provided URL will be used as proxy.\n"
                },
                "vcsGitProvider": {
                    "type": "string",
                    "description": "Artifactory supports proxying the following Git providers out-of-the-box: GitHub or a remote Artifactory instance. Default value is `GITHUB`. \nPossible values are: `GITHUB`, `BITBUCKET`, `OLDSTASH`, `STASH`, `ARTIFACTORY`, `CUSTOM`.\n"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "allowAnyHostAuth",
                "archiveBrowsingEnabled",
                "assumedOfflinePeriodSecs",
                "blackedOut",
                "blockMismatchingMimeTypes",
                "bypassHeadRequests",
                "cdnRedirect",
                "clientTlsCertificate",
                "description",
                "disableProxy",
                "disableUrlNormalization",
                "downloadDirect",
                "enableCookieManagement",
                "excludesPattern",
                "hardFail",
                "includesPattern",
                "key",
                "listRemoteFolderItems",
                "localAddress",
                "metadataRetrievalTimeoutSecs",
                "mismatchingMimeTypesOverrideList",
                "missedCachePeriodSeconds",
                "notes",
                "offline",
                "podsSpecsRepoUrl",
                "priorityResolution",
                "projectEnvironments",
                "projectKey",
                "proxy",
                "queryParams",
                "remoteRepoLayoutRef",
                "repoLayoutRef",
                "retrievalCachePeriodSeconds",
                "shareConfiguration",
                "socketTimeoutMillis",
                "storeArtifactsLocally",
                "synchronizeProperties",
                "unusedArtifactsCleanupPeriodHours",
                "url",
                "username",
                "vcsGitProvider",
                "xrayIndex"
            ],
            "inputProperties": {
                "allowAnyHostAuth": {
                    "type": "boolean",
                    "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                },
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "assumedOfflinePeriodSecs": {
                    "type": "integer",
                    "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                },
                "blockMismatchingMimeTypes": {
                    "type": "boolean",
                    "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                },
                "bypassHeadRequests": {
                    "type": "boolean",
                    "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "clientTlsCertificate": {
                    "type": "string",
                    "description": "Client TLS certificate name."
                },
                "contentSynchronisation": {
                    "$ref": "#/types/artifactory:index/RemoteCocoapodsRepositoryContentSynchronisation:RemoteCocoapodsRepositoryContentSynchronisation"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                },
                "disableUrlNormalization": {
                    "type": "boolean",
                    "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                },
                "enableCookieManagement": {
                    "type": "boolean",
                    "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "hardFail": {
                    "type": "boolean",
                    "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                },
                "listRemoteFolderItems": {
                    "type": "boolean",
                    "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                },
                "localAddress": {
                    "type": "string",
                    "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                },
                "metadataRetrievalTimeoutSecs": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                },
                "mismatchingMimeTypesOverrideList": {
                    "type": "string",
                    "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                },
                "missedCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "offline": {
                    "type": "boolean",
                    "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                },
                "password": {
                    "type": "string",
                    "secret": true
                },
                "podsSpecsRepoUrl": {
                    "type": "string",
                    "description": "Proxy remote CocoaPods Specs repositories. Default value is `https://github.com/CocoaPods/Specs`.\n"
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                },
                "queryParams": {
                    "type": "string",
                    "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                },
                "remoteRepoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "retrievalCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                },
                "shareConfiguration": {
                    "type": "boolean",
                    "deprecationMessage": "No longer supported"
                },
                "socketTimeoutMillis": {
                    "type": "integer",
                    "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                },
                "storeArtifactsLocally": {
                    "type": "boolean",
                    "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                },
                "synchronizeProperties": {
                    "type": "boolean",
                    "description": "When set, remote artifacts are fetched along with their properties."
                },
                "unusedArtifactsCleanupPeriodHours": {
                    "type": "integer",
                    "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                },
                "url": {
                    "type": "string",
                    "description": "The remote repo URL.\n"
                },
                "username": {
                    "type": "string"
                },
                "vcsGitDownloadUrl": {
                    "type": "string",
                    "description": "This attribute is used when\u003cspan pulumi-lang-nodejs=\" vcsGitProvider \" pulumi-lang-dotnet=\" VcsGitProvider \" pulumi-lang-go=\" vcsGitProvider \" pulumi-lang-python=\" vcs_git_provider \" pulumi-lang-yaml=\" vcsGitProvider \" pulumi-lang-java=\" vcsGitProvider \" pulumi-lang-hcl=\" vcs_git_provider \"\u003e vcsGitProvider \u003c/span\u003eis set to `CUSTOM`. Provided URL will be used as proxy.\n"
                },
                "vcsGitProvider": {
                    "type": "string",
                    "description": "Artifactory supports proxying the following Git providers out-of-the-box: GitHub or a remote Artifactory instance. Default value is `GITHUB`. \nPossible values are: `GITHUB`, `BITBUCKET`, `OLDSTASH`, `STASH`, `ARTIFACTORY`, `CUSTOM`.\n"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key",
                "url"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering RemoteCocoapodsRepository resources.\n",
                "properties": {
                    "allowAnyHostAuth": {
                        "type": "boolean",
                        "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                    },
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "assumedOfflinePeriodSecs": {
                        "type": "integer",
                        "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                    },
                    "blockMismatchingMimeTypes": {
                        "type": "boolean",
                        "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                    },
                    "bypassHeadRequests": {
                        "type": "boolean",
                        "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "clientTlsCertificate": {
                        "type": "string",
                        "description": "Client TLS certificate name."
                    },
                    "contentSynchronisation": {
                        "$ref": "#/types/artifactory:index/RemoteCocoapodsRepositoryContentSynchronisation:RemoteCocoapodsRepositoryContentSynchronisation"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "disableProxy": {
                        "type": "boolean",
                        "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                    },
                    "disableUrlNormalization": {
                        "type": "boolean",
                        "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                    },
                    "enableCookieManagement": {
                        "type": "boolean",
                        "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "hardFail": {
                        "type": "boolean",
                        "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                    },
                    "listRemoteFolderItems": {
                        "type": "boolean",
                        "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                    },
                    "localAddress": {
                        "type": "string",
                        "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                    },
                    "metadataRetrievalTimeoutSecs": {
                        "type": "integer",
                        "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                    },
                    "mismatchingMimeTypesOverrideList": {
                        "type": "string",
                        "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                    },
                    "missedCachePeriodSeconds": {
                        "type": "integer",
                        "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "offline": {
                        "type": "boolean",
                        "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                    },
                    "password": {
                        "type": "string",
                        "secret": true
                    },
                    "podsSpecsRepoUrl": {
                        "type": "string",
                        "description": "Proxy remote CocoaPods Specs repositories. Default value is `https://github.com/CocoaPods/Specs`.\n"
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "proxy": {
                        "type": "string",
                        "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                    },
                    "queryParams": {
                        "type": "string",
                        "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                    },
                    "remoteRepoLayoutRef": {
                        "type": "string",
                        "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                    },
                    "retrievalCachePeriodSeconds": {
                        "type": "integer",
                        "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                    },
                    "shareConfiguration": {
                        "type": "boolean",
                        "deprecationMessage": "No longer supported"
                    },
                    "socketTimeoutMillis": {
                        "type": "integer",
                        "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                    },
                    "storeArtifactsLocally": {
                        "type": "boolean",
                        "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                    },
                    "synchronizeProperties": {
                        "type": "boolean",
                        "description": "When set, remote artifacts are fetched along with their properties."
                    },
                    "unusedArtifactsCleanupPeriodHours": {
                        "type": "integer",
                        "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                    },
                    "url": {
                        "type": "string",
                        "description": "The remote repo URL.\n"
                    },
                    "username": {
                        "type": "string"
                    },
                    "vcsGitDownloadUrl": {
                        "type": "string",
                        "description": "This attribute is used when\u003cspan pulumi-lang-nodejs=\" vcsGitProvider \" pulumi-lang-dotnet=\" VcsGitProvider \" pulumi-lang-go=\" vcsGitProvider \" pulumi-lang-python=\" vcs_git_provider \" pulumi-lang-yaml=\" vcsGitProvider \" pulumi-lang-java=\" vcsGitProvider \" pulumi-lang-hcl=\" vcs_git_provider \"\u003e vcsGitProvider \u003c/span\u003eis set to `CUSTOM`. Provided URL will be used as proxy.\n"
                    },
                    "vcsGitProvider": {
                        "type": "string",
                        "description": "Artifactory supports proxying the following Git providers out-of-the-box: GitHub or a remote Artifactory instance. Default value is `GITHUB`. \nPossible values are: `GITHUB`, `BITBUCKET`, `OLDSTASH`, `STASH`, `ARTIFACTORY`, `CUSTOM`.\n"
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/remoteComposerRepository:RemoteComposerRepository": {
            "description": "Creates a remote PHP Composer repository.\nOfficial documentation can be found [here](https://www.jfrog.com/confluence/display/JFROG/PHP+Composer+Repositories).\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst my_remote_composer = new artifactory.RemoteComposerRepository(\"my-remote-composer\", {\n    key: \"my-remote-composer\",\n    url: \"https://github.com/\",\n    vcsGitProvider: \"GITHUB\",\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nmy_remote_composer = artifactory.RemoteComposerRepository(\"my-remote-composer\",\n    key=\"my-remote-composer\",\n    url=\"https://github.com/\",\n    vcs_git_provider=\"GITHUB\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var my_remote_composer = new Artifactory.RemoteComposerRepository(\"my-remote-composer\", new()\n    {\n        Key = \"my-remote-composer\",\n        Url = \"https://github.com/\",\n        VcsGitProvider = \"GITHUB\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewRemoteComposerRepository(ctx, \"my-remote-composer\", \u0026artifactory.RemoteComposerRepositoryArgs{\n\t\t\tKey:            pulumi.String(\"my-remote-composer\"),\n\t\t\tUrl:            pulumi.String(\"https://github.com/\"),\n\t\t\tVcsGitProvider: pulumi.String(\"GITHUB\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_remotecomposerrepository\" \"my-remote-composer\" {\n  key              = \"my-remote-composer\"\n  url              = \"https://github.com/\"\n  vcs_git_provider = \"GITHUB\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.RemoteComposerRepository;\nimport com.pulumi.artifactory.RemoteComposerRepositoryArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 my_remote_composer = new RemoteComposerRepository(\"my-remote-composer\", RemoteComposerRepositoryArgs.builder()\n            .key(\"my-remote-composer\")\n            .url(\"https://github.com/\")\n            .vcsGitProvider(\"GITHUB\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  my-remote-composer:\n    type: artifactory:RemoteComposerRepository\n    properties:\n      key: my-remote-composer\n      url: https://github.com/\n      vcsGitProvider: GITHUB\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRemote repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/remoteComposerRepository:RemoteComposerRepository my-remote-composer my-remote-composer\n```\n\n",
            "properties": {
                "allowAnyHostAuth": {
                    "type": "boolean",
                    "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                },
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "assumedOfflinePeriodSecs": {
                    "type": "integer",
                    "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                },
                "blockMismatchingMimeTypes": {
                    "type": "boolean",
                    "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                },
                "bypassHeadRequests": {
                    "type": "boolean",
                    "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "clientTlsCertificate": {
                    "type": "string",
                    "description": "Client TLS certificate name."
                },
                "composerRegistryUrl": {
                    "type": "string",
                    "description": "Proxy remote Composer repository. Default value is `https://packagist.org`.\n"
                },
                "contentSynchronisation": {
                    "$ref": "#/types/artifactory:index/RemoteComposerRepositoryContentSynchronisation:RemoteComposerRepositoryContentSynchronisation"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                },
                "disableUrlNormalization": {
                    "type": "boolean",
                    "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                },
                "enableCookieManagement": {
                    "type": "boolean",
                    "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "hardFail": {
                    "type": "boolean",
                    "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                },
                "listRemoteFolderItems": {
                    "type": "boolean",
                    "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                },
                "localAddress": {
                    "type": "string",
                    "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                },
                "metadataRetrievalTimeoutSecs": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                },
                "mismatchingMimeTypesOverrideList": {
                    "type": "string",
                    "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                },
                "missedCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "offline": {
                    "type": "boolean",
                    "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                },
                "password": {
                    "type": "string",
                    "secret": true
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                },
                "queryParams": {
                    "type": "string",
                    "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                },
                "remoteRepoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "retrievalCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                },
                "shareConfiguration": {
                    "type": "boolean",
                    "deprecationMessage": "No longer supported"
                },
                "socketTimeoutMillis": {
                    "type": "integer",
                    "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                },
                "storeArtifactsLocally": {
                    "type": "boolean",
                    "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                },
                "synchronizeProperties": {
                    "type": "boolean",
                    "description": "When set, remote artifacts are fetched along with their properties."
                },
                "unusedArtifactsCleanupPeriodHours": {
                    "type": "integer",
                    "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                },
                "url": {
                    "type": "string",
                    "description": "The remote repo URL.\n"
                },
                "username": {
                    "type": "string"
                },
                "vcsGitDownloadUrl": {
                    "type": "string",
                    "description": "This attribute is used when\u003cspan pulumi-lang-nodejs=\" vcsGitProvider \" pulumi-lang-dotnet=\" VcsGitProvider \" pulumi-lang-go=\" vcsGitProvider \" pulumi-lang-python=\" vcs_git_provider \" pulumi-lang-yaml=\" vcsGitProvider \" pulumi-lang-java=\" vcsGitProvider \" pulumi-lang-hcl=\" vcs_git_provider \"\u003e vcsGitProvider \u003c/span\u003eis set to `CUSTOM`. Provided URL will be used as proxy.\n"
                },
                "vcsGitProvider": {
                    "type": "string",
                    "description": "Artifactory supports proxying the following Git providers out-of-the-box: GitHub or a remote Artifactory instance. Default value is `GITHUB`. Possible values are: `GITHUB`, `BITBUCKET`, `OLDSTASH`, `STASH`, `ARTIFACTORY`, `CUSTOM`.\n"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "allowAnyHostAuth",
                "archiveBrowsingEnabled",
                "assumedOfflinePeriodSecs",
                "blackedOut",
                "blockMismatchingMimeTypes",
                "bypassHeadRequests",
                "cdnRedirect",
                "clientTlsCertificate",
                "composerRegistryUrl",
                "description",
                "disableProxy",
                "disableUrlNormalization",
                "downloadDirect",
                "enableCookieManagement",
                "excludesPattern",
                "hardFail",
                "includesPattern",
                "key",
                "listRemoteFolderItems",
                "localAddress",
                "metadataRetrievalTimeoutSecs",
                "mismatchingMimeTypesOverrideList",
                "missedCachePeriodSeconds",
                "notes",
                "offline",
                "priorityResolution",
                "projectEnvironments",
                "projectKey",
                "proxy",
                "queryParams",
                "remoteRepoLayoutRef",
                "repoLayoutRef",
                "retrievalCachePeriodSeconds",
                "shareConfiguration",
                "socketTimeoutMillis",
                "storeArtifactsLocally",
                "synchronizeProperties",
                "unusedArtifactsCleanupPeriodHours",
                "url",
                "username",
                "vcsGitProvider",
                "xrayIndex"
            ],
            "inputProperties": {
                "allowAnyHostAuth": {
                    "type": "boolean",
                    "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                },
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "assumedOfflinePeriodSecs": {
                    "type": "integer",
                    "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                },
                "blockMismatchingMimeTypes": {
                    "type": "boolean",
                    "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                },
                "bypassHeadRequests": {
                    "type": "boolean",
                    "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "clientTlsCertificate": {
                    "type": "string",
                    "description": "Client TLS certificate name."
                },
                "composerRegistryUrl": {
                    "type": "string",
                    "description": "Proxy remote Composer repository. Default value is `https://packagist.org`.\n"
                },
                "contentSynchronisation": {
                    "$ref": "#/types/artifactory:index/RemoteComposerRepositoryContentSynchronisation:RemoteComposerRepositoryContentSynchronisation"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                },
                "disableUrlNormalization": {
                    "type": "boolean",
                    "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                },
                "enableCookieManagement": {
                    "type": "boolean",
                    "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "hardFail": {
                    "type": "boolean",
                    "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                },
                "listRemoteFolderItems": {
                    "type": "boolean",
                    "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                },
                "localAddress": {
                    "type": "string",
                    "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                },
                "metadataRetrievalTimeoutSecs": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                },
                "mismatchingMimeTypesOverrideList": {
                    "type": "string",
                    "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                },
                "missedCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "offline": {
                    "type": "boolean",
                    "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                },
                "password": {
                    "type": "string",
                    "secret": true
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                },
                "queryParams": {
                    "type": "string",
                    "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                },
                "remoteRepoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "retrievalCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                },
                "shareConfiguration": {
                    "type": "boolean",
                    "deprecationMessage": "No longer supported"
                },
                "socketTimeoutMillis": {
                    "type": "integer",
                    "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                },
                "storeArtifactsLocally": {
                    "type": "boolean",
                    "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                },
                "synchronizeProperties": {
                    "type": "boolean",
                    "description": "When set, remote artifacts are fetched along with their properties."
                },
                "unusedArtifactsCleanupPeriodHours": {
                    "type": "integer",
                    "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                },
                "url": {
                    "type": "string",
                    "description": "The remote repo URL.\n"
                },
                "username": {
                    "type": "string"
                },
                "vcsGitDownloadUrl": {
                    "type": "string",
                    "description": "This attribute is used when\u003cspan pulumi-lang-nodejs=\" vcsGitProvider \" pulumi-lang-dotnet=\" VcsGitProvider \" pulumi-lang-go=\" vcsGitProvider \" pulumi-lang-python=\" vcs_git_provider \" pulumi-lang-yaml=\" vcsGitProvider \" pulumi-lang-java=\" vcsGitProvider \" pulumi-lang-hcl=\" vcs_git_provider \"\u003e vcsGitProvider \u003c/span\u003eis set to `CUSTOM`. Provided URL will be used as proxy.\n"
                },
                "vcsGitProvider": {
                    "type": "string",
                    "description": "Artifactory supports proxying the following Git providers out-of-the-box: GitHub or a remote Artifactory instance. Default value is `GITHUB`. Possible values are: `GITHUB`, `BITBUCKET`, `OLDSTASH`, `STASH`, `ARTIFACTORY`, `CUSTOM`.\n"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key",
                "url"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering RemoteComposerRepository resources.\n",
                "properties": {
                    "allowAnyHostAuth": {
                        "type": "boolean",
                        "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                    },
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "assumedOfflinePeriodSecs": {
                        "type": "integer",
                        "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                    },
                    "blockMismatchingMimeTypes": {
                        "type": "boolean",
                        "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                    },
                    "bypassHeadRequests": {
                        "type": "boolean",
                        "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "clientTlsCertificate": {
                        "type": "string",
                        "description": "Client TLS certificate name."
                    },
                    "composerRegistryUrl": {
                        "type": "string",
                        "description": "Proxy remote Composer repository. Default value is `https://packagist.org`.\n"
                    },
                    "contentSynchronisation": {
                        "$ref": "#/types/artifactory:index/RemoteComposerRepositoryContentSynchronisation:RemoteComposerRepositoryContentSynchronisation"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "disableProxy": {
                        "type": "boolean",
                        "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                    },
                    "disableUrlNormalization": {
                        "type": "boolean",
                        "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                    },
                    "enableCookieManagement": {
                        "type": "boolean",
                        "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "hardFail": {
                        "type": "boolean",
                        "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                    },
                    "listRemoteFolderItems": {
                        "type": "boolean",
                        "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                    },
                    "localAddress": {
                        "type": "string",
                        "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                    },
                    "metadataRetrievalTimeoutSecs": {
                        "type": "integer",
                        "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                    },
                    "mismatchingMimeTypesOverrideList": {
                        "type": "string",
                        "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                    },
                    "missedCachePeriodSeconds": {
                        "type": "integer",
                        "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "offline": {
                        "type": "boolean",
                        "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                    },
                    "password": {
                        "type": "string",
                        "secret": true
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "proxy": {
                        "type": "string",
                        "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                    },
                    "queryParams": {
                        "type": "string",
                        "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                    },
                    "remoteRepoLayoutRef": {
                        "type": "string",
                        "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                    },
                    "retrievalCachePeriodSeconds": {
                        "type": "integer",
                        "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                    },
                    "shareConfiguration": {
                        "type": "boolean",
                        "deprecationMessage": "No longer supported"
                    },
                    "socketTimeoutMillis": {
                        "type": "integer",
                        "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                    },
                    "storeArtifactsLocally": {
                        "type": "boolean",
                        "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                    },
                    "synchronizeProperties": {
                        "type": "boolean",
                        "description": "When set, remote artifacts are fetched along with their properties."
                    },
                    "unusedArtifactsCleanupPeriodHours": {
                        "type": "integer",
                        "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                    },
                    "url": {
                        "type": "string",
                        "description": "The remote repo URL.\n"
                    },
                    "username": {
                        "type": "string"
                    },
                    "vcsGitDownloadUrl": {
                        "type": "string",
                        "description": "This attribute is used when\u003cspan pulumi-lang-nodejs=\" vcsGitProvider \" pulumi-lang-dotnet=\" VcsGitProvider \" pulumi-lang-go=\" vcsGitProvider \" pulumi-lang-python=\" vcs_git_provider \" pulumi-lang-yaml=\" vcsGitProvider \" pulumi-lang-java=\" vcsGitProvider \" pulumi-lang-hcl=\" vcs_git_provider \"\u003e vcsGitProvider \u003c/span\u003eis set to `CUSTOM`. Provided URL will be used as proxy.\n"
                    },
                    "vcsGitProvider": {
                        "type": "string",
                        "description": "Artifactory supports proxying the following Git providers out-of-the-box: GitHub or a remote Artifactory instance. Default value is `GITHUB`. Possible values are: `GITHUB`, `BITBUCKET`, `OLDSTASH`, `STASH`, `ARTIFACTORY`, `CUSTOM`.\n"
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/remoteConanRepository:RemoteConanRepository": {
            "description": "Creates a remote Conan repository.\nOfficial documentation can be found [here](https://www.jfrog.com/confluence/display/JFROG/Conan+Repositories).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst my_remote_conan = new artifactory.RemoteConanRepository(\"my-remote-conan\", {\n    key: \"my-remote-conan\",\n    url: \"https://conan.io/center/\",\n    forceConanAuthentication: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nmy_remote_conan = artifactory.RemoteConanRepository(\"my-remote-conan\",\n    key=\"my-remote-conan\",\n    url=\"https://conan.io/center/\",\n    force_conan_authentication=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var my_remote_conan = new Artifactory.RemoteConanRepository(\"my-remote-conan\", new()\n    {\n        Key = \"my-remote-conan\",\n        Url = \"https://conan.io/center/\",\n        ForceConanAuthentication = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewRemoteConanRepository(ctx, \"my-remote-conan\", \u0026artifactory.RemoteConanRepositoryArgs{\n\t\t\tKey:                      pulumi.String(\"my-remote-conan\"),\n\t\t\tUrl:                      pulumi.String(\"https://conan.io/center/\"),\n\t\t\tForceConanAuthentication: 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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_remoteconanrepository\" \"my-remote-conan\" {\n  key                        = \"my-remote-conan\"\n  url                        = \"https://conan.io/center/\"\n  force_conan_authentication = true\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.RemoteConanRepository;\nimport com.pulumi.artifactory.RemoteConanRepositoryArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 my_remote_conan = new RemoteConanRepository(\"my-remote-conan\", RemoteConanRepositoryArgs.builder()\n            .key(\"my-remote-conan\")\n            .url(\"https://conan.io/center/\")\n            .forceConanAuthentication(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  my-remote-conan:\n    type: artifactory:RemoteConanRepository\n    properties:\n      key: my-remote-conan\n      url: https://conan.io/center/\n      forceConanAuthentication: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRemote repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/remoteConanRepository:RemoteConanRepository my-remote-conan my-remote-conan\n```\n\n",
            "properties": {
                "allowAnyHostAuth": {
                    "type": "boolean",
                    "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                },
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "assumedOfflinePeriodSecs": {
                    "type": "integer",
                    "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                },
                "blockMismatchingMimeTypes": {
                    "type": "boolean",
                    "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                },
                "bypassHeadRequests": {
                    "type": "boolean",
                    "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "clientTlsCertificate": {
                    "type": "string",
                    "description": "Client TLS certificate name."
                },
                "contentSynchronisation": {
                    "$ref": "#/types/artifactory:index/RemoteConanRepositoryContentSynchronisation:RemoteConanRepositoryContentSynchronisation"
                },
                "curated": {
                    "type": "boolean",
                    "description": "Enable repository to be protected by the Curation service.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                },
                "disableUrlNormalization": {
                    "type": "boolean",
                    "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                },
                "enableCookieManagement": {
                    "type": "boolean",
                    "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "forceConanAuthentication": {
                    "type": "boolean",
                    "description": "Force basic authentication credentials in order to use this repository. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                },
                "hardFail": {
                    "type": "boolean",
                    "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                },
                "listRemoteFolderItems": {
                    "type": "boolean",
                    "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                },
                "localAddress": {
                    "type": "string",
                    "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                },
                "metadataRetrievalTimeoutSecs": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                },
                "mismatchingMimeTypesOverrideList": {
                    "type": "string",
                    "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                },
                "missedCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "offline": {
                    "type": "boolean",
                    "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                },
                "passThrough": {
                    "type": "boolean",
                    "description": "Enable Pass-through for Curation Audit. When enabled, allows artifacts to pass through the Curation audit process.\n"
                },
                "password": {
                    "type": "string",
                    "secret": true
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                },
                "queryParams": {
                    "type": "string",
                    "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                },
                "remoteRepoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "retrievalCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                },
                "shareConfiguration": {
                    "type": "boolean",
                    "deprecationMessage": "No longer supported"
                },
                "socketTimeoutMillis": {
                    "type": "integer",
                    "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                },
                "storeArtifactsLocally": {
                    "type": "boolean",
                    "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                },
                "synchronizeProperties": {
                    "type": "boolean",
                    "description": "When set, remote artifacts are fetched along with their properties."
                },
                "unusedArtifactsCleanupPeriodHours": {
                    "type": "integer",
                    "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                },
                "url": {
                    "type": "string",
                    "description": "The remote repo URL.\n"
                },
                "username": {
                    "type": "string"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "allowAnyHostAuth",
                "archiveBrowsingEnabled",
                "assumedOfflinePeriodSecs",
                "blackedOut",
                "blockMismatchingMimeTypes",
                "bypassHeadRequests",
                "cdnRedirect",
                "clientTlsCertificate",
                "curated",
                "description",
                "disableProxy",
                "disableUrlNormalization",
                "downloadDirect",
                "enableCookieManagement",
                "excludesPattern",
                "forceConanAuthentication",
                "hardFail",
                "includesPattern",
                "key",
                "listRemoteFolderItems",
                "localAddress",
                "metadataRetrievalTimeoutSecs",
                "mismatchingMimeTypesOverrideList",
                "missedCachePeriodSeconds",
                "notes",
                "offline",
                "passThrough",
                "priorityResolution",
                "projectEnvironments",
                "projectKey",
                "proxy",
                "queryParams",
                "remoteRepoLayoutRef",
                "repoLayoutRef",
                "retrievalCachePeriodSeconds",
                "shareConfiguration",
                "socketTimeoutMillis",
                "storeArtifactsLocally",
                "synchronizeProperties",
                "unusedArtifactsCleanupPeriodHours",
                "url",
                "username",
                "xrayIndex"
            ],
            "inputProperties": {
                "allowAnyHostAuth": {
                    "type": "boolean",
                    "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                },
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "assumedOfflinePeriodSecs": {
                    "type": "integer",
                    "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                },
                "blockMismatchingMimeTypes": {
                    "type": "boolean",
                    "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                },
                "bypassHeadRequests": {
                    "type": "boolean",
                    "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "clientTlsCertificate": {
                    "type": "string",
                    "description": "Client TLS certificate name."
                },
                "contentSynchronisation": {
                    "$ref": "#/types/artifactory:index/RemoteConanRepositoryContentSynchronisation:RemoteConanRepositoryContentSynchronisation"
                },
                "curated": {
                    "type": "boolean",
                    "description": "Enable repository to be protected by the Curation service.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                },
                "disableUrlNormalization": {
                    "type": "boolean",
                    "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                },
                "enableCookieManagement": {
                    "type": "boolean",
                    "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "forceConanAuthentication": {
                    "type": "boolean",
                    "description": "Force basic authentication credentials in order to use this repository. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                },
                "hardFail": {
                    "type": "boolean",
                    "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                },
                "listRemoteFolderItems": {
                    "type": "boolean",
                    "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                },
                "localAddress": {
                    "type": "string",
                    "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                },
                "metadataRetrievalTimeoutSecs": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                },
                "mismatchingMimeTypesOverrideList": {
                    "type": "string",
                    "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                },
                "missedCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "offline": {
                    "type": "boolean",
                    "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                },
                "passThrough": {
                    "type": "boolean",
                    "description": "Enable Pass-through for Curation Audit. When enabled, allows artifacts to pass through the Curation audit process.\n"
                },
                "password": {
                    "type": "string",
                    "secret": true
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                },
                "queryParams": {
                    "type": "string",
                    "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                },
                "remoteRepoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "retrievalCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                },
                "shareConfiguration": {
                    "type": "boolean",
                    "deprecationMessage": "No longer supported"
                },
                "socketTimeoutMillis": {
                    "type": "integer",
                    "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                },
                "storeArtifactsLocally": {
                    "type": "boolean",
                    "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                },
                "synchronizeProperties": {
                    "type": "boolean",
                    "description": "When set, remote artifacts are fetched along with their properties."
                },
                "unusedArtifactsCleanupPeriodHours": {
                    "type": "integer",
                    "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                },
                "url": {
                    "type": "string",
                    "description": "The remote repo URL.\n"
                },
                "username": {
                    "type": "string"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key",
                "url"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering RemoteConanRepository resources.\n",
                "properties": {
                    "allowAnyHostAuth": {
                        "type": "boolean",
                        "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                    },
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "assumedOfflinePeriodSecs": {
                        "type": "integer",
                        "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                    },
                    "blockMismatchingMimeTypes": {
                        "type": "boolean",
                        "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                    },
                    "bypassHeadRequests": {
                        "type": "boolean",
                        "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "clientTlsCertificate": {
                        "type": "string",
                        "description": "Client TLS certificate name."
                    },
                    "contentSynchronisation": {
                        "$ref": "#/types/artifactory:index/RemoteConanRepositoryContentSynchronisation:RemoteConanRepositoryContentSynchronisation"
                    },
                    "curated": {
                        "type": "boolean",
                        "description": "Enable repository to be protected by the Curation service.\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "disableProxy": {
                        "type": "boolean",
                        "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                    },
                    "disableUrlNormalization": {
                        "type": "boolean",
                        "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                    },
                    "enableCookieManagement": {
                        "type": "boolean",
                        "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "forceConanAuthentication": {
                        "type": "boolean",
                        "description": "Force basic authentication credentials in order to use this repository. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                    },
                    "hardFail": {
                        "type": "boolean",
                        "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                    },
                    "listRemoteFolderItems": {
                        "type": "boolean",
                        "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                    },
                    "localAddress": {
                        "type": "string",
                        "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                    },
                    "metadataRetrievalTimeoutSecs": {
                        "type": "integer",
                        "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                    },
                    "mismatchingMimeTypesOverrideList": {
                        "type": "string",
                        "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                    },
                    "missedCachePeriodSeconds": {
                        "type": "integer",
                        "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "offline": {
                        "type": "boolean",
                        "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                    },
                    "passThrough": {
                        "type": "boolean",
                        "description": "Enable Pass-through for Curation Audit. When enabled, allows artifacts to pass through the Curation audit process.\n"
                    },
                    "password": {
                        "type": "string",
                        "secret": true
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "proxy": {
                        "type": "string",
                        "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                    },
                    "queryParams": {
                        "type": "string",
                        "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                    },
                    "remoteRepoLayoutRef": {
                        "type": "string",
                        "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                    },
                    "retrievalCachePeriodSeconds": {
                        "type": "integer",
                        "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                    },
                    "shareConfiguration": {
                        "type": "boolean",
                        "deprecationMessage": "No longer supported"
                    },
                    "socketTimeoutMillis": {
                        "type": "integer",
                        "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                    },
                    "storeArtifactsLocally": {
                        "type": "boolean",
                        "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                    },
                    "synchronizeProperties": {
                        "type": "boolean",
                        "description": "When set, remote artifacts are fetched along with their properties."
                    },
                    "unusedArtifactsCleanupPeriodHours": {
                        "type": "integer",
                        "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                    },
                    "url": {
                        "type": "string",
                        "description": "The remote repo URL.\n"
                    },
                    "username": {
                        "type": "string"
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/remoteCondaRepository:RemoteCondaRepository": {
            "description": "Creates a remote Conda repository.\nOfficial documentation can be found [here](https://www.jfrog.com/confluence/display/JFROG/Conda+Repositories).\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst my_remote_conda = new artifactory.RemoteCondaRepository(\"my-remote-conda\", {\n    key: \"my-remote-conda\",\n    url: \"https://repo.anaconda.com/pkgs/main\",\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nmy_remote_conda = artifactory.RemoteCondaRepository(\"my-remote-conda\",\n    key=\"my-remote-conda\",\n    url=\"https://repo.anaconda.com/pkgs/main\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var my_remote_conda = new Artifactory.RemoteCondaRepository(\"my-remote-conda\", new()\n    {\n        Key = \"my-remote-conda\",\n        Url = \"https://repo.anaconda.com/pkgs/main\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewRemoteCondaRepository(ctx, \"my-remote-conda\", \u0026artifactory.RemoteCondaRepositoryArgs{\n\t\t\tKey: pulumi.String(\"my-remote-conda\"),\n\t\t\tUrl: pulumi.String(\"https://repo.anaconda.com/pkgs/main\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_remotecondarepository\" \"my-remote-conda\" {\n  key = \"my-remote-conda\"\n  url = \"https://repo.anaconda.com/pkgs/main\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.RemoteCondaRepository;\nimport com.pulumi.artifactory.RemoteCondaRepositoryArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 my_remote_conda = new RemoteCondaRepository(\"my-remote-conda\", RemoteCondaRepositoryArgs.builder()\n            .key(\"my-remote-conda\")\n            .url(\"https://repo.anaconda.com/pkgs/main\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  my-remote-conda:\n    type: artifactory:RemoteCondaRepository\n    properties:\n      key: my-remote-conda\n      url: https://repo.anaconda.com/pkgs/main\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRemote repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/remoteCondaRepository:RemoteCondaRepository my-remote-conda my-remote-conda\n```\n\n",
            "properties": {
                "allowAnyHostAuth": {
                    "type": "boolean",
                    "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                },
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "assumedOfflinePeriodSecs": {
                    "type": "integer",
                    "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                },
                "blockMismatchingMimeTypes": {
                    "type": "boolean",
                    "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                },
                "bypassHeadRequests": {
                    "type": "boolean",
                    "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "clientTlsCertificate": {
                    "type": "string",
                    "description": "Client TLS certificate name."
                },
                "contentSynchronisation": {
                    "$ref": "#/types/artifactory:index/RemoteCondaRepositoryContentSynchronisation:RemoteCondaRepositoryContentSynchronisation"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                },
                "disableUrlNormalization": {
                    "type": "boolean",
                    "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                },
                "enableCookieManagement": {
                    "type": "boolean",
                    "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "hardFail": {
                    "type": "boolean",
                    "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                },
                "listRemoteFolderItems": {
                    "type": "boolean",
                    "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                },
                "localAddress": {
                    "type": "string",
                    "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                },
                "metadataRetrievalTimeoutSecs": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                },
                "mismatchingMimeTypesOverrideList": {
                    "type": "string",
                    "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                },
                "missedCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "offline": {
                    "type": "boolean",
                    "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                },
                "password": {
                    "type": "string",
                    "secret": true
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                },
                "queryParams": {
                    "type": "string",
                    "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                },
                "remoteRepoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "retrievalCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                },
                "shareConfiguration": {
                    "type": "boolean",
                    "deprecationMessage": "No longer supported"
                },
                "socketTimeoutMillis": {
                    "type": "integer",
                    "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                },
                "storeArtifactsLocally": {
                    "type": "boolean",
                    "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                },
                "synchronizeProperties": {
                    "type": "boolean",
                    "description": "When set, remote artifacts are fetched along with their properties."
                },
                "unusedArtifactsCleanupPeriodHours": {
                    "type": "integer",
                    "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                },
                "url": {
                    "type": "string",
                    "description": "The remote repo URL.\n"
                },
                "username": {
                    "type": "string"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "allowAnyHostAuth",
                "archiveBrowsingEnabled",
                "assumedOfflinePeriodSecs",
                "blackedOut",
                "blockMismatchingMimeTypes",
                "bypassHeadRequests",
                "cdnRedirect",
                "clientTlsCertificate",
                "description",
                "disableProxy",
                "disableUrlNormalization",
                "downloadDirect",
                "enableCookieManagement",
                "excludesPattern",
                "hardFail",
                "includesPattern",
                "key",
                "listRemoteFolderItems",
                "localAddress",
                "metadataRetrievalTimeoutSecs",
                "mismatchingMimeTypesOverrideList",
                "missedCachePeriodSeconds",
                "notes",
                "offline",
                "priorityResolution",
                "projectEnvironments",
                "projectKey",
                "proxy",
                "queryParams",
                "remoteRepoLayoutRef",
                "repoLayoutRef",
                "retrievalCachePeriodSeconds",
                "shareConfiguration",
                "socketTimeoutMillis",
                "storeArtifactsLocally",
                "synchronizeProperties",
                "unusedArtifactsCleanupPeriodHours",
                "url",
                "username",
                "xrayIndex"
            ],
            "inputProperties": {
                "allowAnyHostAuth": {
                    "type": "boolean",
                    "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                },
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "assumedOfflinePeriodSecs": {
                    "type": "integer",
                    "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                },
                "blockMismatchingMimeTypes": {
                    "type": "boolean",
                    "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                },
                "bypassHeadRequests": {
                    "type": "boolean",
                    "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "clientTlsCertificate": {
                    "type": "string",
                    "description": "Client TLS certificate name."
                },
                "contentSynchronisation": {
                    "$ref": "#/types/artifactory:index/RemoteCondaRepositoryContentSynchronisation:RemoteCondaRepositoryContentSynchronisation"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                },
                "disableUrlNormalization": {
                    "type": "boolean",
                    "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                },
                "enableCookieManagement": {
                    "type": "boolean",
                    "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "hardFail": {
                    "type": "boolean",
                    "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                },
                "listRemoteFolderItems": {
                    "type": "boolean",
                    "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                },
                "localAddress": {
                    "type": "string",
                    "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                },
                "metadataRetrievalTimeoutSecs": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                },
                "mismatchingMimeTypesOverrideList": {
                    "type": "string",
                    "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                },
                "missedCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "offline": {
                    "type": "boolean",
                    "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                },
                "password": {
                    "type": "string",
                    "secret": true
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                },
                "queryParams": {
                    "type": "string",
                    "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                },
                "remoteRepoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "retrievalCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                },
                "shareConfiguration": {
                    "type": "boolean",
                    "deprecationMessage": "No longer supported"
                },
                "socketTimeoutMillis": {
                    "type": "integer",
                    "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                },
                "storeArtifactsLocally": {
                    "type": "boolean",
                    "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                },
                "synchronizeProperties": {
                    "type": "boolean",
                    "description": "When set, remote artifacts are fetched along with their properties."
                },
                "unusedArtifactsCleanupPeriodHours": {
                    "type": "integer",
                    "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                },
                "url": {
                    "type": "string",
                    "description": "The remote repo URL.\n"
                },
                "username": {
                    "type": "string"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key",
                "url"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering RemoteCondaRepository resources.\n",
                "properties": {
                    "allowAnyHostAuth": {
                        "type": "boolean",
                        "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                    },
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "assumedOfflinePeriodSecs": {
                        "type": "integer",
                        "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                    },
                    "blockMismatchingMimeTypes": {
                        "type": "boolean",
                        "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                    },
                    "bypassHeadRequests": {
                        "type": "boolean",
                        "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "clientTlsCertificate": {
                        "type": "string",
                        "description": "Client TLS certificate name."
                    },
                    "contentSynchronisation": {
                        "$ref": "#/types/artifactory:index/RemoteCondaRepositoryContentSynchronisation:RemoteCondaRepositoryContentSynchronisation"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "disableProxy": {
                        "type": "boolean",
                        "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                    },
                    "disableUrlNormalization": {
                        "type": "boolean",
                        "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                    },
                    "enableCookieManagement": {
                        "type": "boolean",
                        "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "hardFail": {
                        "type": "boolean",
                        "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                    },
                    "listRemoteFolderItems": {
                        "type": "boolean",
                        "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                    },
                    "localAddress": {
                        "type": "string",
                        "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                    },
                    "metadataRetrievalTimeoutSecs": {
                        "type": "integer",
                        "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                    },
                    "mismatchingMimeTypesOverrideList": {
                        "type": "string",
                        "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                    },
                    "missedCachePeriodSeconds": {
                        "type": "integer",
                        "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "offline": {
                        "type": "boolean",
                        "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                    },
                    "password": {
                        "type": "string",
                        "secret": true
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "proxy": {
                        "type": "string",
                        "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                    },
                    "queryParams": {
                        "type": "string",
                        "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                    },
                    "remoteRepoLayoutRef": {
                        "type": "string",
                        "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                    },
                    "retrievalCachePeriodSeconds": {
                        "type": "integer",
                        "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                    },
                    "shareConfiguration": {
                        "type": "boolean",
                        "deprecationMessage": "No longer supported"
                    },
                    "socketTimeoutMillis": {
                        "type": "integer",
                        "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                    },
                    "storeArtifactsLocally": {
                        "type": "boolean",
                        "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                    },
                    "synchronizeProperties": {
                        "type": "boolean",
                        "description": "When set, remote artifacts are fetched along with their properties."
                    },
                    "unusedArtifactsCleanupPeriodHours": {
                        "type": "integer",
                        "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                    },
                    "url": {
                        "type": "string",
                        "description": "The remote repo URL.\n"
                    },
                    "username": {
                        "type": "string"
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/remoteCranRepository:RemoteCranRepository": {
            "description": "Creates a remote Cran repository.\nOfficial documentation can be found [here](https://www.jfrog.com/confluence/display/JFROG/CRAN+Repositories).\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst my_remote_cran = new artifactory.RemoteCranRepository(\"my-remote-cran\", {\n    key: \"my-remote-cran\",\n    url: \"https://cran.r-project.org/\",\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nmy_remote_cran = artifactory.RemoteCranRepository(\"my-remote-cran\",\n    key=\"my-remote-cran\",\n    url=\"https://cran.r-project.org/\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var my_remote_cran = new Artifactory.RemoteCranRepository(\"my-remote-cran\", new()\n    {\n        Key = \"my-remote-cran\",\n        Url = \"https://cran.r-project.org/\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewRemoteCranRepository(ctx, \"my-remote-cran\", \u0026artifactory.RemoteCranRepositoryArgs{\n\t\t\tKey: pulumi.String(\"my-remote-cran\"),\n\t\t\tUrl: pulumi.String(\"https://cran.r-project.org/\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_remotecranrepository\" \"my-remote-cran\" {\n  key = \"my-remote-cran\"\n  url = \"https://cran.r-project.org/\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.RemoteCranRepository;\nimport com.pulumi.artifactory.RemoteCranRepositoryArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 my_remote_cran = new RemoteCranRepository(\"my-remote-cran\", RemoteCranRepositoryArgs.builder()\n            .key(\"my-remote-cran\")\n            .url(\"https://cran.r-project.org/\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  my-remote-cran:\n    type: artifactory:RemoteCranRepository\n    properties:\n      key: my-remote-cran\n      url: https://cran.r-project.org/\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRemote repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/remoteCranRepository:RemoteCranRepository my-remote-cran my-remote-cran\n```\n\n",
            "properties": {
                "allowAnyHostAuth": {
                    "type": "boolean",
                    "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                },
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "assumedOfflinePeriodSecs": {
                    "type": "integer",
                    "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                },
                "blockMismatchingMimeTypes": {
                    "type": "boolean",
                    "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                },
                "bypassHeadRequests": {
                    "type": "boolean",
                    "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "clientTlsCertificate": {
                    "type": "string",
                    "description": "Client TLS certificate name."
                },
                "contentSynchronisation": {
                    "$ref": "#/types/artifactory:index/RemoteCranRepositoryContentSynchronisation:RemoteCranRepositoryContentSynchronisation"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                },
                "disableUrlNormalization": {
                    "type": "boolean",
                    "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                },
                "enableCookieManagement": {
                    "type": "boolean",
                    "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "hardFail": {
                    "type": "boolean",
                    "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                },
                "listRemoteFolderItems": {
                    "type": "boolean",
                    "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                },
                "localAddress": {
                    "type": "string",
                    "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                },
                "metadataRetrievalTimeoutSecs": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                },
                "mismatchingMimeTypesOverrideList": {
                    "type": "string",
                    "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                },
                "missedCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "offline": {
                    "type": "boolean",
                    "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                },
                "password": {
                    "type": "string",
                    "secret": true
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                },
                "queryParams": {
                    "type": "string",
                    "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                },
                "remoteRepoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "retrievalCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                },
                "shareConfiguration": {
                    "type": "boolean",
                    "deprecationMessage": "No longer supported"
                },
                "socketTimeoutMillis": {
                    "type": "integer",
                    "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                },
                "storeArtifactsLocally": {
                    "type": "boolean",
                    "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                },
                "synchronizeProperties": {
                    "type": "boolean",
                    "description": "When set, remote artifacts are fetched along with their properties."
                },
                "unusedArtifactsCleanupPeriodHours": {
                    "type": "integer",
                    "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                },
                "url": {
                    "type": "string",
                    "description": "The remote repo URL.\n"
                },
                "username": {
                    "type": "string"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "allowAnyHostAuth",
                "archiveBrowsingEnabled",
                "assumedOfflinePeriodSecs",
                "blackedOut",
                "blockMismatchingMimeTypes",
                "bypassHeadRequests",
                "cdnRedirect",
                "clientTlsCertificate",
                "description",
                "disableProxy",
                "disableUrlNormalization",
                "downloadDirect",
                "enableCookieManagement",
                "excludesPattern",
                "hardFail",
                "includesPattern",
                "key",
                "listRemoteFolderItems",
                "localAddress",
                "metadataRetrievalTimeoutSecs",
                "mismatchingMimeTypesOverrideList",
                "missedCachePeriodSeconds",
                "notes",
                "offline",
                "priorityResolution",
                "projectEnvironments",
                "projectKey",
                "proxy",
                "queryParams",
                "remoteRepoLayoutRef",
                "repoLayoutRef",
                "retrievalCachePeriodSeconds",
                "shareConfiguration",
                "socketTimeoutMillis",
                "storeArtifactsLocally",
                "synchronizeProperties",
                "unusedArtifactsCleanupPeriodHours",
                "url",
                "username",
                "xrayIndex"
            ],
            "inputProperties": {
                "allowAnyHostAuth": {
                    "type": "boolean",
                    "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                },
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "assumedOfflinePeriodSecs": {
                    "type": "integer",
                    "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                },
                "blockMismatchingMimeTypes": {
                    "type": "boolean",
                    "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                },
                "bypassHeadRequests": {
                    "type": "boolean",
                    "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "clientTlsCertificate": {
                    "type": "string",
                    "description": "Client TLS certificate name."
                },
                "contentSynchronisation": {
                    "$ref": "#/types/artifactory:index/RemoteCranRepositoryContentSynchronisation:RemoteCranRepositoryContentSynchronisation"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                },
                "disableUrlNormalization": {
                    "type": "boolean",
                    "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                },
                "enableCookieManagement": {
                    "type": "boolean",
                    "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "hardFail": {
                    "type": "boolean",
                    "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                },
                "listRemoteFolderItems": {
                    "type": "boolean",
                    "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                },
                "localAddress": {
                    "type": "string",
                    "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                },
                "metadataRetrievalTimeoutSecs": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                },
                "mismatchingMimeTypesOverrideList": {
                    "type": "string",
                    "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                },
                "missedCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "offline": {
                    "type": "boolean",
                    "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                },
                "password": {
                    "type": "string",
                    "secret": true
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                },
                "queryParams": {
                    "type": "string",
                    "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                },
                "remoteRepoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "retrievalCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                },
                "shareConfiguration": {
                    "type": "boolean",
                    "deprecationMessage": "No longer supported"
                },
                "socketTimeoutMillis": {
                    "type": "integer",
                    "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                },
                "storeArtifactsLocally": {
                    "type": "boolean",
                    "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                },
                "synchronizeProperties": {
                    "type": "boolean",
                    "description": "When set, remote artifacts are fetched along with their properties."
                },
                "unusedArtifactsCleanupPeriodHours": {
                    "type": "integer",
                    "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                },
                "url": {
                    "type": "string",
                    "description": "The remote repo URL.\n"
                },
                "username": {
                    "type": "string"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key",
                "url"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering RemoteCranRepository resources.\n",
                "properties": {
                    "allowAnyHostAuth": {
                        "type": "boolean",
                        "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                    },
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "assumedOfflinePeriodSecs": {
                        "type": "integer",
                        "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                    },
                    "blockMismatchingMimeTypes": {
                        "type": "boolean",
                        "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                    },
                    "bypassHeadRequests": {
                        "type": "boolean",
                        "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "clientTlsCertificate": {
                        "type": "string",
                        "description": "Client TLS certificate name."
                    },
                    "contentSynchronisation": {
                        "$ref": "#/types/artifactory:index/RemoteCranRepositoryContentSynchronisation:RemoteCranRepositoryContentSynchronisation"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "disableProxy": {
                        "type": "boolean",
                        "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                    },
                    "disableUrlNormalization": {
                        "type": "boolean",
                        "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                    },
                    "enableCookieManagement": {
                        "type": "boolean",
                        "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "hardFail": {
                        "type": "boolean",
                        "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                    },
                    "listRemoteFolderItems": {
                        "type": "boolean",
                        "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                    },
                    "localAddress": {
                        "type": "string",
                        "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                    },
                    "metadataRetrievalTimeoutSecs": {
                        "type": "integer",
                        "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                    },
                    "mismatchingMimeTypesOverrideList": {
                        "type": "string",
                        "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                    },
                    "missedCachePeriodSeconds": {
                        "type": "integer",
                        "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "offline": {
                        "type": "boolean",
                        "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                    },
                    "password": {
                        "type": "string",
                        "secret": true
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "proxy": {
                        "type": "string",
                        "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                    },
                    "queryParams": {
                        "type": "string",
                        "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                    },
                    "remoteRepoLayoutRef": {
                        "type": "string",
                        "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                    },
                    "retrievalCachePeriodSeconds": {
                        "type": "integer",
                        "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                    },
                    "shareConfiguration": {
                        "type": "boolean",
                        "deprecationMessage": "No longer supported"
                    },
                    "socketTimeoutMillis": {
                        "type": "integer",
                        "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                    },
                    "storeArtifactsLocally": {
                        "type": "boolean",
                        "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                    },
                    "synchronizeProperties": {
                        "type": "boolean",
                        "description": "When set, remote artifacts are fetched along with their properties."
                    },
                    "unusedArtifactsCleanupPeriodHours": {
                        "type": "integer",
                        "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                    },
                    "url": {
                        "type": "string",
                        "description": "The remote repo URL.\n"
                    },
                    "username": {
                        "type": "string"
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/remoteDebianRepository:RemoteDebianRepository": {
            "description": "Creates a remote Debian repository.\nOfficial documentation can be found [here](https://www.jfrog.com/confluence/display/JFROG/Debian+Repositories).\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst my_remote_debian = new artifactory.RemoteDebianRepository(\"my-remote-debian\", {\n    key: \"my-remote-Debian\",\n    url: \"http://archive.ubuntu.com/ubuntu/\",\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nmy_remote_debian = artifactory.RemoteDebianRepository(\"my-remote-debian\",\n    key=\"my-remote-Debian\",\n    url=\"http://archive.ubuntu.com/ubuntu/\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var my_remote_debian = new Artifactory.RemoteDebianRepository(\"my-remote-debian\", new()\n    {\n        Key = \"my-remote-Debian\",\n        Url = \"http://archive.ubuntu.com/ubuntu/\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewRemoteDebianRepository(ctx, \"my-remote-debian\", \u0026artifactory.RemoteDebianRepositoryArgs{\n\t\t\tKey: pulumi.String(\"my-remote-Debian\"),\n\t\t\tUrl: pulumi.String(\"http://archive.ubuntu.com/ubuntu/\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_remotedebianrepository\" \"my-remote-debian\" {\n  key = \"my-remote-Debian\"\n  url = \"http://archive.ubuntu.com/ubuntu/\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.RemoteDebianRepository;\nimport com.pulumi.artifactory.RemoteDebianRepositoryArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 my_remote_debian = new RemoteDebianRepository(\"my-remote-debian\", RemoteDebianRepositoryArgs.builder()\n            .key(\"my-remote-Debian\")\n            .url(\"http://archive.ubuntu.com/ubuntu/\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  my-remote-debian:\n    type: artifactory:RemoteDebianRepository\n    properties:\n      key: my-remote-Debian\n      url: http://archive.ubuntu.com/ubuntu/\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRemote repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/remoteDebianRepository:RemoteDebianRepository my-remote-debian my-remote-debian\n```\n\n",
            "properties": {
                "allowAnyHostAuth": {
                    "type": "boolean",
                    "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                },
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "assumedOfflinePeriodSecs": {
                    "type": "integer",
                    "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                },
                "blockMismatchingMimeTypes": {
                    "type": "boolean",
                    "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                },
                "bypassHeadRequests": {
                    "type": "boolean",
                    "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "clientTlsCertificate": {
                    "type": "string",
                    "description": "Client TLS certificate name."
                },
                "contentSynchronisation": {
                    "$ref": "#/types/artifactory:index/RemoteDebianRepositoryContentSynchronisation:RemoteDebianRepositoryContentSynchronisation"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                },
                "disableUrlNormalization": {
                    "type": "boolean",
                    "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                },
                "enableCookieManagement": {
                    "type": "boolean",
                    "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "hardFail": {
                    "type": "boolean",
                    "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                },
                "listRemoteFolderItems": {
                    "type": "boolean",
                    "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                },
                "localAddress": {
                    "type": "string",
                    "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                },
                "metadataRetrievalTimeoutSecs": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                },
                "mismatchingMimeTypesOverrideList": {
                    "type": "string",
                    "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                },
                "missedCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "offline": {
                    "type": "boolean",
                    "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                },
                "password": {
                    "type": "string",
                    "secret": true
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                },
                "queryParams": {
                    "type": "string",
                    "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                },
                "remoteRepoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "retrievalCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                },
                "shareConfiguration": {
                    "type": "boolean",
                    "deprecationMessage": "No longer supported"
                },
                "socketTimeoutMillis": {
                    "type": "integer",
                    "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                },
                "storeArtifactsLocally": {
                    "type": "boolean",
                    "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                },
                "synchronizeProperties": {
                    "type": "boolean",
                    "description": "When set, remote artifacts are fetched along with their properties."
                },
                "unusedArtifactsCleanupPeriodHours": {
                    "type": "integer",
                    "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                },
                "url": {
                    "type": "string",
                    "description": "The remote repo URL.\n"
                },
                "username": {
                    "type": "string"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "allowAnyHostAuth",
                "archiveBrowsingEnabled",
                "assumedOfflinePeriodSecs",
                "blackedOut",
                "blockMismatchingMimeTypes",
                "bypassHeadRequests",
                "cdnRedirect",
                "clientTlsCertificate",
                "description",
                "disableProxy",
                "disableUrlNormalization",
                "downloadDirect",
                "enableCookieManagement",
                "excludesPattern",
                "hardFail",
                "includesPattern",
                "key",
                "listRemoteFolderItems",
                "localAddress",
                "metadataRetrievalTimeoutSecs",
                "mismatchingMimeTypesOverrideList",
                "missedCachePeriodSeconds",
                "notes",
                "offline",
                "priorityResolution",
                "projectEnvironments",
                "projectKey",
                "proxy",
                "queryParams",
                "remoteRepoLayoutRef",
                "repoLayoutRef",
                "retrievalCachePeriodSeconds",
                "shareConfiguration",
                "socketTimeoutMillis",
                "storeArtifactsLocally",
                "synchronizeProperties",
                "unusedArtifactsCleanupPeriodHours",
                "url",
                "username",
                "xrayIndex"
            ],
            "inputProperties": {
                "allowAnyHostAuth": {
                    "type": "boolean",
                    "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                },
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "assumedOfflinePeriodSecs": {
                    "type": "integer",
                    "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                },
                "blockMismatchingMimeTypes": {
                    "type": "boolean",
                    "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                },
                "bypassHeadRequests": {
                    "type": "boolean",
                    "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "clientTlsCertificate": {
                    "type": "string",
                    "description": "Client TLS certificate name."
                },
                "contentSynchronisation": {
                    "$ref": "#/types/artifactory:index/RemoteDebianRepositoryContentSynchronisation:RemoteDebianRepositoryContentSynchronisation"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                },
                "disableUrlNormalization": {
                    "type": "boolean",
                    "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                },
                "enableCookieManagement": {
                    "type": "boolean",
                    "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "hardFail": {
                    "type": "boolean",
                    "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                },
                "listRemoteFolderItems": {
                    "type": "boolean",
                    "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                },
                "localAddress": {
                    "type": "string",
                    "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                },
                "metadataRetrievalTimeoutSecs": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                },
                "mismatchingMimeTypesOverrideList": {
                    "type": "string",
                    "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                },
                "missedCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "offline": {
                    "type": "boolean",
                    "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                },
                "password": {
                    "type": "string",
                    "secret": true
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                },
                "queryParams": {
                    "type": "string",
                    "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                },
                "remoteRepoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "retrievalCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                },
                "shareConfiguration": {
                    "type": "boolean",
                    "deprecationMessage": "No longer supported"
                },
                "socketTimeoutMillis": {
                    "type": "integer",
                    "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                },
                "storeArtifactsLocally": {
                    "type": "boolean",
                    "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                },
                "synchronizeProperties": {
                    "type": "boolean",
                    "description": "When set, remote artifacts are fetched along with their properties."
                },
                "unusedArtifactsCleanupPeriodHours": {
                    "type": "integer",
                    "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                },
                "url": {
                    "type": "string",
                    "description": "The remote repo URL.\n"
                },
                "username": {
                    "type": "string"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key",
                "url"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering RemoteDebianRepository resources.\n",
                "properties": {
                    "allowAnyHostAuth": {
                        "type": "boolean",
                        "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                    },
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "assumedOfflinePeriodSecs": {
                        "type": "integer",
                        "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                    },
                    "blockMismatchingMimeTypes": {
                        "type": "boolean",
                        "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                    },
                    "bypassHeadRequests": {
                        "type": "boolean",
                        "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "clientTlsCertificate": {
                        "type": "string",
                        "description": "Client TLS certificate name."
                    },
                    "contentSynchronisation": {
                        "$ref": "#/types/artifactory:index/RemoteDebianRepositoryContentSynchronisation:RemoteDebianRepositoryContentSynchronisation"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "disableProxy": {
                        "type": "boolean",
                        "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                    },
                    "disableUrlNormalization": {
                        "type": "boolean",
                        "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                    },
                    "enableCookieManagement": {
                        "type": "boolean",
                        "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "hardFail": {
                        "type": "boolean",
                        "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                    },
                    "listRemoteFolderItems": {
                        "type": "boolean",
                        "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                    },
                    "localAddress": {
                        "type": "string",
                        "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                    },
                    "metadataRetrievalTimeoutSecs": {
                        "type": "integer",
                        "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                    },
                    "mismatchingMimeTypesOverrideList": {
                        "type": "string",
                        "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                    },
                    "missedCachePeriodSeconds": {
                        "type": "integer",
                        "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "offline": {
                        "type": "boolean",
                        "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                    },
                    "password": {
                        "type": "string",
                        "secret": true
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "proxy": {
                        "type": "string",
                        "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                    },
                    "queryParams": {
                        "type": "string",
                        "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                    },
                    "remoteRepoLayoutRef": {
                        "type": "string",
                        "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                    },
                    "retrievalCachePeriodSeconds": {
                        "type": "integer",
                        "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                    },
                    "shareConfiguration": {
                        "type": "boolean",
                        "deprecationMessage": "No longer supported"
                    },
                    "socketTimeoutMillis": {
                        "type": "integer",
                        "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                    },
                    "storeArtifactsLocally": {
                        "type": "boolean",
                        "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                    },
                    "synchronizeProperties": {
                        "type": "boolean",
                        "description": "When set, remote artifacts are fetched along with their properties."
                    },
                    "unusedArtifactsCleanupPeriodHours": {
                        "type": "integer",
                        "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                    },
                    "url": {
                        "type": "string",
                        "description": "The remote repo URL.\n"
                    },
                    "username": {
                        "type": "string"
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/remoteDockerRepository:RemoteDockerRepository": {
            "description": "Creates remote Docker repository resource. \n\nOfficial documentation can be found [here](https://www.jfrog.com/confluence/display/JFROG/Docker+Registry)\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst my_remote_docker = new artifactory.RemoteDockerRepository(\"my-remote-docker\", {\n    key: \"my-remote-docker\",\n    externalDependenciesEnabled: true,\n    externalDependenciesPatterns: [\"**/registry-1.docker.io/**\"],\n    enableTokenAuthentication: true,\n    url: \"https://registry-1.docker.io/\",\n    blockPushingSchema1: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nmy_remote_docker = artifactory.RemoteDockerRepository(\"my-remote-docker\",\n    key=\"my-remote-docker\",\n    external_dependencies_enabled=True,\n    external_dependencies_patterns=[\"**/registry-1.docker.io/**\"],\n    enable_token_authentication=True,\n    url=\"https://registry-1.docker.io/\",\n    block_pushing_schema1=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var my_remote_docker = new Artifactory.RemoteDockerRepository(\"my-remote-docker\", new()\n    {\n        Key = \"my-remote-docker\",\n        ExternalDependenciesEnabled = true,\n        ExternalDependenciesPatterns = new[]\n        {\n            \"**/registry-1.docker.io/**\",\n        },\n        EnableTokenAuthentication = true,\n        Url = \"https://registry-1.docker.io/\",\n        BlockPushingSchema1 = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewRemoteDockerRepository(ctx, \"my-remote-docker\", \u0026artifactory.RemoteDockerRepositoryArgs{\n\t\t\tKey:                         pulumi.String(\"my-remote-docker\"),\n\t\t\tExternalDependenciesEnabled: pulumi.Bool(true),\n\t\t\tExternalDependenciesPatterns: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"**/registry-1.docker.io/**\"),\n\t\t\t},\n\t\t\tEnableTokenAuthentication: pulumi.Bool(true),\n\t\t\tUrl:                       pulumi.String(\"https://registry-1.docker.io/\"),\n\t\t\tBlockPushingSchema1:       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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_remotedockerrepository\" \"my-remote-docker\" {\n  key                            = \"my-remote-docker\"\n  external_dependencies_enabled  = true\n  external_dependencies_patterns = [\"**/registry-1.docker.io/**\"]\n  enable_token_authentication    = true\n  url                            = \"https://registry-1.docker.io/\"\n  block_pushing_schema1          = true\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.RemoteDockerRepository;\nimport com.pulumi.artifactory.RemoteDockerRepositoryArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 my_remote_docker = new RemoteDockerRepository(\"my-remote-docker\", RemoteDockerRepositoryArgs.builder()\n            .key(\"my-remote-docker\")\n            .externalDependenciesEnabled(true)\n            .externalDependenciesPatterns(\"**/registry-1.docker.io/**\")\n            .enableTokenAuthentication(true)\n            .url(\"https://registry-1.docker.io/\")\n            .blockPushingSchema1(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  my-remote-docker:\n    type: artifactory:RemoteDockerRepository\n    properties:\n      key: my-remote-docker\n      externalDependenciesEnabled: true\n      externalDependenciesPatterns:\n        - '**/registry-1.docker.io/**'\n      enableTokenAuthentication: true\n      url: https://registry-1.docker.io/\n      blockPushingSchema1: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRemote repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/remoteDockerRepository:RemoteDockerRepository my-remote-docker my-remote-docker\n```\n\n",
            "properties": {
                "allowAnyHostAuth": {
                    "type": "boolean",
                    "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                },
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "assumedOfflinePeriodSecs": {
                    "type": "integer",
                    "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                },
                "blockMismatchingMimeTypes": {
                    "type": "boolean",
                    "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                },
                "blockPushingSchema1": {
                    "type": "boolean",
                    "description": "When set, Artifactory will block the pulling of Docker images with manifest v2\nschema 1 from the remote repository (i.e. the upstream). It will be possible to pull images with manifest v2 schema 1\nthat exist in the cache.\n"
                },
                "bypassHeadRequests": {
                    "type": "boolean",
                    "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "clientTlsCertificate": {
                    "type": "string",
                    "description": "Client TLS certificate name."
                },
                "contentSynchronisation": {
                    "$ref": "#/types/artifactory:index/RemoteDockerRepositoryContentSynchronisation:RemoteDockerRepositoryContentSynchronisation"
                },
                "curated": {
                    "type": "boolean",
                    "description": "Enable repository to be protected by the Curation service.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                },
                "disableUrlNormalization": {
                    "type": "boolean",
                    "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                },
                "enableCookieManagement": {
                    "type": "boolean",
                    "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                },
                "enableTokenAuthentication": {
                    "type": "boolean",
                    "description": "Enable token (Bearer) based authentication.\n"
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "externalDependenciesEnabled": {
                    "type": "boolean",
                    "description": "Also known as 'Foreign Layers Caching' on the UI.\n"
                },
                "externalDependenciesPatterns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "An allow list of Ant-style path patterns that determine which remote VCS roots Artifactory will follow to download remote modules from, when presented with 'go-import' meta tags in the remote repository response. Default to `[\"**\"]`\n"
                },
                "hardFail": {
                    "type": "boolean",
                    "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                },
                "listRemoteFolderItems": {
                    "type": "boolean",
                    "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                },
                "localAddress": {
                    "type": "string",
                    "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                },
                "metadataRetrievalTimeoutSecs": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                },
                "mismatchingMimeTypesOverrideList": {
                    "type": "string",
                    "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                },
                "missedCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "offline": {
                    "type": "boolean",
                    "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                },
                "passThrough": {
                    "type": "boolean",
                    "description": "Enable Pass-through for Curation Audit. When enabled, allows artifacts to pass through the Curation audit process.\n"
                },
                "password": {
                    "type": "string",
                    "secret": true
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectId": {
                    "type": "string",
                    "description": "Use this attribute to enter your GCR, GAR Project Id to limit the scope of this remote repo to a specific project in your third-party registry. When leaving this field blank or unset, remote repositories that support project id will default to their default project as you have set up in your account.\n"
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                },
                "queryParams": {
                    "type": "string",
                    "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                },
                "remoteRepoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "retrievalCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                },
                "shareConfiguration": {
                    "type": "boolean",
                    "deprecationMessage": "No longer supported"
                },
                "socketTimeoutMillis": {
                    "type": "integer",
                    "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                },
                "storeArtifactsLocally": {
                    "type": "boolean",
                    "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                },
                "synchronizeProperties": {
                    "type": "boolean",
                    "description": "When set, remote artifacts are fetched along with their properties."
                },
                "unusedArtifactsCleanupPeriodHours": {
                    "type": "integer",
                    "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                },
                "url": {
                    "type": "string",
                    "description": "The remote repo URL.\n"
                },
                "username": {
                    "type": "string"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "allowAnyHostAuth",
                "archiveBrowsingEnabled",
                "assumedOfflinePeriodSecs",
                "blackedOut",
                "blockMismatchingMimeTypes",
                "blockPushingSchema1",
                "bypassHeadRequests",
                "cdnRedirect",
                "clientTlsCertificate",
                "curated",
                "description",
                "disableProxy",
                "disableUrlNormalization",
                "downloadDirect",
                "enableCookieManagement",
                "enableTokenAuthentication",
                "excludesPattern",
                "externalDependenciesEnabled",
                "hardFail",
                "includesPattern",
                "key",
                "listRemoteFolderItems",
                "localAddress",
                "metadataRetrievalTimeoutSecs",
                "mismatchingMimeTypesOverrideList",
                "missedCachePeriodSeconds",
                "notes",
                "offline",
                "passThrough",
                "priorityResolution",
                "projectEnvironments",
                "projectId",
                "projectKey",
                "proxy",
                "queryParams",
                "remoteRepoLayoutRef",
                "repoLayoutRef",
                "retrievalCachePeriodSeconds",
                "shareConfiguration",
                "socketTimeoutMillis",
                "storeArtifactsLocally",
                "synchronizeProperties",
                "unusedArtifactsCleanupPeriodHours",
                "url",
                "username",
                "xrayIndex"
            ],
            "inputProperties": {
                "allowAnyHostAuth": {
                    "type": "boolean",
                    "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                },
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "assumedOfflinePeriodSecs": {
                    "type": "integer",
                    "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                },
                "blockMismatchingMimeTypes": {
                    "type": "boolean",
                    "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                },
                "blockPushingSchema1": {
                    "type": "boolean",
                    "description": "When set, Artifactory will block the pulling of Docker images with manifest v2\nschema 1 from the remote repository (i.e. the upstream). It will be possible to pull images with manifest v2 schema 1\nthat exist in the cache.\n"
                },
                "bypassHeadRequests": {
                    "type": "boolean",
                    "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "clientTlsCertificate": {
                    "type": "string",
                    "description": "Client TLS certificate name."
                },
                "contentSynchronisation": {
                    "$ref": "#/types/artifactory:index/RemoteDockerRepositoryContentSynchronisation:RemoteDockerRepositoryContentSynchronisation"
                },
                "curated": {
                    "type": "boolean",
                    "description": "Enable repository to be protected by the Curation service.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                },
                "disableUrlNormalization": {
                    "type": "boolean",
                    "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                },
                "enableCookieManagement": {
                    "type": "boolean",
                    "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                },
                "enableTokenAuthentication": {
                    "type": "boolean",
                    "description": "Enable token (Bearer) based authentication.\n"
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "externalDependenciesEnabled": {
                    "type": "boolean",
                    "description": "Also known as 'Foreign Layers Caching' on the UI.\n"
                },
                "externalDependenciesPatterns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "An allow list of Ant-style path patterns that determine which remote VCS roots Artifactory will follow to download remote modules from, when presented with 'go-import' meta tags in the remote repository response. Default to `[\"**\"]`\n"
                },
                "hardFail": {
                    "type": "boolean",
                    "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                },
                "listRemoteFolderItems": {
                    "type": "boolean",
                    "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                },
                "localAddress": {
                    "type": "string",
                    "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                },
                "metadataRetrievalTimeoutSecs": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                },
                "mismatchingMimeTypesOverrideList": {
                    "type": "string",
                    "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                },
                "missedCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "offline": {
                    "type": "boolean",
                    "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                },
                "passThrough": {
                    "type": "boolean",
                    "description": "Enable Pass-through for Curation Audit. When enabled, allows artifacts to pass through the Curation audit process.\n"
                },
                "password": {
                    "type": "string",
                    "secret": true
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectId": {
                    "type": "string",
                    "description": "Use this attribute to enter your GCR, GAR Project Id to limit the scope of this remote repo to a specific project in your third-party registry. When leaving this field blank or unset, remote repositories that support project id will default to their default project as you have set up in your account.\n"
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                },
                "queryParams": {
                    "type": "string",
                    "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                },
                "remoteRepoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "retrievalCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                },
                "shareConfiguration": {
                    "type": "boolean",
                    "deprecationMessage": "No longer supported"
                },
                "socketTimeoutMillis": {
                    "type": "integer",
                    "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                },
                "storeArtifactsLocally": {
                    "type": "boolean",
                    "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                },
                "synchronizeProperties": {
                    "type": "boolean",
                    "description": "When set, remote artifacts are fetched along with their properties."
                },
                "unusedArtifactsCleanupPeriodHours": {
                    "type": "integer",
                    "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                },
                "url": {
                    "type": "string",
                    "description": "The remote repo URL.\n"
                },
                "username": {
                    "type": "string"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key",
                "url"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering RemoteDockerRepository resources.\n",
                "properties": {
                    "allowAnyHostAuth": {
                        "type": "boolean",
                        "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                    },
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "assumedOfflinePeriodSecs": {
                        "type": "integer",
                        "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                    },
                    "blockMismatchingMimeTypes": {
                        "type": "boolean",
                        "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                    },
                    "blockPushingSchema1": {
                        "type": "boolean",
                        "description": "When set, Artifactory will block the pulling of Docker images with manifest v2\nschema 1 from the remote repository (i.e. the upstream). It will be possible to pull images with manifest v2 schema 1\nthat exist in the cache.\n"
                    },
                    "bypassHeadRequests": {
                        "type": "boolean",
                        "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "clientTlsCertificate": {
                        "type": "string",
                        "description": "Client TLS certificate name."
                    },
                    "contentSynchronisation": {
                        "$ref": "#/types/artifactory:index/RemoteDockerRepositoryContentSynchronisation:RemoteDockerRepositoryContentSynchronisation"
                    },
                    "curated": {
                        "type": "boolean",
                        "description": "Enable repository to be protected by the Curation service.\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "disableProxy": {
                        "type": "boolean",
                        "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                    },
                    "disableUrlNormalization": {
                        "type": "boolean",
                        "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                    },
                    "enableCookieManagement": {
                        "type": "boolean",
                        "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                    },
                    "enableTokenAuthentication": {
                        "type": "boolean",
                        "description": "Enable token (Bearer) based authentication.\n"
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "externalDependenciesEnabled": {
                        "type": "boolean",
                        "description": "Also known as 'Foreign Layers Caching' on the UI.\n"
                    },
                    "externalDependenciesPatterns": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "An allow list of Ant-style path patterns that determine which remote VCS roots Artifactory will follow to download remote modules from, when presented with 'go-import' meta tags in the remote repository response. Default to `[\"**\"]`\n"
                    },
                    "hardFail": {
                        "type": "boolean",
                        "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                    },
                    "listRemoteFolderItems": {
                        "type": "boolean",
                        "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                    },
                    "localAddress": {
                        "type": "string",
                        "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                    },
                    "metadataRetrievalTimeoutSecs": {
                        "type": "integer",
                        "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                    },
                    "mismatchingMimeTypesOverrideList": {
                        "type": "string",
                        "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                    },
                    "missedCachePeriodSeconds": {
                        "type": "integer",
                        "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "offline": {
                        "type": "boolean",
                        "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                    },
                    "passThrough": {
                        "type": "boolean",
                        "description": "Enable Pass-through for Curation Audit. When enabled, allows artifacts to pass through the Curation audit process.\n"
                    },
                    "password": {
                        "type": "string",
                        "secret": true
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectId": {
                        "type": "string",
                        "description": "Use this attribute to enter your GCR, GAR Project Id to limit the scope of this remote repo to a specific project in your third-party registry. When leaving this field blank or unset, remote repositories that support project id will default to their default project as you have set up in your account.\n"
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "proxy": {
                        "type": "string",
                        "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                    },
                    "queryParams": {
                        "type": "string",
                        "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                    },
                    "remoteRepoLayoutRef": {
                        "type": "string",
                        "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                    },
                    "retrievalCachePeriodSeconds": {
                        "type": "integer",
                        "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                    },
                    "shareConfiguration": {
                        "type": "boolean",
                        "deprecationMessage": "No longer supported"
                    },
                    "socketTimeoutMillis": {
                        "type": "integer",
                        "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                    },
                    "storeArtifactsLocally": {
                        "type": "boolean",
                        "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                    },
                    "synchronizeProperties": {
                        "type": "boolean",
                        "description": "When set, remote artifacts are fetched along with their properties."
                    },
                    "unusedArtifactsCleanupPeriodHours": {
                        "type": "integer",
                        "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                    },
                    "url": {
                        "type": "string",
                        "description": "The remote repo URL.\n"
                    },
                    "username": {
                        "type": "string"
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/remoteGemsRepository:RemoteGemsRepository": {
            "description": "Creates a remote Gems repository.\nOfficial documentation can be found [here](https://www.jfrog.com/confluence/display/JFROG/RubyGems+Repositories).\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst my_remote_gems = new artifactory.RemoteGemsRepository(\"my-remote-gems\", {\n    key: \"my-remote-gems\",\n    url: \"https://rubygems.org/\",\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nmy_remote_gems = artifactory.RemoteGemsRepository(\"my-remote-gems\",\n    key=\"my-remote-gems\",\n    url=\"https://rubygems.org/\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var my_remote_gems = new Artifactory.RemoteGemsRepository(\"my-remote-gems\", new()\n    {\n        Key = \"my-remote-gems\",\n        Url = \"https://rubygems.org/\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewRemoteGemsRepository(ctx, \"my-remote-gems\", \u0026artifactory.RemoteGemsRepositoryArgs{\n\t\t\tKey: pulumi.String(\"my-remote-gems\"),\n\t\t\tUrl: pulumi.String(\"https://rubygems.org/\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_remotegemsrepository\" \"my-remote-gems\" {\n  key = \"my-remote-gems\"\n  url = \"https://rubygems.org/\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.RemoteGemsRepository;\nimport com.pulumi.artifactory.RemoteGemsRepositoryArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 my_remote_gems = new RemoteGemsRepository(\"my-remote-gems\", RemoteGemsRepositoryArgs.builder()\n            .key(\"my-remote-gems\")\n            .url(\"https://rubygems.org/\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  my-remote-gems:\n    type: artifactory:RemoteGemsRepository\n    properties:\n      key: my-remote-gems\n      url: https://rubygems.org/\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRemote repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/remoteGemsRepository:RemoteGemsRepository my-remote-gems my-remote-gems\n```\n\n",
            "properties": {
                "allowAnyHostAuth": {
                    "type": "boolean",
                    "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                },
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "assumedOfflinePeriodSecs": {
                    "type": "integer",
                    "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                },
                "blockMismatchingMimeTypes": {
                    "type": "boolean",
                    "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                },
                "bypassHeadRequests": {
                    "type": "boolean",
                    "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "clientTlsCertificate": {
                    "type": "string",
                    "description": "Client TLS certificate name."
                },
                "contentSynchronisation": {
                    "$ref": "#/types/artifactory:index/RemoteGemsRepositoryContentSynchronisation:RemoteGemsRepositoryContentSynchronisation"
                },
                "curated": {
                    "type": "boolean",
                    "description": "Enable repository to be protected by the Curation service.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                },
                "disableUrlNormalization": {
                    "type": "boolean",
                    "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                },
                "enableCookieManagement": {
                    "type": "boolean",
                    "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "hardFail": {
                    "type": "boolean",
                    "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                },
                "listRemoteFolderItems": {
                    "type": "boolean",
                    "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                },
                "localAddress": {
                    "type": "string",
                    "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                },
                "metadataRetrievalTimeoutSecs": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                },
                "mismatchingMimeTypesOverrideList": {
                    "type": "string",
                    "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                },
                "missedCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "offline": {
                    "type": "boolean",
                    "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                },
                "passThrough": {
                    "type": "boolean",
                    "description": "Enable Pass-through for Curation Audit. When enabled, allows artifacts to pass through the Curation audit process.\n"
                },
                "password": {
                    "type": "string",
                    "secret": true
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propagateQueryParams": {
                    "type": "boolean",
                    "description": "When set, if query params are included in the request to Artifactory, they will be passed on to the remote repository."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                },
                "queryParams": {
                    "type": "string",
                    "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                },
                "remoteRepoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "retrievalCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                },
                "retrieveSha256FromServer": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, Artifactory retrieves the SHA256 from the remote server if it is not cached in the remote repo."
                },
                "shareConfiguration": {
                    "type": "boolean",
                    "deprecationMessage": "No longer supported"
                },
                "socketTimeoutMillis": {
                    "type": "integer",
                    "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                },
                "storeArtifactsLocally": {
                    "type": "boolean",
                    "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                },
                "synchronizeProperties": {
                    "type": "boolean",
                    "description": "When set, remote artifacts are fetched along with their properties."
                },
                "unusedArtifactsCleanupPeriodHours": {
                    "type": "integer",
                    "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                },
                "url": {
                    "type": "string",
                    "description": "The remote repo URL.\n"
                },
                "username": {
                    "type": "string"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "allowAnyHostAuth",
                "archiveBrowsingEnabled",
                "assumedOfflinePeriodSecs",
                "blackedOut",
                "blockMismatchingMimeTypes",
                "bypassHeadRequests",
                "cdnRedirect",
                "clientTlsCertificate",
                "curated",
                "description",
                "disableProxy",
                "disableUrlNormalization",
                "downloadDirect",
                "enableCookieManagement",
                "excludesPattern",
                "hardFail",
                "includesPattern",
                "key",
                "listRemoteFolderItems",
                "localAddress",
                "metadataRetrievalTimeoutSecs",
                "mismatchingMimeTypesOverrideList",
                "missedCachePeriodSeconds",
                "notes",
                "offline",
                "passThrough",
                "priorityResolution",
                "projectEnvironments",
                "projectKey",
                "propagateQueryParams",
                "proxy",
                "queryParams",
                "remoteRepoLayoutRef",
                "repoLayoutRef",
                "retrievalCachePeriodSeconds",
                "retrieveSha256FromServer",
                "shareConfiguration",
                "socketTimeoutMillis",
                "storeArtifactsLocally",
                "synchronizeProperties",
                "unusedArtifactsCleanupPeriodHours",
                "url",
                "username",
                "xrayIndex"
            ],
            "inputProperties": {
                "allowAnyHostAuth": {
                    "type": "boolean",
                    "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                },
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "assumedOfflinePeriodSecs": {
                    "type": "integer",
                    "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                },
                "blockMismatchingMimeTypes": {
                    "type": "boolean",
                    "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                },
                "bypassHeadRequests": {
                    "type": "boolean",
                    "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "clientTlsCertificate": {
                    "type": "string",
                    "description": "Client TLS certificate name."
                },
                "contentSynchronisation": {
                    "$ref": "#/types/artifactory:index/RemoteGemsRepositoryContentSynchronisation:RemoteGemsRepositoryContentSynchronisation"
                },
                "curated": {
                    "type": "boolean",
                    "description": "Enable repository to be protected by the Curation service.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                },
                "disableUrlNormalization": {
                    "type": "boolean",
                    "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                },
                "enableCookieManagement": {
                    "type": "boolean",
                    "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "hardFail": {
                    "type": "boolean",
                    "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                },
                "listRemoteFolderItems": {
                    "type": "boolean",
                    "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                },
                "localAddress": {
                    "type": "string",
                    "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                },
                "metadataRetrievalTimeoutSecs": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                },
                "mismatchingMimeTypesOverrideList": {
                    "type": "string",
                    "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                },
                "missedCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "offline": {
                    "type": "boolean",
                    "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                },
                "passThrough": {
                    "type": "boolean",
                    "description": "Enable Pass-through for Curation Audit. When enabled, allows artifacts to pass through the Curation audit process.\n"
                },
                "password": {
                    "type": "string",
                    "secret": true
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propagateQueryParams": {
                    "type": "boolean",
                    "description": "When set, if query params are included in the request to Artifactory, they will be passed on to the remote repository."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                },
                "queryParams": {
                    "type": "string",
                    "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                },
                "remoteRepoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "retrievalCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                },
                "retrieveSha256FromServer": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, Artifactory retrieves the SHA256 from the remote server if it is not cached in the remote repo."
                },
                "shareConfiguration": {
                    "type": "boolean",
                    "deprecationMessage": "No longer supported"
                },
                "socketTimeoutMillis": {
                    "type": "integer",
                    "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                },
                "storeArtifactsLocally": {
                    "type": "boolean",
                    "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                },
                "synchronizeProperties": {
                    "type": "boolean",
                    "description": "When set, remote artifacts are fetched along with their properties."
                },
                "unusedArtifactsCleanupPeriodHours": {
                    "type": "integer",
                    "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                },
                "url": {
                    "type": "string",
                    "description": "The remote repo URL.\n"
                },
                "username": {
                    "type": "string"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key",
                "url"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering RemoteGemsRepository resources.\n",
                "properties": {
                    "allowAnyHostAuth": {
                        "type": "boolean",
                        "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                    },
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "assumedOfflinePeriodSecs": {
                        "type": "integer",
                        "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                    },
                    "blockMismatchingMimeTypes": {
                        "type": "boolean",
                        "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                    },
                    "bypassHeadRequests": {
                        "type": "boolean",
                        "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "clientTlsCertificate": {
                        "type": "string",
                        "description": "Client TLS certificate name."
                    },
                    "contentSynchronisation": {
                        "$ref": "#/types/artifactory:index/RemoteGemsRepositoryContentSynchronisation:RemoteGemsRepositoryContentSynchronisation"
                    },
                    "curated": {
                        "type": "boolean",
                        "description": "Enable repository to be protected by the Curation service.\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "disableProxy": {
                        "type": "boolean",
                        "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                    },
                    "disableUrlNormalization": {
                        "type": "boolean",
                        "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                    },
                    "enableCookieManagement": {
                        "type": "boolean",
                        "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "hardFail": {
                        "type": "boolean",
                        "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                    },
                    "listRemoteFolderItems": {
                        "type": "boolean",
                        "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                    },
                    "localAddress": {
                        "type": "string",
                        "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                    },
                    "metadataRetrievalTimeoutSecs": {
                        "type": "integer",
                        "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                    },
                    "mismatchingMimeTypesOverrideList": {
                        "type": "string",
                        "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                    },
                    "missedCachePeriodSeconds": {
                        "type": "integer",
                        "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "offline": {
                        "type": "boolean",
                        "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                    },
                    "passThrough": {
                        "type": "boolean",
                        "description": "Enable Pass-through for Curation Audit. When enabled, allows artifacts to pass through the Curation audit process.\n"
                    },
                    "password": {
                        "type": "string",
                        "secret": true
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propagateQueryParams": {
                        "type": "boolean",
                        "description": "When set, if query params are included in the request to Artifactory, they will be passed on to the remote repository."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "proxy": {
                        "type": "string",
                        "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                    },
                    "queryParams": {
                        "type": "string",
                        "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                    },
                    "remoteRepoLayoutRef": {
                        "type": "string",
                        "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                    },
                    "retrievalCachePeriodSeconds": {
                        "type": "integer",
                        "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                    },
                    "retrieveSha256FromServer": {
                        "type": "boolean",
                        "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, Artifactory retrieves the SHA256 from the remote server if it is not cached in the remote repo."
                    },
                    "shareConfiguration": {
                        "type": "boolean",
                        "deprecationMessage": "No longer supported"
                    },
                    "socketTimeoutMillis": {
                        "type": "integer",
                        "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                    },
                    "storeArtifactsLocally": {
                        "type": "boolean",
                        "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                    },
                    "synchronizeProperties": {
                        "type": "boolean",
                        "description": "When set, remote artifacts are fetched along with their properties."
                    },
                    "unusedArtifactsCleanupPeriodHours": {
                        "type": "integer",
                        "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                    },
                    "url": {
                        "type": "string",
                        "description": "The remote repo URL.\n"
                    },
                    "username": {
                        "type": "string"
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/remoteGenericRepository:RemoteGenericRepository": {
            "description": "Creates a remote Generic repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst my_remote_generic = new artifactory.RemoteGenericRepository(\"my-remote-generic\", {\n    key: \"my-remote-generic\",\n    url: \"http://testartifactory.io/artifactory/example-generic/\",\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nmy_remote_generic = artifactory.RemoteGenericRepository(\"my-remote-generic\",\n    key=\"my-remote-generic\",\n    url=\"http://testartifactory.io/artifactory/example-generic/\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var my_remote_generic = new Artifactory.RemoteGenericRepository(\"my-remote-generic\", new()\n    {\n        Key = \"my-remote-generic\",\n        Url = \"http://testartifactory.io/artifactory/example-generic/\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewRemoteGenericRepository(ctx, \"my-remote-generic\", \u0026artifactory.RemoteGenericRepositoryArgs{\n\t\t\tKey: pulumi.String(\"my-remote-generic\"),\n\t\t\tUrl: pulumi.String(\"http://testartifactory.io/artifactory/example-generic/\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_remotegenericrepository\" \"my-remote-generic\" {\n  key = \"my-remote-generic\"\n  url = \"http://testartifactory.io/artifactory/example-generic/\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.RemoteGenericRepository;\nimport com.pulumi.artifactory.RemoteGenericRepositoryArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 my_remote_generic = new RemoteGenericRepository(\"my-remote-generic\", RemoteGenericRepositoryArgs.builder()\n            .key(\"my-remote-generic\")\n            .url(\"http://testartifactory.io/artifactory/example-generic/\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  my-remote-generic:\n    type: artifactory:RemoteGenericRepository\n    properties:\n      key: my-remote-generic\n      url: http://testartifactory.io/artifactory/example-generic/\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Custom HTTP headers\n\nUse \u003cspan pulumi-lang-nodejs=\"`customHttpHeaders`\" pulumi-lang-dotnet=\"`CustomHttpHeaders`\" pulumi-lang-go=\"`customHttpHeaders`\" pulumi-lang-python=\"`custom_http_headers`\" pulumi-lang-yaml=\"`customHttpHeaders`\" pulumi-lang-java=\"`customHttpHeaders`\" pulumi-lang-hcl=\"`custom_http_headers`\"\u003e`customHttpHeaders`\u003c/span\u003e to send up to 5 static headers on every outbound request to the remote URL. A common use case is authenticating to Azure Blob Storage or packagecloud.io.\n\nEach header has a \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\" pulumi-lang-hcl=\"`name`\"\u003e`name`\u003c/span\u003e, a \u003cspan pulumi-lang-nodejs=\"`value`\" pulumi-lang-dotnet=\"`Value`\" pulumi-lang-go=\"`value`\" pulumi-lang-python=\"`value`\" pulumi-lang-yaml=\"`value`\" pulumi-lang-java=\"`value`\" pulumi-lang-hcl=\"`value`\"\u003e`value`\u003c/span\u003e (masked in plan output), and an optional \u003cspan pulumi-lang-nodejs=\"`sensitive`\" pulumi-lang-dotnet=\"`Sensitive`\" pulumi-lang-go=\"`sensitive`\" pulumi-lang-python=\"`sensitive`\" pulumi-lang-yaml=\"`sensitive`\" pulumi-lang-java=\"`sensitive`\" pulumi-lang-hcl=\"`sensitive`\"\u003e`sensitive`\u003c/span\u003e flag. When `sensitive = true`, Artifactory encrypts the value server-side. The default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e (plaintext). Header values are never read back from Artifactory — the value you configure is preserved in state.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst azure_blob = new artifactory.RemoteGenericRepository(\"azure-blob\", {\n    key: \"azure-blob-generic\",\n    url: \"https://example.blob.core.windows.net/container/\",\n    customHttpHeaders: [\n        {\n            name: \"x-ms-version\",\n            value: \"2021-12-02\",\n        },\n        {\n            name: \"x-api-key\",\n            value: \"my-secret-token\",\n            sensitive: true,\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nazure_blob = artifactory.RemoteGenericRepository(\"azure-blob\",\n    key=\"azure-blob-generic\",\n    url=\"https://example.blob.core.windows.net/container/\",\n    custom_http_headers=[\n        {\n            \"name\": \"x-ms-version\",\n            \"value\": \"2021-12-02\",\n        },\n        {\n            \"name\": \"x-api-key\",\n            \"value\": \"my-secret-token\",\n            \"sensitive\": True,\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var azure_blob = new Artifactory.RemoteGenericRepository(\"azure-blob\", new()\n    {\n        Key = \"azure-blob-generic\",\n        Url = \"https://example.blob.core.windows.net/container/\",\n        CustomHttpHeaders = new[]\n        {\n            new Artifactory.Inputs.RemoteGenericRepositoryCustomHttpHeaderArgs\n            {\n                Name = \"x-ms-version\",\n                Value = \"2021-12-02\",\n            },\n            new Artifactory.Inputs.RemoteGenericRepositoryCustomHttpHeaderArgs\n            {\n                Name = \"x-api-key\",\n                Value = \"my-secret-token\",\n                Sensitive = true,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewRemoteGenericRepository(ctx, \"azure-blob\", \u0026artifactory.RemoteGenericRepositoryArgs{\n\t\t\tKey: pulumi.String(\"azure-blob-generic\"),\n\t\t\tUrl: pulumi.String(\"https://example.blob.core.windows.net/container/\"),\n\t\t\tCustomHttpHeaders: artifactory.RemoteGenericRepositoryCustomHttpHeaderArray{\n\t\t\t\t\u0026artifactory.RemoteGenericRepositoryCustomHttpHeaderArgs{\n\t\t\t\t\tName:  pulumi.String(\"x-ms-version\"),\n\t\t\t\t\tValue: pulumi.String(\"2021-12-02\"),\n\t\t\t\t},\n\t\t\t\t\u0026artifactory.RemoteGenericRepositoryCustomHttpHeaderArgs{\n\t\t\t\t\tName:      pulumi.String(\"x-api-key\"),\n\t\t\t\t\tValue:     pulumi.String(\"my-secret-token\"),\n\t\t\t\t\tSensitive: pulumi.Bool(true),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_remotegenericrepository\" \"azure-blob\" {\n  key = \"azure-blob-generic\"\n  url = \"https://example.blob.core.windows.net/container/\"\n  custom_http_headers {\n    name  = \"x-ms-version\"\n    value = \"2021-12-02\"\n  }\n  custom_http_headers {\n    name      = \"x-api-key\"\n    value     = \"my-secret-token\"\n    sensitive = true\n  }\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.RemoteGenericRepository;\nimport com.pulumi.artifactory.RemoteGenericRepositoryArgs;\nimport com.pulumi.artifactory.inputs.RemoteGenericRepositoryCustomHttpHeaderArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 azure_blob = new RemoteGenericRepository(\"azure-blob\", RemoteGenericRepositoryArgs.builder()\n            .key(\"azure-blob-generic\")\n            .url(\"https://example.blob.core.windows.net/container/\")\n            .customHttpHeaders(            \n                RemoteGenericRepositoryCustomHttpHeaderArgs.builder()\n                    .name(\"x-ms-version\")\n                    .value(\"2021-12-02\")\n                    .build(),\n                RemoteGenericRepositoryCustomHttpHeaderArgs.builder()\n                    .name(\"x-api-key\")\n                    .value(\"my-secret-token\")\n                    .sensitive(true)\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  azure-blob:\n    type: artifactory:RemoteGenericRepository\n    properties:\n      key: azure-blob-generic\n      url: https://example.blob.core.windows.net/container/\n      customHttpHeaders:\n        - name: x-ms-version\n          value: 2021-12-02\n        - name: x-api-key\n          value: my-secret-token\n          sensitive: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRemote repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/remoteGenericRepository:RemoteGenericRepository my-remote-generic my-remote-generic\n```\n\nNote: \u003cspan pulumi-lang-nodejs=\"`customHttpHeaders`\" pulumi-lang-dotnet=\"`CustomHttpHeaders`\" pulumi-lang-go=\"`customHttpHeaders`\" pulumi-lang-python=\"`custom_http_headers`\" pulumi-lang-yaml=\"`customHttpHeaders`\" pulumi-lang-java=\"`customHttpHeaders`\" pulumi-lang-hcl=\"`custom_http_headers`\"\u003e`customHttpHeaders`\u003c/span\u003e values are not read back from Artifactory during import. After importing, run `pulumi up` to push your configured headers.\n\n",
            "properties": {
                "allowAnyHostAuth": {
                    "type": "boolean",
                    "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                },
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "assumedOfflinePeriodSecs": {
                    "type": "integer",
                    "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                },
                "blockMismatchingMimeTypes": {
                    "type": "boolean",
                    "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                },
                "bypassHeadRequests": {
                    "type": "boolean",
                    "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "clientTlsCertificate": {
                    "type": "string",
                    "description": "Client TLS certificate name."
                },
                "contentSynchronisation": {
                    "$ref": "#/types/artifactory:index/RemoteGenericRepositoryContentSynchronisation:RemoteGenericRepositoryContentSynchronisation"
                },
                "customHttpHeaders": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/RemoteGenericRepositoryCustomHttpHeader:RemoteGenericRepositoryCustomHttpHeader"
                    },
                    "description": "List of up to 5 custom HTTP headers sent on every outbound request to the remote URL. Each entry supports:\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description.\n"
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                },
                "disableUrlNormalization": {
                    "type": "boolean",
                    "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                },
                "enableCookieManagement": {
                    "type": "boolean",
                    "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "hardFail": {
                    "type": "boolean",
                    "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                },
                "listRemoteFolderItems": {
                    "type": "boolean",
                    "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                },
                "localAddress": {
                    "type": "string",
                    "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                },
                "metadataRetrievalTimeoutSecs": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                },
                "mismatchingMimeTypesOverrideList": {
                    "type": "string",
                    "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                },
                "missedCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description.\n"
                },
                "offline": {
                    "type": "boolean",
                    "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                },
                "password": {
                    "type": "string",
                    "secret": true
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propagateQueryParams": {
                    "type": "boolean",
                    "description": "When set, if query params are included in the request to Artifactory, they will be passed on to the remote repository.\n"
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                },
                "queryParams": {
                    "type": "string",
                    "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                },
                "remoteRepoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "retrievalCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                },
                "retrieveSha256FromServer": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, Artifactory retrieves the SHA256 from the remote server if it is not cached in the remote repo.\n"
                },
                "shareConfiguration": {
                    "type": "boolean",
                    "deprecationMessage": "No longer supported"
                },
                "socketTimeoutMillis": {
                    "type": "integer",
                    "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                },
                "storeArtifactsLocally": {
                    "type": "boolean",
                    "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                },
                "synchronizeProperties": {
                    "type": "boolean",
                    "description": "When set, remote artifacts are fetched along with their properties."
                },
                "unusedArtifactsCleanupPeriodHours": {
                    "type": "integer",
                    "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                },
                "url": {
                    "type": "string",
                    "description": "The remote repo URL.\n"
                },
                "username": {
                    "type": "string"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "allowAnyHostAuth",
                "archiveBrowsingEnabled",
                "assumedOfflinePeriodSecs",
                "blackedOut",
                "blockMismatchingMimeTypes",
                "bypassHeadRequests",
                "cdnRedirect",
                "clientTlsCertificate",
                "description",
                "disableProxy",
                "disableUrlNormalization",
                "downloadDirect",
                "enableCookieManagement",
                "excludesPattern",
                "hardFail",
                "includesPattern",
                "key",
                "listRemoteFolderItems",
                "localAddress",
                "metadataRetrievalTimeoutSecs",
                "mismatchingMimeTypesOverrideList",
                "missedCachePeriodSeconds",
                "notes",
                "offline",
                "priorityResolution",
                "projectEnvironments",
                "projectKey",
                "propagateQueryParams",
                "proxy",
                "queryParams",
                "remoteRepoLayoutRef",
                "repoLayoutRef",
                "retrievalCachePeriodSeconds",
                "retrieveSha256FromServer",
                "shareConfiguration",
                "socketTimeoutMillis",
                "storeArtifactsLocally",
                "synchronizeProperties",
                "unusedArtifactsCleanupPeriodHours",
                "url",
                "username",
                "xrayIndex"
            ],
            "inputProperties": {
                "allowAnyHostAuth": {
                    "type": "boolean",
                    "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                },
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "assumedOfflinePeriodSecs": {
                    "type": "integer",
                    "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                },
                "blockMismatchingMimeTypes": {
                    "type": "boolean",
                    "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                },
                "bypassHeadRequests": {
                    "type": "boolean",
                    "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "clientTlsCertificate": {
                    "type": "string",
                    "description": "Client TLS certificate name."
                },
                "contentSynchronisation": {
                    "$ref": "#/types/artifactory:index/RemoteGenericRepositoryContentSynchronisation:RemoteGenericRepositoryContentSynchronisation"
                },
                "customHttpHeaders": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/artifactory:index/RemoteGenericRepositoryCustomHttpHeader:RemoteGenericRepositoryCustomHttpHeader"
                    },
                    "description": "List of up to 5 custom HTTP headers sent on every outbound request to the remote URL. Each entry supports:\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description.\n"
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                },
                "disableUrlNormalization": {
                    "type": "boolean",
                    "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                },
                "enableCookieManagement": {
                    "type": "boolean",
                    "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "hardFail": {
                    "type": "boolean",
                    "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                },
                "listRemoteFolderItems": {
                    "type": "boolean",
                    "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                },
                "localAddress": {
                    "type": "string",
                    "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                },
                "metadataRetrievalTimeoutSecs": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                },
                "mismatchingMimeTypesOverrideList": {
                    "type": "string",
                    "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                },
                "missedCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description.\n"
                },
                "offline": {
                    "type": "boolean",
                    "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                },
                "password": {
                    "type": "string",
                    "secret": true
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propagateQueryParams": {
                    "type": "boolean",
                    "description": "When set, if query params are included in the request to Artifactory, they will be passed on to the remote repository.\n"
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                },
                "queryParams": {
                    "type": "string",
                    "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                },
                "remoteRepoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "retrievalCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                },
                "retrieveSha256FromServer": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, Artifactory retrieves the SHA256 from the remote server if it is not cached in the remote repo.\n"
                },
                "shareConfiguration": {
                    "type": "boolean",
                    "deprecationMessage": "No longer supported"
                },
                "socketTimeoutMillis": {
                    "type": "integer",
                    "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                },
                "storeArtifactsLocally": {
                    "type": "boolean",
                    "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                },
                "synchronizeProperties": {
                    "type": "boolean",
                    "description": "When set, remote artifacts are fetched along with their properties."
                },
                "unusedArtifactsCleanupPeriodHours": {
                    "type": "integer",
                    "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                },
                "url": {
                    "type": "string",
                    "description": "The remote repo URL.\n"
                },
                "username": {
                    "type": "string"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key",
                "url"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering RemoteGenericRepository resources.\n",
                "properties": {
                    "allowAnyHostAuth": {
                        "type": "boolean",
                        "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                    },
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "assumedOfflinePeriodSecs": {
                        "type": "integer",
                        "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                    },
                    "blockMismatchingMimeTypes": {
                        "type": "boolean",
                        "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                    },
                    "bypassHeadRequests": {
                        "type": "boolean",
                        "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "clientTlsCertificate": {
                        "type": "string",
                        "description": "Client TLS certificate name."
                    },
                    "contentSynchronisation": {
                        "$ref": "#/types/artifactory:index/RemoteGenericRepositoryContentSynchronisation:RemoteGenericRepositoryContentSynchronisation"
                    },
                    "customHttpHeaders": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/artifactory:index/RemoteGenericRepositoryCustomHttpHeader:RemoteGenericRepositoryCustomHttpHeader"
                        },
                        "description": "List of up to 5 custom HTTP headers sent on every outbound request to the remote URL. Each entry supports:\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description.\n"
                    },
                    "disableProxy": {
                        "type": "boolean",
                        "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                    },
                    "disableUrlNormalization": {
                        "type": "boolean",
                        "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                    },
                    "enableCookieManagement": {
                        "type": "boolean",
                        "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "hardFail": {
                        "type": "boolean",
                        "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                    },
                    "listRemoteFolderItems": {
                        "type": "boolean",
                        "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                    },
                    "localAddress": {
                        "type": "string",
                        "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                    },
                    "metadataRetrievalTimeoutSecs": {
                        "type": "integer",
                        "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                    },
                    "mismatchingMimeTypesOverrideList": {
                        "type": "string",
                        "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                    },
                    "missedCachePeriodSeconds": {
                        "type": "integer",
                        "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description.\n"
                    },
                    "offline": {
                        "type": "boolean",
                        "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                    },
                    "password": {
                        "type": "string",
                        "secret": true
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propagateQueryParams": {
                        "type": "boolean",
                        "description": "When set, if query params are included in the request to Artifactory, they will be passed on to the remote repository.\n"
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "proxy": {
                        "type": "string",
                        "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                    },
                    "queryParams": {
                        "type": "string",
                        "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                    },
                    "remoteRepoLayoutRef": {
                        "type": "string",
                        "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                    },
                    "retrievalCachePeriodSeconds": {
                        "type": "integer",
                        "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                    },
                    "retrieveSha256FromServer": {
                        "type": "boolean",
                        "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, Artifactory retrieves the SHA256 from the remote server if it is not cached in the remote repo.\n"
                    },
                    "shareConfiguration": {
                        "type": "boolean",
                        "deprecationMessage": "No longer supported"
                    },
                    "socketTimeoutMillis": {
                        "type": "integer",
                        "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                    },
                    "storeArtifactsLocally": {
                        "type": "boolean",
                        "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                    },
                    "synchronizeProperties": {
                        "type": "boolean",
                        "description": "When set, remote artifacts are fetched along with their properties."
                    },
                    "unusedArtifactsCleanupPeriodHours": {
                        "type": "integer",
                        "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                    },
                    "url": {
                        "type": "string",
                        "description": "The remote repo URL.\n"
                    },
                    "username": {
                        "type": "string"
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/remoteGitlfsRepository:RemoteGitlfsRepository": {
            "description": "Creates a remote Gitlfs repository.\nOfficial documentation can be found [here](https://www.jfrog.com/confluence/display/JFROG/Git+LFS+Repositories).\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst my_remote_gitlfs = new artifactory.RemoteGitlfsRepository(\"my-remote-gitlfs\", {\n    key: \"my-remote-gitlfs\",\n    url: \"http://testartifactory.io/artifactory/example-gitlfs/\",\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nmy_remote_gitlfs = artifactory.RemoteGitlfsRepository(\"my-remote-gitlfs\",\n    key=\"my-remote-gitlfs\",\n    url=\"http://testartifactory.io/artifactory/example-gitlfs/\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var my_remote_gitlfs = new Artifactory.RemoteGitlfsRepository(\"my-remote-gitlfs\", new()\n    {\n        Key = \"my-remote-gitlfs\",\n        Url = \"http://testartifactory.io/artifactory/example-gitlfs/\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewRemoteGitlfsRepository(ctx, \"my-remote-gitlfs\", \u0026artifactory.RemoteGitlfsRepositoryArgs{\n\t\t\tKey: pulumi.String(\"my-remote-gitlfs\"),\n\t\t\tUrl: pulumi.String(\"http://testartifactory.io/artifactory/example-gitlfs/\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_remotegitlfsrepository\" \"my-remote-gitlfs\" {\n  key = \"my-remote-gitlfs\"\n  url = \"http://testartifactory.io/artifactory/example-gitlfs/\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.RemoteGitlfsRepository;\nimport com.pulumi.artifactory.RemoteGitlfsRepositoryArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 my_remote_gitlfs = new RemoteGitlfsRepository(\"my-remote-gitlfs\", RemoteGitlfsRepositoryArgs.builder()\n            .key(\"my-remote-gitlfs\")\n            .url(\"http://testartifactory.io/artifactory/example-gitlfs/\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  my-remote-gitlfs:\n    type: artifactory:RemoteGitlfsRepository\n    properties:\n      key: my-remote-gitlfs\n      url: http://testartifactory.io/artifactory/example-gitlfs/\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRemote repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/remoteGitlfsRepository:RemoteGitlfsRepository my-remote-gitlfs my-remote-gitlfs\n```\n\n",
            "properties": {
                "allowAnyHostAuth": {
                    "type": "boolean",
                    "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                },
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "assumedOfflinePeriodSecs": {
                    "type": "integer",
                    "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                },
                "blockMismatchingMimeTypes": {
                    "type": "boolean",
                    "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                },
                "bypassHeadRequests": {
                    "type": "boolean",
                    "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "clientTlsCertificate": {
                    "type": "string",
                    "description": "Client TLS certificate name."
                },
                "contentSynchronisation": {
                    "$ref": "#/types/artifactory:index/RemoteGitlfsRepositoryContentSynchronisation:RemoteGitlfsRepositoryContentSynchronisation"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                },
                "disableUrlNormalization": {
                    "type": "boolean",
                    "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                },
                "enableCookieManagement": {
                    "type": "boolean",
                    "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "hardFail": {
                    "type": "boolean",
                    "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                },
                "listRemoteFolderItems": {
                    "type": "boolean",
                    "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                },
                "localAddress": {
                    "type": "string",
                    "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                },
                "metadataRetrievalTimeoutSecs": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                },
                "mismatchingMimeTypesOverrideList": {
                    "type": "string",
                    "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                },
                "missedCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "offline": {
                    "type": "boolean",
                    "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                },
                "password": {
                    "type": "string",
                    "secret": true
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                },
                "queryParams": {
                    "type": "string",
                    "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                },
                "remoteRepoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "retrievalCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                },
                "shareConfiguration": {
                    "type": "boolean",
                    "deprecationMessage": "No longer supported"
                },
                "socketTimeoutMillis": {
                    "type": "integer",
                    "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                },
                "storeArtifactsLocally": {
                    "type": "boolean",
                    "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                },
                "synchronizeProperties": {
                    "type": "boolean",
                    "description": "When set, remote artifacts are fetched along with their properties."
                },
                "unusedArtifactsCleanupPeriodHours": {
                    "type": "integer",
                    "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                },
                "url": {
                    "type": "string",
                    "description": "The remote repo URL.\n"
                },
                "username": {
                    "type": "string"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "allowAnyHostAuth",
                "archiveBrowsingEnabled",
                "assumedOfflinePeriodSecs",
                "blackedOut",
                "blockMismatchingMimeTypes",
                "bypassHeadRequests",
                "cdnRedirect",
                "clientTlsCertificate",
                "description",
                "disableProxy",
                "disableUrlNormalization",
                "downloadDirect",
                "enableCookieManagement",
                "excludesPattern",
                "hardFail",
                "includesPattern",
                "key",
                "listRemoteFolderItems",
                "localAddress",
                "metadataRetrievalTimeoutSecs",
                "mismatchingMimeTypesOverrideList",
                "missedCachePeriodSeconds",
                "notes",
                "offline",
                "priorityResolution",
                "projectEnvironments",
                "projectKey",
                "proxy",
                "queryParams",
                "remoteRepoLayoutRef",
                "repoLayoutRef",
                "retrievalCachePeriodSeconds",
                "shareConfiguration",
                "socketTimeoutMillis",
                "storeArtifactsLocally",
                "synchronizeProperties",
                "unusedArtifactsCleanupPeriodHours",
                "url",
                "username",
                "xrayIndex"
            ],
            "inputProperties": {
                "allowAnyHostAuth": {
                    "type": "boolean",
                    "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                },
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "assumedOfflinePeriodSecs": {
                    "type": "integer",
                    "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                },
                "blockMismatchingMimeTypes": {
                    "type": "boolean",
                    "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                },
                "bypassHeadRequests": {
                    "type": "boolean",
                    "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "clientTlsCertificate": {
                    "type": "string",
                    "description": "Client TLS certificate name."
                },
                "contentSynchronisation": {
                    "$ref": "#/types/artifactory:index/RemoteGitlfsRepositoryContentSynchronisation:RemoteGitlfsRepositoryContentSynchronisation"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                },
                "disableUrlNormalization": {
                    "type": "boolean",
                    "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                },
                "enableCookieManagement": {
                    "type": "boolean",
                    "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "hardFail": {
                    "type": "boolean",
                    "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                },
                "listRemoteFolderItems": {
                    "type": "boolean",
                    "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                },
                "localAddress": {
                    "type": "string",
                    "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                },
                "metadataRetrievalTimeoutSecs": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                },
                "mismatchingMimeTypesOverrideList": {
                    "type": "string",
                    "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                },
                "missedCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "offline": {
                    "type": "boolean",
                    "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                },
                "password": {
                    "type": "string",
                    "secret": true
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                },
                "queryParams": {
                    "type": "string",
                    "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                },
                "remoteRepoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "retrievalCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                },
                "shareConfiguration": {
                    "type": "boolean",
                    "deprecationMessage": "No longer supported"
                },
                "socketTimeoutMillis": {
                    "type": "integer",
                    "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                },
                "storeArtifactsLocally": {
                    "type": "boolean",
                    "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                },
                "synchronizeProperties": {
                    "type": "boolean",
                    "description": "When set, remote artifacts are fetched along with their properties."
                },
                "unusedArtifactsCleanupPeriodHours": {
                    "type": "integer",
                    "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                },
                "url": {
                    "type": "string",
                    "description": "The remote repo URL.\n"
                },
                "username": {
                    "type": "string"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key",
                "url"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering RemoteGitlfsRepository resources.\n",
                "properties": {
                    "allowAnyHostAuth": {
                        "type": "boolean",
                        "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                    },
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "assumedOfflinePeriodSecs": {
                        "type": "integer",
                        "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                    },
                    "blockMismatchingMimeTypes": {
                        "type": "boolean",
                        "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                    },
                    "bypassHeadRequests": {
                        "type": "boolean",
                        "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "clientTlsCertificate": {
                        "type": "string",
                        "description": "Client TLS certificate name."
                    },
                    "contentSynchronisation": {
                        "$ref": "#/types/artifactory:index/RemoteGitlfsRepositoryContentSynchronisation:RemoteGitlfsRepositoryContentSynchronisation"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "disableProxy": {
                        "type": "boolean",
                        "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                    },
                    "disableUrlNormalization": {
                        "type": "boolean",
                        "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                    },
                    "enableCookieManagement": {
                        "type": "boolean",
                        "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "hardFail": {
                        "type": "boolean",
                        "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                    },
                    "listRemoteFolderItems": {
                        "type": "boolean",
                        "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                    },
                    "localAddress": {
                        "type": "string",
                        "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                    },
                    "metadataRetrievalTimeoutSecs": {
                        "type": "integer",
                        "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                    },
                    "mismatchingMimeTypesOverrideList": {
                        "type": "string",
                        "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                    },
                    "missedCachePeriodSeconds": {
                        "type": "integer",
                        "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "offline": {
                        "type": "boolean",
                        "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                    },
                    "password": {
                        "type": "string",
                        "secret": true
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "proxy": {
                        "type": "string",
                        "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                    },
                    "queryParams": {
                        "type": "string",
                        "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                    },
                    "remoteRepoLayoutRef": {
                        "type": "string",
                        "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                    },
                    "retrievalCachePeriodSeconds": {
                        "type": "integer",
                        "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                    },
                    "shareConfiguration": {
                        "type": "boolean",
                        "deprecationMessage": "No longer supported"
                    },
                    "socketTimeoutMillis": {
                        "type": "integer",
                        "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                    },
                    "storeArtifactsLocally": {
                        "type": "boolean",
                        "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                    },
                    "synchronizeProperties": {
                        "type": "boolean",
                        "description": "When set, remote artifacts are fetched along with their properties."
                    },
                    "unusedArtifactsCleanupPeriodHours": {
                        "type": "integer",
                        "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                    },
                    "url": {
                        "type": "string",
                        "description": "The remote repo URL.\n"
                    },
                    "username": {
                        "type": "string"
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/remoteGoRepository:RemoteGoRepository": {
            "description": "Creates a remote Go repository.\n\nOfficial documentation can be found [here](https://www.jfrog.com/confluence/display/JFROG/Go+Registry).\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst my_remote_go = new artifactory.RemoteGoRepository(\"my-remote-go\", {\n    key: \"my-remote-go\",\n    url: \"https://proxy.golang.org/\",\n    vcsGitProvider: \"ARTIFACTORY\",\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nmy_remote_go = artifactory.RemoteGoRepository(\"my-remote-go\",\n    key=\"my-remote-go\",\n    url=\"https://proxy.golang.org/\",\n    vcs_git_provider=\"ARTIFACTORY\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var my_remote_go = new Artifactory.RemoteGoRepository(\"my-remote-go\", new()\n    {\n        Key = \"my-remote-go\",\n        Url = \"https://proxy.golang.org/\",\n        VcsGitProvider = \"ARTIFACTORY\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewRemoteGoRepository(ctx, \"my-remote-go\", \u0026artifactory.RemoteGoRepositoryArgs{\n\t\t\tKey:            pulumi.String(\"my-remote-go\"),\n\t\t\tUrl:            pulumi.String(\"https://proxy.golang.org/\"),\n\t\t\tVcsGitProvider: pulumi.String(\"ARTIFACTORY\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_remotegorepository\" \"my-remote-go\" {\n  key              = \"my-remote-go\"\n  url              = \"https://proxy.golang.org/\"\n  vcs_git_provider = \"ARTIFACTORY\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.RemoteGoRepository;\nimport com.pulumi.artifactory.RemoteGoRepositoryArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 my_remote_go = new RemoteGoRepository(\"my-remote-go\", RemoteGoRepositoryArgs.builder()\n            .key(\"my-remote-go\")\n            .url(\"https://proxy.golang.org/\")\n            .vcsGitProvider(\"ARTIFACTORY\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  my-remote-go:\n    type: artifactory:RemoteGoRepository\n    properties:\n      key: my-remote-go\n      url: https://proxy.golang.org/\n      vcsGitProvider: ARTIFACTORY\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRemote repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/remoteGoRepository:RemoteGoRepository my-remote-go my-remote-go\n```\n\n",
            "properties": {
                "allowAnyHostAuth": {
                    "type": "boolean",
                    "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                },
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "assumedOfflinePeriodSecs": {
                    "type": "integer",
                    "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                },
                "blockMismatchingMimeTypes": {
                    "type": "boolean",
                    "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                },
                "bypassHeadRequests": {
                    "type": "boolean",
                    "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "clientTlsCertificate": {
                    "type": "string",
                    "description": "Client TLS certificate name."
                },
                "contentSynchronisation": {
                    "$ref": "#/types/artifactory:index/RemoteGoRepositoryContentSynchronisation:RemoteGoRepositoryContentSynchronisation"
                },
                "curated": {
                    "type": "boolean",
                    "description": "Enable repository to be protected by the Curation service.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                },
                "disableUrlNormalization": {
                    "type": "boolean",
                    "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                },
                "enableCookieManagement": {
                    "type": "boolean",
                    "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "hardFail": {
                    "type": "boolean",
                    "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                },
                "listRemoteFolderItems": {
                    "type": "boolean",
                    "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                },
                "localAddress": {
                    "type": "string",
                    "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                },
                "metadataRetrievalTimeoutSecs": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                },
                "mismatchingMimeTypesOverrideList": {
                    "type": "string",
                    "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                },
                "missedCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "offline": {
                    "type": "boolean",
                    "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                },
                "passThrough": {
                    "type": "boolean",
                    "description": "Enable Pass-through for Curation Audit. When enabled, allows artifacts to pass through the Curation audit process.\n"
                },
                "password": {
                    "type": "string",
                    "secret": true
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propagateQueryParams": {
                    "type": "boolean",
                    "description": "When set, if query params are included in the request to Artifactory, they will be passed on to the remote repository."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                },
                "queryParams": {
                    "type": "string",
                    "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                },
                "remoteRepoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "retrievalCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                },
                "retrieveSha256FromServer": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, Artifactory retrieves the SHA256 from the remote server if it is not cached in the remote repo."
                },
                "shareConfiguration": {
                    "type": "boolean",
                    "deprecationMessage": "No longer supported"
                },
                "socketTimeoutMillis": {
                    "type": "integer",
                    "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                },
                "storeArtifactsLocally": {
                    "type": "boolean",
                    "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                },
                "synchronizeProperties": {
                    "type": "boolean",
                    "description": "When set, remote artifacts are fetched along with their properties."
                },
                "unusedArtifactsCleanupPeriodHours": {
                    "type": "integer",
                    "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                },
                "url": {
                    "type": "string",
                    "description": "The remote repo URL.\n"
                },
                "username": {
                    "type": "string"
                },
                "vcsGitProvider": {
                    "type": "string",
                    "description": "Artifactory supports proxying the following Git providers out-of-the-box: GitHub (`GITHUB`), GitHub Enterprise (`GITHUBENTERPRISE`), BitBucket Cloud (`BITBUCKET`), BitBucket Server (`STASH`), GitLab (`GITLAB`), or a remote Artifactory instance (`ARTIFACTORY`). Default value is `ARTIFACTORY`.\n"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "allowAnyHostAuth",
                "archiveBrowsingEnabled",
                "assumedOfflinePeriodSecs",
                "blackedOut",
                "blockMismatchingMimeTypes",
                "bypassHeadRequests",
                "cdnRedirect",
                "clientTlsCertificate",
                "curated",
                "description",
                "disableProxy",
                "disableUrlNormalization",
                "downloadDirect",
                "enableCookieManagement",
                "excludesPattern",
                "hardFail",
                "includesPattern",
                "key",
                "listRemoteFolderItems",
                "localAddress",
                "metadataRetrievalTimeoutSecs",
                "mismatchingMimeTypesOverrideList",
                "missedCachePeriodSeconds",
                "notes",
                "offline",
                "passThrough",
                "priorityResolution",
                "projectEnvironments",
                "projectKey",
                "propagateQueryParams",
                "proxy",
                "queryParams",
                "remoteRepoLayoutRef",
                "repoLayoutRef",
                "retrievalCachePeriodSeconds",
                "retrieveSha256FromServer",
                "shareConfiguration",
                "socketTimeoutMillis",
                "storeArtifactsLocally",
                "synchronizeProperties",
                "unusedArtifactsCleanupPeriodHours",
                "url",
                "username",
                "vcsGitProvider",
                "xrayIndex"
            ],
            "inputProperties": {
                "allowAnyHostAuth": {
                    "type": "boolean",
                    "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                },
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "assumedOfflinePeriodSecs": {
                    "type": "integer",
                    "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                },
                "blockMismatchingMimeTypes": {
                    "type": "boolean",
                    "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                },
                "bypassHeadRequests": {
                    "type": "boolean",
                    "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "clientTlsCertificate": {
                    "type": "string",
                    "description": "Client TLS certificate name."
                },
                "contentSynchronisation": {
                    "$ref": "#/types/artifactory:index/RemoteGoRepositoryContentSynchronisation:RemoteGoRepositoryContentSynchronisation"
                },
                "curated": {
                    "type": "boolean",
                    "description": "Enable repository to be protected by the Curation service.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                },
                "disableUrlNormalization": {
                    "type": "boolean",
                    "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                },
                "enableCookieManagement": {
                    "type": "boolean",
                    "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "hardFail": {
                    "type": "boolean",
                    "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                },
                "listRemoteFolderItems": {
                    "type": "boolean",
                    "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                },
                "localAddress": {
                    "type": "string",
                    "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                },
                "metadataRetrievalTimeoutSecs": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                },
                "mismatchingMimeTypesOverrideList": {
                    "type": "string",
                    "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                },
                "missedCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "offline": {
                    "type": "boolean",
                    "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                },
                "passThrough": {
                    "type": "boolean",
                    "description": "Enable Pass-through for Curation Audit. When enabled, allows artifacts to pass through the Curation audit process.\n"
                },
                "password": {
                    "type": "string",
                    "secret": true
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propagateQueryParams": {
                    "type": "boolean",
                    "description": "When set, if query params are included in the request to Artifactory, they will be passed on to the remote repository."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                },
                "queryParams": {
                    "type": "string",
                    "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                },
                "remoteRepoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "retrievalCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                },
                "retrieveSha256FromServer": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, Artifactory retrieves the SHA256 from the remote server if it is not cached in the remote repo."
                },
                "shareConfiguration": {
                    "type": "boolean",
                    "deprecationMessage": "No longer supported"
                },
                "socketTimeoutMillis": {
                    "type": "integer",
                    "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                },
                "storeArtifactsLocally": {
                    "type": "boolean",
                    "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                },
                "synchronizeProperties": {
                    "type": "boolean",
                    "description": "When set, remote artifacts are fetched along with their properties."
                },
                "unusedArtifactsCleanupPeriodHours": {
                    "type": "integer",
                    "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                },
                "url": {
                    "type": "string",
                    "description": "The remote repo URL.\n"
                },
                "username": {
                    "type": "string"
                },
                "vcsGitProvider": {
                    "type": "string",
                    "description": "Artifactory supports proxying the following Git providers out-of-the-box: GitHub (`GITHUB`), GitHub Enterprise (`GITHUBENTERPRISE`), BitBucket Cloud (`BITBUCKET`), BitBucket Server (`STASH`), GitLab (`GITLAB`), or a remote Artifactory instance (`ARTIFACTORY`). Default value is `ARTIFACTORY`.\n"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key",
                "url"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering RemoteGoRepository resources.\n",
                "properties": {
                    "allowAnyHostAuth": {
                        "type": "boolean",
                        "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                    },
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "assumedOfflinePeriodSecs": {
                        "type": "integer",
                        "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                    },
                    "blockMismatchingMimeTypes": {
                        "type": "boolean",
                        "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                    },
                    "bypassHeadRequests": {
                        "type": "boolean",
                        "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "clientTlsCertificate": {
                        "type": "string",
                        "description": "Client TLS certificate name."
                    },
                    "contentSynchronisation": {
                        "$ref": "#/types/artifactory:index/RemoteGoRepositoryContentSynchronisation:RemoteGoRepositoryContentSynchronisation"
                    },
                    "curated": {
                        "type": "boolean",
                        "description": "Enable repository to be protected by the Curation service.\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "disableProxy": {
                        "type": "boolean",
                        "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                    },
                    "disableUrlNormalization": {
                        "type": "boolean",
                        "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                    },
                    "enableCookieManagement": {
                        "type": "boolean",
                        "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "hardFail": {
                        "type": "boolean",
                        "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                    },
                    "listRemoteFolderItems": {
                        "type": "boolean",
                        "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                    },
                    "localAddress": {
                        "type": "string",
                        "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                    },
                    "metadataRetrievalTimeoutSecs": {
                        "type": "integer",
                        "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                    },
                    "mismatchingMimeTypesOverrideList": {
                        "type": "string",
                        "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                    },
                    "missedCachePeriodSeconds": {
                        "type": "integer",
                        "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "offline": {
                        "type": "boolean",
                        "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                    },
                    "passThrough": {
                        "type": "boolean",
                        "description": "Enable Pass-through for Curation Audit. When enabled, allows artifacts to pass through the Curation audit process.\n"
                    },
                    "password": {
                        "type": "string",
                        "secret": true
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propagateQueryParams": {
                        "type": "boolean",
                        "description": "When set, if query params are included in the request to Artifactory, they will be passed on to the remote repository."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "proxy": {
                        "type": "string",
                        "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                    },
                    "queryParams": {
                        "type": "string",
                        "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                    },
                    "remoteRepoLayoutRef": {
                        "type": "string",
                        "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                    },
                    "retrievalCachePeriodSeconds": {
                        "type": "integer",
                        "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                    },
                    "retrieveSha256FromServer": {
                        "type": "boolean",
                        "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, Artifactory retrieves the SHA256 from the remote server if it is not cached in the remote repo."
                    },
                    "shareConfiguration": {
                        "type": "boolean",
                        "deprecationMessage": "No longer supported"
                    },
                    "socketTimeoutMillis": {
                        "type": "integer",
                        "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                    },
                    "storeArtifactsLocally": {
                        "type": "boolean",
                        "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                    },
                    "synchronizeProperties": {
                        "type": "boolean",
                        "description": "When set, remote artifacts are fetched along with their properties."
                    },
                    "unusedArtifactsCleanupPeriodHours": {
                        "type": "integer",
                        "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                    },
                    "url": {
                        "type": "string",
                        "description": "The remote repo URL.\n"
                    },
                    "username": {
                        "type": "string"
                    },
                    "vcsGitProvider": {
                        "type": "string",
                        "description": "Artifactory supports proxying the following Git providers out-of-the-box: GitHub (`GITHUB`), GitHub Enterprise (`GITHUBENTERPRISE`), BitBucket Cloud (`BITBUCKET`), BitBucket Server (`STASH`), GitLab (`GITLAB`), or a remote Artifactory instance (`ARTIFACTORY`). Default value is `ARTIFACTORY`.\n"
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/remoteGradleRepository:RemoteGradleRepository": {
            "description": "Creates a remote Gradle repository resource.\nOfficial documentation can be found [here](https://www.jfrog.com/confluence/display/JFROG/Remote+Repositories#RemoteRepositories-Maven,Gradle,IvyandSBTRepositories).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst gradle_remote = new artifactory.RemoteGradleRepository(\"gradle-remote\", {\n    key: \"gradle-remote-foo\",\n    url: \"https://repo1.maven.org/maven2/\",\n    fetchJarsEagerly: true,\n    fetchSourcesEagerly: false,\n    suppressPomConsistencyChecks: true,\n    rejectInvalidJars: true,\n    maxUniqueSnapshots: 10,\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\ngradle_remote = artifactory.RemoteGradleRepository(\"gradle-remote\",\n    key=\"gradle-remote-foo\",\n    url=\"https://repo1.maven.org/maven2/\",\n    fetch_jars_eagerly=True,\n    fetch_sources_eagerly=False,\n    suppress_pom_consistency_checks=True,\n    reject_invalid_jars=True,\n    max_unique_snapshots=10)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var gradle_remote = new Artifactory.RemoteGradleRepository(\"gradle-remote\", new()\n    {\n        Key = \"gradle-remote-foo\",\n        Url = \"https://repo1.maven.org/maven2/\",\n        FetchJarsEagerly = true,\n        FetchSourcesEagerly = false,\n        SuppressPomConsistencyChecks = true,\n        RejectInvalidJars = true,\n        MaxUniqueSnapshots = 10,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewRemoteGradleRepository(ctx, \"gradle-remote\", \u0026artifactory.RemoteGradleRepositoryArgs{\n\t\t\tKey:                          pulumi.String(\"gradle-remote-foo\"),\n\t\t\tUrl:                          pulumi.String(\"https://repo1.maven.org/maven2/\"),\n\t\t\tFetchJarsEagerly:             pulumi.Bool(true),\n\t\t\tFetchSourcesEagerly:          pulumi.Bool(false),\n\t\t\tSuppressPomConsistencyChecks: pulumi.Bool(true),\n\t\t\tRejectInvalidJars:            pulumi.Bool(true),\n\t\t\tMaxUniqueSnapshots:           pulumi.Int(10),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_remotegradlerepository\" \"gradle-remote\" {\n  key                             = \"gradle-remote-foo\"\n  url                             = \"https://repo1.maven.org/maven2/\"\n  fetch_jars_eagerly              = true\n  fetch_sources_eagerly           = false\n  suppress_pom_consistency_checks = true\n  reject_invalid_jars             = true\n  max_unique_snapshots            = 10\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.RemoteGradleRepository;\nimport com.pulumi.artifactory.RemoteGradleRepositoryArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 gradle_remote = new RemoteGradleRepository(\"gradle-remote\", RemoteGradleRepositoryArgs.builder()\n            .key(\"gradle-remote-foo\")\n            .url(\"https://repo1.maven.org/maven2/\")\n            .fetchJarsEagerly(true)\n            .fetchSourcesEagerly(false)\n            .suppressPomConsistencyChecks(true)\n            .rejectInvalidJars(true)\n            .maxUniqueSnapshots(10)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  gradle-remote:\n    type: artifactory:RemoteGradleRepository\n    properties:\n      key: gradle-remote-foo\n      url: https://repo1.maven.org/maven2/\n      fetchJarsEagerly: true\n      fetchSourcesEagerly: false\n      suppressPomConsistencyChecks: true\n      rejectInvalidJars: true\n      maxUniqueSnapshots: 10\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRemote repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/remoteGradleRepository:RemoteGradleRepository gradle-remote gradle-remote\n```\n\n",
            "properties": {
                "allowAnyHostAuth": {
                    "type": "boolean",
                    "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                },
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "assumedOfflinePeriodSecs": {
                    "type": "integer",
                    "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                },
                "blockMismatchingMimeTypes": {
                    "type": "boolean",
                    "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                },
                "bypassHeadRequests": {
                    "type": "boolean",
                    "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "clientTlsCertificate": {
                    "type": "string",
                    "description": "Client TLS certificate name."
                },
                "contentSynchronisation": {
                    "$ref": "#/types/artifactory:index/RemoteGradleRepositoryContentSynchronisation:RemoteGradleRepositoryContentSynchronisation"
                },
                "curated": {
                    "type": "boolean",
                    "description": "Enable repository to be protected by the Curation service.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                },
                "disableUrlNormalization": {
                    "type": "boolean",
                    "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                },
                "enableCookieManagement": {
                    "type": "boolean",
                    "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "fetchJarsEagerly": {
                    "type": "boolean",
                    "description": "When set, if a POM is requested, Artifactory attempts to fetch the corresponding jar in the background. This will accelerate first access time to the jar when it is subsequently requested.\n"
                },
                "fetchSourcesEagerly": {
                    "type": "boolean",
                    "description": "When set, if a binaries jar is requested, Artifactory attempts to fetch the corresponding source jar in the background. This will accelerate first access time to the source jar when it is subsequently requested.\n"
                },
                "handleReleases": {
                    "type": "boolean",
                    "description": "If set, Artifactory allows you to deploy release artifacts into this repository.\n"
                },
                "handleSnapshots": {
                    "type": "boolean",
                    "description": "If set, Artifactory allows you to deploy snapshot artifacts into this repository.\n"
                },
                "hardFail": {
                    "type": "boolean",
                    "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                },
                "listRemoteFolderItems": {
                    "type": "boolean",
                    "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                },
                "localAddress": {
                    "type": "string",
                    "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                },
                "maxUniqueSnapshots": {
                    "type": "integer",
                    "description": "The maximum number of unique snapshots of a single artifact to store. Once the number of snapshots exceeds this setting, older versions are removed. A value of 0 (default) indicates there is no limit, and unique snapshots are not cleaned up.\n"
                },
                "metadataRetrievalTimeoutSecs": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                },
                "mismatchingMimeTypesOverrideList": {
                    "type": "string",
                    "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                },
                "missedCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "offline": {
                    "type": "boolean",
                    "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                },
                "passThrough": {
                    "type": "boolean",
                    "description": "Enable Pass-through for Curation Audit. When enabled, allows artifacts to pass through the Curation audit process.\n"
                },
                "password": {
                    "type": "string",
                    "secret": true
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                },
                "queryParams": {
                    "type": "string",
                    "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                },
                "rejectInvalidJars": {
                    "type": "boolean",
                    "description": "Reject the caching of jar files that are found to be invalid. For example, pseudo jars retrieved behind a \"captive portal\".\n"
                },
                "remoteRepoChecksumPolicyType": {
                    "type": "string",
                    "description": "Checking the Checksum effectively verifies the integrity of a deployed resource. The Checksum Policy determines how the system behaves when a client checksum for a remote resource is missing or conflicts with the locally calculated checksum. Available policies are `generate-if-absent`, \u003cspan pulumi-lang-nodejs=\"`fail`\" pulumi-lang-dotnet=\"`Fail`\" pulumi-lang-go=\"`fail`\" pulumi-lang-python=\"`fail`\" pulumi-lang-yaml=\"`fail`\" pulumi-lang-java=\"`fail`\" pulumi-lang-hcl=\"`fail`\"\u003e`fail`\u003c/span\u003e, `ignore-and-generate`, and `pass-thru`.\n"
                },
                "remoteRepoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "retrievalCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                },
                "shareConfiguration": {
                    "type": "boolean",
                    "deprecationMessage": "No longer supported"
                },
                "socketTimeoutMillis": {
                    "type": "integer",
                    "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                },
                "storeArtifactsLocally": {
                    "type": "boolean",
                    "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                },
                "suppressPomConsistencyChecks": {
                    "type": "boolean",
                    "description": "By default, the system keeps your repositories healthy by refusing POMs with incorrect coordinates (path). If the groupId:artifactId:version information inside the POM does not match the deployed path, Artifactory rejects the deployment with a \"409 Conflict\" error. You can disable this behavior by setting this attribute to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                },
                "synchronizeProperties": {
                    "type": "boolean",
                    "description": "When set, remote artifacts are fetched along with their properties."
                },
                "unusedArtifactsCleanupPeriodHours": {
                    "type": "integer",
                    "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                },
                "url": {
                    "type": "string",
                    "description": "The remote repo URL.\n"
                },
                "username": {
                    "type": "string"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "allowAnyHostAuth",
                "archiveBrowsingEnabled",
                "assumedOfflinePeriodSecs",
                "blackedOut",
                "blockMismatchingMimeTypes",
                "bypassHeadRequests",
                "cdnRedirect",
                "clientTlsCertificate",
                "curated",
                "description",
                "disableProxy",
                "disableUrlNormalization",
                "downloadDirect",
                "enableCookieManagement",
                "excludesPattern",
                "fetchJarsEagerly",
                "fetchSourcesEagerly",
                "handleReleases",
                "handleSnapshots",
                "hardFail",
                "includesPattern",
                "key",
                "listRemoteFolderItems",
                "localAddress",
                "maxUniqueSnapshots",
                "metadataRetrievalTimeoutSecs",
                "mismatchingMimeTypesOverrideList",
                "missedCachePeriodSeconds",
                "notes",
                "offline",
                "passThrough",
                "priorityResolution",
                "projectEnvironments",
                "projectKey",
                "proxy",
                "queryParams",
                "rejectInvalidJars",
                "remoteRepoChecksumPolicyType",
                "remoteRepoLayoutRef",
                "repoLayoutRef",
                "retrievalCachePeriodSeconds",
                "shareConfiguration",
                "socketTimeoutMillis",
                "storeArtifactsLocally",
                "suppressPomConsistencyChecks",
                "synchronizeProperties",
                "unusedArtifactsCleanupPeriodHours",
                "url",
                "username",
                "xrayIndex"
            ],
            "inputProperties": {
                "allowAnyHostAuth": {
                    "type": "boolean",
                    "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                },
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "assumedOfflinePeriodSecs": {
                    "type": "integer",
                    "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                },
                "blockMismatchingMimeTypes": {
                    "type": "boolean",
                    "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                },
                "bypassHeadRequests": {
                    "type": "boolean",
                    "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "clientTlsCertificate": {
                    "type": "string",
                    "description": "Client TLS certificate name."
                },
                "contentSynchronisation": {
                    "$ref": "#/types/artifactory:index/RemoteGradleRepositoryContentSynchronisation:RemoteGradleRepositoryContentSynchronisation"
                },
                "curated": {
                    "type": "boolean",
                    "description": "Enable repository to be protected by the Curation service.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                },
                "disableUrlNormalization": {
                    "type": "boolean",
                    "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                },
                "enableCookieManagement": {
                    "type": "boolean",
                    "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "fetchJarsEagerly": {
                    "type": "boolean",
                    "description": "When set, if a POM is requested, Artifactory attempts to fetch the corresponding jar in the background. This will accelerate first access time to the jar when it is subsequently requested.\n"
                },
                "fetchSourcesEagerly": {
                    "type": "boolean",
                    "description": "When set, if a binaries jar is requested, Artifactory attempts to fetch the corresponding source jar in the background. This will accelerate first access time to the source jar when it is subsequently requested.\n"
                },
                "handleReleases": {
                    "type": "boolean",
                    "description": "If set, Artifactory allows you to deploy release artifacts into this repository.\n"
                },
                "handleSnapshots": {
                    "type": "boolean",
                    "description": "If set, Artifactory allows you to deploy snapshot artifacts into this repository.\n"
                },
                "hardFail": {
                    "type": "boolean",
                    "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                },
                "listRemoteFolderItems": {
                    "type": "boolean",
                    "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                },
                "localAddress": {
                    "type": "string",
                    "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                },
                "maxUniqueSnapshots": {
                    "type": "integer",
                    "description": "The maximum number of unique snapshots of a single artifact to store. Once the number of snapshots exceeds this setting, older versions are removed. A value of 0 (default) indicates there is no limit, and unique snapshots are not cleaned up.\n"
                },
                "metadataRetrievalTimeoutSecs": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                },
                "mismatchingMimeTypesOverrideList": {
                    "type": "string",
                    "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                },
                "missedCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "offline": {
                    "type": "boolean",
                    "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                },
                "passThrough": {
                    "type": "boolean",
                    "description": "Enable Pass-through for Curation Audit. When enabled, allows artifacts to pass through the Curation audit process.\n"
                },
                "password": {
                    "type": "string",
                    "secret": true
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                },
                "queryParams": {
                    "type": "string",
                    "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                },
                "rejectInvalidJars": {
                    "type": "boolean",
                    "description": "Reject the caching of jar files that are found to be invalid. For example, pseudo jars retrieved behind a \"captive portal\".\n"
                },
                "remoteRepoChecksumPolicyType": {
                    "type": "string",
                    "description": "Checking the Checksum effectively verifies the integrity of a deployed resource. The Checksum Policy determines how the system behaves when a client checksum for a remote resource is missing or conflicts with the locally calculated checksum. Available policies are `generate-if-absent`, \u003cspan pulumi-lang-nodejs=\"`fail`\" pulumi-lang-dotnet=\"`Fail`\" pulumi-lang-go=\"`fail`\" pulumi-lang-python=\"`fail`\" pulumi-lang-yaml=\"`fail`\" pulumi-lang-java=\"`fail`\" pulumi-lang-hcl=\"`fail`\"\u003e`fail`\u003c/span\u003e, `ignore-and-generate`, and `pass-thru`.\n"
                },
                "remoteRepoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "retrievalCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                },
                "shareConfiguration": {
                    "type": "boolean",
                    "deprecationMessage": "No longer supported"
                },
                "socketTimeoutMillis": {
                    "type": "integer",
                    "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                },
                "storeArtifactsLocally": {
                    "type": "boolean",
                    "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                },
                "suppressPomConsistencyChecks": {
                    "type": "boolean",
                    "description": "By default, the system keeps your repositories healthy by refusing POMs with incorrect coordinates (path). If the groupId:artifactId:version information inside the POM does not match the deployed path, Artifactory rejects the deployment with a \"409 Conflict\" error. You can disable this behavior by setting this attribute to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                },
                "synchronizeProperties": {
                    "type": "boolean",
                    "description": "When set, remote artifacts are fetched along with their properties."
                },
                "unusedArtifactsCleanupPeriodHours": {
                    "type": "integer",
                    "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                },
                "url": {
                    "type": "string",
                    "description": "The remote repo URL.\n"
                },
                "username": {
                    "type": "string"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key",
                "url"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering RemoteGradleRepository resources.\n",
                "properties": {
                    "allowAnyHostAuth": {
                        "type": "boolean",
                        "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                    },
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "assumedOfflinePeriodSecs": {
                        "type": "integer",
                        "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                    },
                    "blockMismatchingMimeTypes": {
                        "type": "boolean",
                        "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                    },
                    "bypassHeadRequests": {
                        "type": "boolean",
                        "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "clientTlsCertificate": {
                        "type": "string",
                        "description": "Client TLS certificate name."
                    },
                    "contentSynchronisation": {
                        "$ref": "#/types/artifactory:index/RemoteGradleRepositoryContentSynchronisation:RemoteGradleRepositoryContentSynchronisation"
                    },
                    "curated": {
                        "type": "boolean",
                        "description": "Enable repository to be protected by the Curation service.\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "disableProxy": {
                        "type": "boolean",
                        "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                    },
                    "disableUrlNormalization": {
                        "type": "boolean",
                        "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                    },
                    "enableCookieManagement": {
                        "type": "boolean",
                        "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "fetchJarsEagerly": {
                        "type": "boolean",
                        "description": "When set, if a POM is requested, Artifactory attempts to fetch the corresponding jar in the background. This will accelerate first access time to the jar when it is subsequently requested.\n"
                    },
                    "fetchSourcesEagerly": {
                        "type": "boolean",
                        "description": "When set, if a binaries jar is requested, Artifactory attempts to fetch the corresponding source jar in the background. This will accelerate first access time to the source jar when it is subsequently requested.\n"
                    },
                    "handleReleases": {
                        "type": "boolean",
                        "description": "If set, Artifactory allows you to deploy release artifacts into this repository.\n"
                    },
                    "handleSnapshots": {
                        "type": "boolean",
                        "description": "If set, Artifactory allows you to deploy snapshot artifacts into this repository.\n"
                    },
                    "hardFail": {
                        "type": "boolean",
                        "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                    },
                    "listRemoteFolderItems": {
                        "type": "boolean",
                        "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                    },
                    "localAddress": {
                        "type": "string",
                        "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                    },
                    "maxUniqueSnapshots": {
                        "type": "integer",
                        "description": "The maximum number of unique snapshots of a single artifact to store. Once the number of snapshots exceeds this setting, older versions are removed. A value of 0 (default) indicates there is no limit, and unique snapshots are not cleaned up.\n"
                    },
                    "metadataRetrievalTimeoutSecs": {
                        "type": "integer",
                        "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                    },
                    "mismatchingMimeTypesOverrideList": {
                        "type": "string",
                        "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                    },
                    "missedCachePeriodSeconds": {
                        "type": "integer",
                        "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "offline": {
                        "type": "boolean",
                        "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                    },
                    "passThrough": {
                        "type": "boolean",
                        "description": "Enable Pass-through for Curation Audit. When enabled, allows artifacts to pass through the Curation audit process.\n"
                    },
                    "password": {
                        "type": "string",
                        "secret": true
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "proxy": {
                        "type": "string",
                        "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                    },
                    "queryParams": {
                        "type": "string",
                        "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                    },
                    "rejectInvalidJars": {
                        "type": "boolean",
                        "description": "Reject the caching of jar files that are found to be invalid. For example, pseudo jars retrieved behind a \"captive portal\".\n"
                    },
                    "remoteRepoChecksumPolicyType": {
                        "type": "string",
                        "description": "Checking the Checksum effectively verifies the integrity of a deployed resource. The Checksum Policy determines how the system behaves when a client checksum for a remote resource is missing or conflicts with the locally calculated checksum. Available policies are `generate-if-absent`, \u003cspan pulumi-lang-nodejs=\"`fail`\" pulumi-lang-dotnet=\"`Fail`\" pulumi-lang-go=\"`fail`\" pulumi-lang-python=\"`fail`\" pulumi-lang-yaml=\"`fail`\" pulumi-lang-java=\"`fail`\" pulumi-lang-hcl=\"`fail`\"\u003e`fail`\u003c/span\u003e, `ignore-and-generate`, and `pass-thru`.\n"
                    },
                    "remoteRepoLayoutRef": {
                        "type": "string",
                        "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                    },
                    "retrievalCachePeriodSeconds": {
                        "type": "integer",
                        "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                    },
                    "shareConfiguration": {
                        "type": "boolean",
                        "deprecationMessage": "No longer supported"
                    },
                    "socketTimeoutMillis": {
                        "type": "integer",
                        "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                    },
                    "storeArtifactsLocally": {
                        "type": "boolean",
                        "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                    },
                    "suppressPomConsistencyChecks": {
                        "type": "boolean",
                        "description": "By default, the system keeps your repositories healthy by refusing POMs with incorrect coordinates (path). If the groupId:artifactId:version information inside the POM does not match the deployed path, Artifactory rejects the deployment with a \"409 Conflict\" error. You can disable this behavior by setting this attribute to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                    },
                    "synchronizeProperties": {
                        "type": "boolean",
                        "description": "When set, remote artifacts are fetched along with their properties."
                    },
                    "unusedArtifactsCleanupPeriodHours": {
                        "type": "integer",
                        "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                    },
                    "url": {
                        "type": "string",
                        "description": "The remote repo URL.\n"
                    },
                    "username": {
                        "type": "string"
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/remoteHelmRepository:RemoteHelmRepository": {
            "description": "Provides a remote Helm repository. \nOfficial documentation can be found [here](https://www.jfrog.com/confluence/display/JFROG/Kubernetes+Helm+Chart+Repositories).\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst helm_remote = new artifactory.RemoteHelmRepository(\"helm-remote\", {\n    key: \"helm-remote-foo25\",\n    url: \"https://repo.chartcenter.io/\",\n    helmChartsBaseUrl: \"https://foo.com\",\n    externalDependenciesEnabled: true,\n    externalDependenciesPatterns: [\"**github.com**\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nhelm_remote = artifactory.RemoteHelmRepository(\"helm-remote\",\n    key=\"helm-remote-foo25\",\n    url=\"https://repo.chartcenter.io/\",\n    helm_charts_base_url=\"https://foo.com\",\n    external_dependencies_enabled=True,\n    external_dependencies_patterns=[\"**github.com**\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var helm_remote = new Artifactory.RemoteHelmRepository(\"helm-remote\", new()\n    {\n        Key = \"helm-remote-foo25\",\n        Url = \"https://repo.chartcenter.io/\",\n        HelmChartsBaseUrl = \"https://foo.com\",\n        ExternalDependenciesEnabled = true,\n        ExternalDependenciesPatterns = new[]\n        {\n            \"**github.com**\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewRemoteHelmRepository(ctx, \"helm-remote\", \u0026artifactory.RemoteHelmRepositoryArgs{\n\t\t\tKey:                         pulumi.String(\"helm-remote-foo25\"),\n\t\t\tUrl:                         pulumi.String(\"https://repo.chartcenter.io/\"),\n\t\t\tHelmChartsBaseUrl:           pulumi.String(\"https://foo.com\"),\n\t\t\tExternalDependenciesEnabled: pulumi.Bool(true),\n\t\t\tExternalDependenciesPatterns: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"**github.com**\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_remotehelmrepository\" \"helm-remote\" {\n  key                            = \"helm-remote-foo25\"\n  url                            = \"https://repo.chartcenter.io/\"\n  helm_charts_base_url           = \"https://foo.com\"\n  external_dependencies_enabled  = true\n  external_dependencies_patterns = [\"**github.com**\"]\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.RemoteHelmRepository;\nimport com.pulumi.artifactory.RemoteHelmRepositoryArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 helm_remote = new RemoteHelmRepository(\"helm-remote\", RemoteHelmRepositoryArgs.builder()\n            .key(\"helm-remote-foo25\")\n            .url(\"https://repo.chartcenter.io/\")\n            .helmChartsBaseUrl(\"https://foo.com\")\n            .externalDependenciesEnabled(true)\n            .externalDependenciesPatterns(\"**github.com**\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  helm-remote:\n    type: artifactory:RemoteHelmRepository\n    properties:\n      key: helm-remote-foo25\n      url: https://repo.chartcenter.io/\n      helmChartsBaseUrl: https://foo.com\n      externalDependenciesEnabled: true\n      externalDependenciesPatterns:\n        - '**github.com**'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRemote repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/remoteHelmRepository:RemoteHelmRepository helm-remote helm-remote\n```\n\n",
            "properties": {
                "allowAnyHostAuth": {
                    "type": "boolean",
                    "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                },
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "assumedOfflinePeriodSecs": {
                    "type": "integer",
                    "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                },
                "blockMismatchingMimeTypes": {
                    "type": "boolean",
                    "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                },
                "bypassHeadRequests": {
                    "type": "boolean",
                    "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "clientTlsCertificate": {
                    "type": "string",
                    "description": "Client TLS certificate name."
                },
                "contentSynchronisation": {
                    "$ref": "#/types/artifactory:index/RemoteHelmRepositoryContentSynchronisation:RemoteHelmRepositoryContentSynchronisation"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                },
                "disableUrlNormalization": {
                    "type": "boolean",
                    "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                },
                "enableCookieManagement": {
                    "type": "boolean",
                    "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "externalDependenciesEnabled": {
                    "type": "boolean",
                    "description": "When set, external dependencies are rewritten. `External Dependency Rewrite` in the UI.\n"
                },
                "externalDependenciesPatterns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "An allow list of Ant-style path patterns that determine which remote VCS roots Artifactory will\nfollow to download remote modules from, when presented with 'go-import' meta tags in the remote repository response.\nBy default, this is set to `[**]` in the UI, which means that remote modules may be downloaded from any external VCS source.\nDue to SDKv2 limitations, we can't set the default value for the list.\nThis value `[**]` must be assigned to the attribute manually, if user don't specify any other non-default values.\nWe don't want to make this attribute required, but it must be set to avoid the state drift on update. Note: Artifactory assigns\n`[**]` on update if HCL doesn't have the attribute set or the list is empty.\n"
                },
                "hardFail": {
                    "type": "boolean",
                    "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                },
                "helmChartsBaseUrl": {
                    "type": "string",
                    "description": "Base URL for the translation of chart source URLs in the index.yaml of virtual repos. Artifactory will only translate URLs matching the index.yamls hostname or URLs starting with this base url. Support http/https/oci protocol scheme.\n"
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                },
                "listRemoteFolderItems": {
                    "type": "boolean",
                    "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                },
                "localAddress": {
                    "type": "string",
                    "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                },
                "metadataRetrievalTimeoutSecs": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                },
                "mismatchingMimeTypesOverrideList": {
                    "type": "string",
                    "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                },
                "missedCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "offline": {
                    "type": "boolean",
                    "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                },
                "password": {
                    "type": "string",
                    "secret": true
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                },
                "queryParams": {
                    "type": "string",
                    "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                },
                "remoteRepoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "retrievalCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                },
                "shareConfiguration": {
                    "type": "boolean",
                    "deprecationMessage": "No longer supported"
                },
                "socketTimeoutMillis": {
                    "type": "integer",
                    "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                },
                "storeArtifactsLocally": {
                    "type": "boolean",
                    "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                },
                "synchronizeProperties": {
                    "type": "boolean",
                    "description": "When set, remote artifacts are fetched along with their properties."
                },
                "unusedArtifactsCleanupPeriodHours": {
                    "type": "integer",
                    "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                },
                "url": {
                    "type": "string",
                    "description": "The remote repo URL.\n"
                },
                "username": {
                    "type": "string"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "allowAnyHostAuth",
                "archiveBrowsingEnabled",
                "assumedOfflinePeriodSecs",
                "blackedOut",
                "blockMismatchingMimeTypes",
                "bypassHeadRequests",
                "cdnRedirect",
                "clientTlsCertificate",
                "description",
                "disableProxy",
                "disableUrlNormalization",
                "downloadDirect",
                "enableCookieManagement",
                "excludesPattern",
                "externalDependenciesEnabled",
                "hardFail",
                "helmChartsBaseUrl",
                "includesPattern",
                "key",
                "listRemoteFolderItems",
                "localAddress",
                "metadataRetrievalTimeoutSecs",
                "mismatchingMimeTypesOverrideList",
                "missedCachePeriodSeconds",
                "notes",
                "offline",
                "priorityResolution",
                "projectEnvironments",
                "projectKey",
                "proxy",
                "queryParams",
                "remoteRepoLayoutRef",
                "repoLayoutRef",
                "retrievalCachePeriodSeconds",
                "shareConfiguration",
                "socketTimeoutMillis",
                "storeArtifactsLocally",
                "synchronizeProperties",
                "unusedArtifactsCleanupPeriodHours",
                "url",
                "username",
                "xrayIndex"
            ],
            "inputProperties": {
                "allowAnyHostAuth": {
                    "type": "boolean",
                    "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                },
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "assumedOfflinePeriodSecs": {
                    "type": "integer",
                    "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                },
                "blockMismatchingMimeTypes": {
                    "type": "boolean",
                    "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                },
                "bypassHeadRequests": {
                    "type": "boolean",
                    "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "clientTlsCertificate": {
                    "type": "string",
                    "description": "Client TLS certificate name."
                },
                "contentSynchronisation": {
                    "$ref": "#/types/artifactory:index/RemoteHelmRepositoryContentSynchronisation:RemoteHelmRepositoryContentSynchronisation"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                },
                "disableUrlNormalization": {
                    "type": "boolean",
                    "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                },
                "enableCookieManagement": {
                    "type": "boolean",
                    "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "externalDependenciesEnabled": {
                    "type": "boolean",
                    "description": "When set, external dependencies are rewritten. `External Dependency Rewrite` in the UI.\n"
                },
                "externalDependenciesPatterns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "An allow list of Ant-style path patterns that determine which remote VCS roots Artifactory will\nfollow to download remote modules from, when presented with 'go-import' meta tags in the remote repository response.\nBy default, this is set to `[**]` in the UI, which means that remote modules may be downloaded from any external VCS source.\nDue to SDKv2 limitations, we can't set the default value for the list.\nThis value `[**]` must be assigned to the attribute manually, if user don't specify any other non-default values.\nWe don't want to make this attribute required, but it must be set to avoid the state drift on update. Note: Artifactory assigns\n`[**]` on update if HCL doesn't have the attribute set or the list is empty.\n"
                },
                "hardFail": {
                    "type": "boolean",
                    "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                },
                "helmChartsBaseUrl": {
                    "type": "string",
                    "description": "Base URL for the translation of chart source URLs in the index.yaml of virtual repos. Artifactory will only translate URLs matching the index.yamls hostname or URLs starting with this base url. Support http/https/oci protocol scheme.\n"
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                },
                "listRemoteFolderItems": {
                    "type": "boolean",
                    "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                },
                "localAddress": {
                    "type": "string",
                    "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                },
                "metadataRetrievalTimeoutSecs": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                },
                "mismatchingMimeTypesOverrideList": {
                    "type": "string",
                    "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                },
                "missedCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "offline": {
                    "type": "boolean",
                    "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                },
                "password": {
                    "type": "string",
                    "secret": true
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                },
                "queryParams": {
                    "type": "string",
                    "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                },
                "remoteRepoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "retrievalCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                },
                "shareConfiguration": {
                    "type": "boolean",
                    "deprecationMessage": "No longer supported"
                },
                "socketTimeoutMillis": {
                    "type": "integer",
                    "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                },
                "storeArtifactsLocally": {
                    "type": "boolean",
                    "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                },
                "synchronizeProperties": {
                    "type": "boolean",
                    "description": "When set, remote artifacts are fetched along with their properties."
                },
                "unusedArtifactsCleanupPeriodHours": {
                    "type": "integer",
                    "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                },
                "url": {
                    "type": "string",
                    "description": "The remote repo URL.\n"
                },
                "username": {
                    "type": "string"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key",
                "url"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering RemoteHelmRepository resources.\n",
                "properties": {
                    "allowAnyHostAuth": {
                        "type": "boolean",
                        "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                    },
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "assumedOfflinePeriodSecs": {
                        "type": "integer",
                        "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                    },
                    "blockMismatchingMimeTypes": {
                        "type": "boolean",
                        "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                    },
                    "bypassHeadRequests": {
                        "type": "boolean",
                        "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "clientTlsCertificate": {
                        "type": "string",
                        "description": "Client TLS certificate name."
                    },
                    "contentSynchronisation": {
                        "$ref": "#/types/artifactory:index/RemoteHelmRepositoryContentSynchronisation:RemoteHelmRepositoryContentSynchronisation"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "disableProxy": {
                        "type": "boolean",
                        "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                    },
                    "disableUrlNormalization": {
                        "type": "boolean",
                        "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                    },
                    "enableCookieManagement": {
                        "type": "boolean",
                        "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "externalDependenciesEnabled": {
                        "type": "boolean",
                        "description": "When set, external dependencies are rewritten. `External Dependency Rewrite` in the UI.\n"
                    },
                    "externalDependenciesPatterns": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "An allow list of Ant-style path patterns that determine which remote VCS roots Artifactory will\nfollow to download remote modules from, when presented with 'go-import' meta tags in the remote repository response.\nBy default, this is set to `[**]` in the UI, which means that remote modules may be downloaded from any external VCS source.\nDue to SDKv2 limitations, we can't set the default value for the list.\nThis value `[**]` must be assigned to the attribute manually, if user don't specify any other non-default values.\nWe don't want to make this attribute required, but it must be set to avoid the state drift on update. Note: Artifactory assigns\n`[**]` on update if HCL doesn't have the attribute set or the list is empty.\n"
                    },
                    "hardFail": {
                        "type": "boolean",
                        "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                    },
                    "helmChartsBaseUrl": {
                        "type": "string",
                        "description": "Base URL for the translation of chart source URLs in the index.yaml of virtual repos. Artifactory will only translate URLs matching the index.yamls hostname or URLs starting with this base url. Support http/https/oci protocol scheme.\n"
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                    },
                    "listRemoteFolderItems": {
                        "type": "boolean",
                        "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                    },
                    "localAddress": {
                        "type": "string",
                        "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                    },
                    "metadataRetrievalTimeoutSecs": {
                        "type": "integer",
                        "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                    },
                    "mismatchingMimeTypesOverrideList": {
                        "type": "string",
                        "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                    },
                    "missedCachePeriodSeconds": {
                        "type": "integer",
                        "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "offline": {
                        "type": "boolean",
                        "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                    },
                    "password": {
                        "type": "string",
                        "secret": true
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "proxy": {
                        "type": "string",
                        "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                    },
                    "queryParams": {
                        "type": "string",
                        "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                    },
                    "remoteRepoLayoutRef": {
                        "type": "string",
                        "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                    },
                    "retrievalCachePeriodSeconds": {
                        "type": "integer",
                        "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                    },
                    "shareConfiguration": {
                        "type": "boolean",
                        "deprecationMessage": "No longer supported"
                    },
                    "socketTimeoutMillis": {
                        "type": "integer",
                        "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                    },
                    "storeArtifactsLocally": {
                        "type": "boolean",
                        "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                    },
                    "synchronizeProperties": {
                        "type": "boolean",
                        "description": "When set, remote artifacts are fetched along with their properties."
                    },
                    "unusedArtifactsCleanupPeriodHours": {
                        "type": "integer",
                        "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                    },
                    "url": {
                        "type": "string",
                        "description": "The remote repo URL.\n"
                    },
                    "username": {
                        "type": "string"
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/remoteHelmociRepository:RemoteHelmociRepository": {
            "description": "Creates remote Helm OCI repository resource. \n\nOfficial documentation can be found [here](https://jfrog.com/help/r/jfrog-artifactory-documentation/helm-oci-repositories)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst my_helmoci_remote = new artifactory.RemoteHelmociRepository(\"my-helmoci-remote\", {\n    key: \"my-helmoci-remote\",\n    externalDependenciesEnabled: true,\n    externalDependenciesPatterns: [\"**/registry-1.docker.io/**\"],\n    enableTokenAuthentication: true,\n    url: \"https://registry-1.docker.io/\",\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nmy_helmoci_remote = artifactory.RemoteHelmociRepository(\"my-helmoci-remote\",\n    key=\"my-helmoci-remote\",\n    external_dependencies_enabled=True,\n    external_dependencies_patterns=[\"**/registry-1.docker.io/**\"],\n    enable_token_authentication=True,\n    url=\"https://registry-1.docker.io/\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var my_helmoci_remote = new Artifactory.RemoteHelmociRepository(\"my-helmoci-remote\", new()\n    {\n        Key = \"my-helmoci-remote\",\n        ExternalDependenciesEnabled = true,\n        ExternalDependenciesPatterns = new[]\n        {\n            \"**/registry-1.docker.io/**\",\n        },\n        EnableTokenAuthentication = true,\n        Url = \"https://registry-1.docker.io/\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewRemoteHelmociRepository(ctx, \"my-helmoci-remote\", \u0026artifactory.RemoteHelmociRepositoryArgs{\n\t\t\tKey:                         pulumi.String(\"my-helmoci-remote\"),\n\t\t\tExternalDependenciesEnabled: pulumi.Bool(true),\n\t\t\tExternalDependenciesPatterns: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"**/registry-1.docker.io/**\"),\n\t\t\t},\n\t\t\tEnableTokenAuthentication: pulumi.Bool(true),\n\t\t\tUrl:                       pulumi.String(\"https://registry-1.docker.io/\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_remotehelmocirepository\" \"my-helmoci-remote\" {\n  key                            = \"my-helmoci-remote\"\n  external_dependencies_enabled  = true\n  external_dependencies_patterns = [\"**/registry-1.docker.io/**\"]\n  enable_token_authentication    = true\n  url                            = \"https://registry-1.docker.io/\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.RemoteHelmociRepository;\nimport com.pulumi.artifactory.RemoteHelmociRepositoryArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 my_helmoci_remote = new RemoteHelmociRepository(\"my-helmoci-remote\", RemoteHelmociRepositoryArgs.builder()\n            .key(\"my-helmoci-remote\")\n            .externalDependenciesEnabled(true)\n            .externalDependenciesPatterns(\"**/registry-1.docker.io/**\")\n            .enableTokenAuthentication(true)\n            .url(\"https://registry-1.docker.io/\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  my-helmoci-remote:\n    type: artifactory:RemoteHelmociRepository\n    properties:\n      key: my-helmoci-remote\n      externalDependenciesEnabled: true\n      externalDependenciesPatterns:\n        - '**/registry-1.docker.io/**'\n      enableTokenAuthentication: true\n      url: https://registry-1.docker.io/\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRemote repositories can be imported using their name, e.g.\n\n```sh\n$ pulumi import artifactory:index/remoteHelmociRepository:RemoteHelmociRepository my-helmoci-remote my-helmoci-remote\n```\n\n",
            "properties": {
                "allowAnyHostAuth": {
                    "type": "boolean",
                    "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                },
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "assumedOfflinePeriodSecs": {
                    "type": "integer",
                    "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                },
                "blockMismatchingMimeTypes": {
                    "type": "boolean",
                    "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                },
                "bypassHeadRequests": {
                    "type": "boolean",
                    "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "clientTlsCertificate": {
                    "type": "string",
                    "description": "Client TLS certificate name."
                },
                "contentSynchronisation": {
                    "$ref": "#/types/artifactory:index/RemoteHelmociRepositoryContentSynchronisation:RemoteHelmociRepositoryContentSynchronisation"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                },
                "disableUrlNormalization": {
                    "type": "boolean",
                    "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                },
                "enableCookieManagement": {
                    "type": "boolean",
                    "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                },
                "enableTokenAuthentication": {
                    "type": "boolean",
                    "description": "Enable token (Bearer) based authentication.\n"
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "externalDependenciesEnabled": {
                    "type": "boolean",
                    "description": "Also known as 'Foreign Layers Caching' on the UI.\n"
                },
                "externalDependenciesPatterns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Optional include patterns to match external URLs. Ant-style path expressions are supported (*, **, ?). For example, specifying `**/github.com/**` will only allow downloading foreign layers from github.com host. By default, this is set to `**` in the UI, which means that foreign layers may be downloaded from any external hosts. Due to SDKv2 limitations, we can't set the default value for the list. This value `**` must be assigned to the attribute manually, if user don't specify any other non-default values. We don't want to make this attribute required, but it must be set to avoid the state drift on update. Note: Artifactory assigns `**` on update if HCL doesn't have the attribute set or the list is empty.\n"
                },
                "hardFail": {
                    "type": "boolean",
                    "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or contain spaces or special characters.\n"
                },
                "listRemoteFolderItems": {
                    "type": "boolean",
                    "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                },
                "localAddress": {
                    "type": "string",
                    "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                },
                "metadataRetrievalTimeoutSecs": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                },
                "mismatchingMimeTypesOverrideList": {
                    "type": "string",
                    "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                },
                "missedCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "offline": {
                    "type": "boolean",
                    "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                },
                "password": {
                    "type": "string",
                    "secret": true
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectId": {
                    "type": "string",
                    "description": "Use this attribute to enter your GCR, GAR Project Id to limit the scope of this remote repo to a specific project in your third-party registry. When leaving this field blank or unset, remote repositories that support project id will default to their default project as you have set up in your account.\n"
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                },
                "queryParams": {
                    "type": "string",
                    "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                },
                "remoteRepoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "retrievalCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                },
                "shareConfiguration": {
                    "type": "boolean",
                    "deprecationMessage": "No longer supported"
                },
                "socketTimeoutMillis": {
                    "type": "integer",
                    "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                },
                "storeArtifactsLocally": {
                    "type": "boolean",
                    "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                },
                "synchronizeProperties": {
                    "type": "boolean",
                    "description": "When set, remote artifacts are fetched along with their properties."
                },
                "unusedArtifactsCleanupPeriodHours": {
                    "type": "integer",
                    "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                },
                "url": {
                    "type": "string",
                    "description": "This is a URL to the remote registry. Consider using HTTPS to ensure a secure connection.\n"
                },
                "username": {
                    "type": "string"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "allowAnyHostAuth",
                "archiveBrowsingEnabled",
                "assumedOfflinePeriodSecs",
                "blackedOut",
                "blockMismatchingMimeTypes",
                "bypassHeadRequests",
                "cdnRedirect",
                "clientTlsCertificate",
                "description",
                "disableProxy",
                "disableUrlNormalization",
                "downloadDirect",
                "enableCookieManagement",
                "enableTokenAuthentication",
                "excludesPattern",
                "externalDependenciesEnabled",
                "hardFail",
                "includesPattern",
                "key",
                "listRemoteFolderItems",
                "localAddress",
                "metadataRetrievalTimeoutSecs",
                "mismatchingMimeTypesOverrideList",
                "missedCachePeriodSeconds",
                "notes",
                "offline",
                "priorityResolution",
                "projectEnvironments",
                "projectId",
                "projectKey",
                "proxy",
                "queryParams",
                "remoteRepoLayoutRef",
                "repoLayoutRef",
                "retrievalCachePeriodSeconds",
                "shareConfiguration",
                "socketTimeoutMillis",
                "storeArtifactsLocally",
                "synchronizeProperties",
                "unusedArtifactsCleanupPeriodHours",
                "url",
                "username",
                "xrayIndex"
            ],
            "inputProperties": {
                "allowAnyHostAuth": {
                    "type": "boolean",
                    "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                },
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "assumedOfflinePeriodSecs": {
                    "type": "integer",
                    "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                },
                "blockMismatchingMimeTypes": {
                    "type": "boolean",
                    "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                },
                "bypassHeadRequests": {
                    "type": "boolean",
                    "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "clientTlsCertificate": {
                    "type": "string",
                    "description": "Client TLS certificate name."
                },
                "contentSynchronisation": {
                    "$ref": "#/types/artifactory:index/RemoteHelmociRepositoryContentSynchronisation:RemoteHelmociRepositoryContentSynchronisation"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                },
                "disableUrlNormalization": {
                    "type": "boolean",
                    "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                },
                "enableCookieManagement": {
                    "type": "boolean",
                    "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                },
                "enableTokenAuthentication": {
                    "type": "boolean",
                    "description": "Enable token (Bearer) based authentication.\n"
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "externalDependenciesEnabled": {
                    "type": "boolean",
                    "description": "Also known as 'Foreign Layers Caching' on the UI.\n"
                },
                "externalDependenciesPatterns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Optional include patterns to match external URLs. Ant-style path expressions are supported (*, **, ?). For example, specifying `**/github.com/**` will only allow downloading foreign layers from github.com host. By default, this is set to `**` in the UI, which means that foreign layers may be downloaded from any external hosts. Due to SDKv2 limitations, we can't set the default value for the list. This value `**` must be assigned to the attribute manually, if user don't specify any other non-default values. We don't want to make this attribute required, but it must be set to avoid the state drift on update. Note: Artifactory assigns `**` on update if HCL doesn't have the attribute set or the list is empty.\n"
                },
                "hardFail": {
                    "type": "boolean",
                    "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or contain spaces or special characters.\n"
                },
                "listRemoteFolderItems": {
                    "type": "boolean",
                    "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                },
                "localAddress": {
                    "type": "string",
                    "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                },
                "metadataRetrievalTimeoutSecs": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                },
                "mismatchingMimeTypesOverrideList": {
                    "type": "string",
                    "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                },
                "missedCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "offline": {
                    "type": "boolean",
                    "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                },
                "password": {
                    "type": "string",
                    "secret": true
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectId": {
                    "type": "string",
                    "description": "Use this attribute to enter your GCR, GAR Project Id to limit the scope of this remote repo to a specific project in your third-party registry. When leaving this field blank or unset, remote repositories that support project id will default to their default project as you have set up in your account.\n"
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                },
                "queryParams": {
                    "type": "string",
                    "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                },
                "remoteRepoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "retrievalCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                },
                "shareConfiguration": {
                    "type": "boolean",
                    "deprecationMessage": "No longer supported"
                },
                "socketTimeoutMillis": {
                    "type": "integer",
                    "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                },
                "storeArtifactsLocally": {
                    "type": "boolean",
                    "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                },
                "synchronizeProperties": {
                    "type": "boolean",
                    "description": "When set, remote artifacts are fetched along with their properties."
                },
                "unusedArtifactsCleanupPeriodHours": {
                    "type": "integer",
                    "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                },
                "url": {
                    "type": "string",
                    "description": "This is a URL to the remote registry. Consider using HTTPS to ensure a secure connection.\n"
                },
                "username": {
                    "type": "string"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key",
                "url"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering RemoteHelmociRepository resources.\n",
                "properties": {
                    "allowAnyHostAuth": {
                        "type": "boolean",
                        "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                    },
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "assumedOfflinePeriodSecs": {
                        "type": "integer",
                        "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                    },
                    "blockMismatchingMimeTypes": {
                        "type": "boolean",
                        "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                    },
                    "bypassHeadRequests": {
                        "type": "boolean",
                        "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "clientTlsCertificate": {
                        "type": "string",
                        "description": "Client TLS certificate name."
                    },
                    "contentSynchronisation": {
                        "$ref": "#/types/artifactory:index/RemoteHelmociRepositoryContentSynchronisation:RemoteHelmociRepositoryContentSynchronisation"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "disableProxy": {
                        "type": "boolean",
                        "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                    },
                    "disableUrlNormalization": {
                        "type": "boolean",
                        "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                    },
                    "enableCookieManagement": {
                        "type": "boolean",
                        "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                    },
                    "enableTokenAuthentication": {
                        "type": "boolean",
                        "description": "Enable token (Bearer) based authentication.\n"
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "externalDependenciesEnabled": {
                        "type": "boolean",
                        "description": "Also known as 'Foreign Layers Caching' on the UI.\n"
                    },
                    "externalDependenciesPatterns": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Optional include patterns to match external URLs. Ant-style path expressions are supported (*, **, ?). For example, specifying `**/github.com/**` will only allow downloading foreign layers from github.com host. By default, this is set to `**` in the UI, which means that foreign layers may be downloaded from any external hosts. Due to SDKv2 limitations, we can't set the default value for the list. This value `**` must be assigned to the attribute manually, if user don't specify any other non-default values. We don't want to make this attribute required, but it must be set to avoid the state drift on update. Note: Artifactory assigns `**` on update if HCL doesn't have the attribute set or the list is empty.\n"
                    },
                    "hardFail": {
                        "type": "boolean",
                        "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or contain spaces or special characters.\n"
                    },
                    "listRemoteFolderItems": {
                        "type": "boolean",
                        "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                    },
                    "localAddress": {
                        "type": "string",
                        "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                    },
                    "metadataRetrievalTimeoutSecs": {
                        "type": "integer",
                        "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                    },
                    "mismatchingMimeTypesOverrideList": {
                        "type": "string",
                        "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                    },
                    "missedCachePeriodSeconds": {
                        "type": "integer",
                        "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "offline": {
                        "type": "boolean",
                        "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                    },
                    "password": {
                        "type": "string",
                        "secret": true
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectId": {
                        "type": "string",
                        "description": "Use this attribute to enter your GCR, GAR Project Id to limit the scope of this remote repo to a specific project in your third-party registry. When leaving this field blank or unset, remote repositories that support project id will default to their default project as you have set up in your account.\n"
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "proxy": {
                        "type": "string",
                        "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                    },
                    "queryParams": {
                        "type": "string",
                        "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                    },
                    "remoteRepoLayoutRef": {
                        "type": "string",
                        "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                    },
                    "retrievalCachePeriodSeconds": {
                        "type": "integer",
                        "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                    },
                    "shareConfiguration": {
                        "type": "boolean",
                        "deprecationMessage": "No longer supported"
                    },
                    "socketTimeoutMillis": {
                        "type": "integer",
                        "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                    },
                    "storeArtifactsLocally": {
                        "type": "boolean",
                        "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                    },
                    "synchronizeProperties": {
                        "type": "boolean",
                        "description": "When set, remote artifacts are fetched along with their properties."
                    },
                    "unusedArtifactsCleanupPeriodHours": {
                        "type": "integer",
                        "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                    },
                    "url": {
                        "type": "string",
                        "description": "This is a URL to the remote registry. Consider using HTTPS to ensure a secure connection.\n"
                    },
                    "username": {
                        "type": "string"
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/remoteHexRepository:RemoteHexRepository": {
            "description": "Creates a remote Hex repository for proxying Elixir/Erlang packages from a remote Hex registry.\n\nOfficial documentation can be found [here](https://www.jfrog.com/confluence/display/JFROG/Hex+Registry).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\nimport * as std from \"@pulumi/std\";\n\nconst some_keypairRSA = new artifactory.Keypair(\"some-keypairRSA\", {\n    pairName: `some-keypair${randid.id}`,\n    pairType: \"RSA\",\n    alias: \"foo-alias\",\n    privateKey: std.file({\n        input: \"samples/rsa.priv\",\n    }).then(invoke =\u003e invoke.result),\n    publicKey: std.file({\n        input: \"samples/rsa.pub\",\n    }).then(invoke =\u003e invoke.result),\n});\nconst my_remote_hex = new artifactory.RemoteHexRepository(\"my-remote-hex\", {\n    key: \"my-remote-hex\",\n    url: \"https://repo.hex.pm\",\n    hexPrimaryKeypairRef: some_keypairRSA.pairName,\n    publicKey: std.file({\n        input: \"samples/rsa.pub\",\n    }).then(invoke =\u003e invoke.result),\n    description: \"Remote Hex repository for Elixir packages\",\n    notes: \"Internal repository\",\n}, {\n    dependsOn: [some_keypairRSA],\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\nimport pulumi_std as std\n\nsome_keypair_rsa = artifactory.Keypair(\"some-keypairRSA\",\n    pair_name=f\"some-keypair{randid['id']}\",\n    pair_type=\"RSA\",\n    alias=\"foo-alias\",\n    private_key=std.file(input=\"samples/rsa.priv\").result,\n    public_key=std.file(input=\"samples/rsa.pub\").result)\nmy_remote_hex = artifactory.RemoteHexRepository(\"my-remote-hex\",\n    key=\"my-remote-hex\",\n    url=\"https://repo.hex.pm\",\n    hex_primary_keypair_ref=some_keypair_rsa.pair_name,\n    public_key=std.file(input=\"samples/rsa.pub\").result,\n    description=\"Remote Hex repository for Elixir packages\",\n    notes=\"Internal repository\",\n    opts = pulumi.ResourceOptions(depends_on=[some_keypair_rsa]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var some_keypairRSA = new Artifactory.Keypair(\"some-keypairRSA\", new()\n    {\n        PairName = $\"some-keypair{randid.Id}\",\n        PairType = \"RSA\",\n        Alias = \"foo-alias\",\n        PrivateKey = Std.File.Invoke(new()\n        {\n            Input = \"samples/rsa.priv\",\n        }).Apply(invoke =\u003e invoke.Result),\n        PublicKey = Std.File.Invoke(new()\n        {\n            Input = \"samples/rsa.pub\",\n        }).Apply(invoke =\u003e invoke.Result),\n    });\n\n    var my_remote_hex = new Artifactory.RemoteHexRepository(\"my-remote-hex\", new()\n    {\n        Key = \"my-remote-hex\",\n        Url = \"https://repo.hex.pm\",\n        HexPrimaryKeypairRef = some_keypairRSA.PairName,\n        PublicKey = Std.File.Invoke(new()\n        {\n            Input = \"samples/rsa.pub\",\n        }).Apply(invoke =\u003e invoke.Result),\n        Description = \"Remote Hex repository for Elixir packages\",\n        Notes = \"Internal repository\",\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            some_keypairRSA,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeFile, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"samples/rsa.priv\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile1, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"samples/rsa.pub\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsome_keypairRSA, err := artifactory.NewKeypair(ctx, \"some-keypairRSA\", \u0026artifactory.KeypairArgs{\n\t\t\tPairName:   pulumi.Sprintf(\"some-keypair%v\", randid.Id),\n\t\t\tPairType:   pulumi.String(\"RSA\"),\n\t\t\tAlias:      pulumi.String(\"foo-alias\"),\n\t\t\tPrivateKey: pulumi.String(invokeFile.Result),\n\t\t\tPublicKey:  pulumi.String(invokeFile1.Result),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeFile2, err := std.File(ctx, \u0026std.FileArgs{\n\t\t\tInput: \"samples/rsa.pub\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = artifactory.NewRemoteHexRepository(ctx, \"my-remote-hex\", \u0026artifactory.RemoteHexRepositoryArgs{\n\t\t\tKey:                  pulumi.String(\"my-remote-hex\"),\n\t\t\tUrl:                  pulumi.String(\"https://repo.hex.pm\"),\n\t\t\tHexPrimaryKeypairRef: some_keypairRSA.PairName,\n\t\t\tPublicKey:            pulumi.String(invokeFile2.Result),\n\t\t\tDescription:          pulumi.String(\"Remote Hex repository for Elixir packages\"),\n\t\t\tNotes:                pulumi.String(\"Internal repository\"),\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tsome_keypairRSA,\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n    std = {\n      source = \"pulumi/std\"\n    }\n  }\n}\n\nresource \"artifactory_keypair\" \"some-keypairRSA\" {\n  pair_name   =\"some-keypair${randid.id}\"\n  pair_type   = \"RSA\"\n  alias       = \"foo-alias\"\n  private_key = file(\"samples/rsa.priv\")\n  public_key  = file(\"samples/rsa.pub\")\n}\nresource \"artifactory_remotehexrepository\" \"my-remote-hex\" {\n  depends_on              = [artifactory_keypair.some-keypairRSA]\n  key                     = \"my-remote-hex\"\n  url                     = \"https://repo.hex.pm\"\n  hex_primary_keypair_ref = artifactory_keypair.some-keypairRSA.pair_name\n  public_key              = file(\"samples/rsa.pub\")\n  description             = \"Remote Hex repository for Elixir packages\"\n  notes                   = \"Internal repository\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.Keypair;\nimport com.pulumi.artifactory.KeypairArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.FileArgs;\nimport com.pulumi.artifactory.RemoteHexRepository;\nimport com.pulumi.artifactory.RemoteHexRepositoryArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 some_keypairRSA = new Keypair(\"some-keypairRSA\", KeypairArgs.builder()\n            .pairName(String.format(\"some-keypair%s\", randid.id()))\n            .pairType(\"RSA\")\n            .alias(\"foo-alias\")\n            .privateKey(StdFunctions.file(FileArgs.builder()\n                .input(\"samples/rsa.priv\")\n                .build()).result())\n            .publicKey(StdFunctions.file(FileArgs.builder()\n                .input(\"samples/rsa.pub\")\n                .build()).result())\n            .build());\n\n        var my_remote_hex = new RemoteHexRepository(\"my-remote-hex\", RemoteHexRepositoryArgs.builder()\n            .key(\"my-remote-hex\")\n            .url(\"https://repo.hex.pm\")\n            .hexPrimaryKeypairRef(some_keypairRSA.pairName())\n            .publicKey(StdFunctions.file(FileArgs.builder()\n                .input(\"samples/rsa.pub\")\n                .build()).result())\n            .description(\"Remote Hex repository for Elixir packages\")\n            .notes(\"Internal repository\")\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(some_keypairRSA)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  some-keypairRSA:\n    type: artifactory:Keypair\n    properties:\n      pairName: some-keypair${randid.id}\n      pairType: RSA\n      alias: foo-alias\n      privateKey:\n        fn::invoke:\n          function: std:file\n          arguments:\n            input: samples/rsa.priv\n          return: result\n      publicKey:\n        fn::invoke:\n          function: std:file\n          arguments:\n            input: samples/rsa.pub\n          return: result\n  my-remote-hex:\n    type: artifactory:RemoteHexRepository\n    properties:\n      key: my-remote-hex\n      url: https://repo.hex.pm\n      hexPrimaryKeypairRef: ${[\"some-keypairRSA\"].pairName}\n      publicKey:\n        fn::invoke:\n          function: std:file\n          arguments:\n            input: samples/rsa.pub\n          return: result\n      description: Remote Hex repository for Elixir packages\n      notes: Internal repository\n    options:\n      dependsOn:\n        - ${[\"some-keypairRSA\"]}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRemote repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/remoteHexRepository:RemoteHexRepository my-remote-hex my-remote-hex\n```\n\n",
            "properties": {
                "allowAnyHostAuth": {
                    "type": "boolean",
                    "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                },
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "assumedOfflinePeriodSecs": {
                    "type": "integer",
                    "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                },
                "blockMismatchingMimeTypes": {
                    "type": "boolean",
                    "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                },
                "bypassHeadRequests": {
                    "type": "boolean",
                    "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "clientTlsCertificate": {
                    "type": "string",
                    "description": "Client TLS certificate name."
                },
                "contentSynchronisation": {
                    "$ref": "#/types/artifactory:index/RemoteHexRepositoryContentSynchronisation:RemoteHexRepositoryContentSynchronisation"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                },
                "disableUrlNormalization": {
                    "type": "boolean",
                    "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                },
                "enableCookieManagement": {
                    "type": "boolean",
                    "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "hardFail": {
                    "type": "boolean",
                    "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                },
                "hexPrimaryKeypairRef": {
                    "type": "string",
                    "description": "Select the RSA key pair to sign and encrypt content for secure communication between Artifactory and the Mix client.\n"
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or contain spaces or special characters.\n"
                },
                "listRemoteFolderItems": {
                    "type": "boolean",
                    "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                },
                "localAddress": {
                    "type": "string",
                    "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                },
                "metadataRetrievalTimeoutSecs": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                },
                "mismatchingMimeTypesOverrideList": {
                    "type": "string",
                    "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                },
                "missedCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                },
                "notes": {
                    "type": "string",
                    "description": "Artifactory REST API call Get Key Pair doesn't return keys \u003cspan pulumi-lang-nodejs=\"`privateKey`\" pulumi-lang-dotnet=\"`PrivateKey`\" pulumi-lang-go=\"`privateKey`\" pulumi-lang-python=\"`private_key`\" pulumi-lang-yaml=\"`privateKey`\" pulumi-lang-java=\"`privateKey`\" pulumi-lang-hcl=\"`private_key`\"\u003e`privateKey`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`passphrase`\" pulumi-lang-dotnet=\"`Passphrase`\" pulumi-lang-go=\"`passphrase`\" pulumi-lang-python=\"`passphrase`\" pulumi-lang-yaml=\"`passphrase`\" pulumi-lang-java=\"`passphrase`\" pulumi-lang-hcl=\"`passphrase`\"\u003e`passphrase`\u003c/span\u003e, but consumes these keys in the POST call.\n\nThe meta-argument \u003cspan pulumi-lang-nodejs=\"`lifecycle`\" pulumi-lang-dotnet=\"`Lifecycle`\" pulumi-lang-go=\"`lifecycle`\" pulumi-lang-python=\"`lifecycle`\" pulumi-lang-yaml=\"`lifecycle`\" pulumi-lang-java=\"`lifecycle`\" pulumi-lang-hcl=\"`lifecycle`\"\u003e`lifecycle`\u003c/span\u003e used here to make Provider ignore the changes for these two keys in the Terraform state.\n"
                },
                "offline": {
                    "type": "boolean",
                    "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                },
                "password": {
                    "type": "string",
                    "secret": true
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                },
                "publicKey": {
                    "type": "string",
                    "description": "Contains the public key used when downloading packages from the Hex remote registry (public, private, or self-hosted Hex server).\n"
                },
                "queryParams": {
                    "type": "string",
                    "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                },
                "remoteRepoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "retrievalCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                },
                "shareConfiguration": {
                    "type": "boolean",
                    "deprecationMessage": "No longer supported"
                },
                "socketTimeoutMillis": {
                    "type": "integer",
                    "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                },
                "storeArtifactsLocally": {
                    "type": "boolean",
                    "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                },
                "synchronizeProperties": {
                    "type": "boolean",
                    "description": "When set, remote artifacts are fetched along with their properties."
                },
                "unusedArtifactsCleanupPeriodHours": {
                    "type": "integer",
                    "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                },
                "url": {
                    "type": "string",
                    "description": "The remote repo URL. For the official Hex registry, use `https://repo.hex.pm`.\n"
                },
                "username": {
                    "type": "string"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "allowAnyHostAuth",
                "archiveBrowsingEnabled",
                "assumedOfflinePeriodSecs",
                "blackedOut",
                "blockMismatchingMimeTypes",
                "bypassHeadRequests",
                "cdnRedirect",
                "clientTlsCertificate",
                "description",
                "disableProxy",
                "disableUrlNormalization",
                "downloadDirect",
                "enableCookieManagement",
                "excludesPattern",
                "hardFail",
                "hexPrimaryKeypairRef",
                "includesPattern",
                "key",
                "listRemoteFolderItems",
                "localAddress",
                "metadataRetrievalTimeoutSecs",
                "mismatchingMimeTypesOverrideList",
                "missedCachePeriodSeconds",
                "notes",
                "offline",
                "priorityResolution",
                "projectEnvironments",
                "projectKey",
                "proxy",
                "publicKey",
                "queryParams",
                "remoteRepoLayoutRef",
                "repoLayoutRef",
                "retrievalCachePeriodSeconds",
                "shareConfiguration",
                "socketTimeoutMillis",
                "storeArtifactsLocally",
                "synchronizeProperties",
                "unusedArtifactsCleanupPeriodHours",
                "url",
                "username",
                "xrayIndex"
            ],
            "inputProperties": {
                "allowAnyHostAuth": {
                    "type": "boolean",
                    "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                },
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "assumedOfflinePeriodSecs": {
                    "type": "integer",
                    "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                },
                "blockMismatchingMimeTypes": {
                    "type": "boolean",
                    "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                },
                "bypassHeadRequests": {
                    "type": "boolean",
                    "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "clientTlsCertificate": {
                    "type": "string",
                    "description": "Client TLS certificate name."
                },
                "contentSynchronisation": {
                    "$ref": "#/types/artifactory:index/RemoteHexRepositoryContentSynchronisation:RemoteHexRepositoryContentSynchronisation"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                },
                "disableUrlNormalization": {
                    "type": "boolean",
                    "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                },
                "enableCookieManagement": {
                    "type": "boolean",
                    "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "hardFail": {
                    "type": "boolean",
                    "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                },
                "hexPrimaryKeypairRef": {
                    "type": "string",
                    "description": "Select the RSA key pair to sign and encrypt content for secure communication between Artifactory and the Mix client.\n"
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or contain spaces or special characters.\n"
                },
                "listRemoteFolderItems": {
                    "type": "boolean",
                    "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                },
                "localAddress": {
                    "type": "string",
                    "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                },
                "metadataRetrievalTimeoutSecs": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                },
                "mismatchingMimeTypesOverrideList": {
                    "type": "string",
                    "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                },
                "missedCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                },
                "notes": {
                    "type": "string",
                    "description": "Artifactory REST API call Get Key Pair doesn't return keys \u003cspan pulumi-lang-nodejs=\"`privateKey`\" pulumi-lang-dotnet=\"`PrivateKey`\" pulumi-lang-go=\"`privateKey`\" pulumi-lang-python=\"`private_key`\" pulumi-lang-yaml=\"`privateKey`\" pulumi-lang-java=\"`privateKey`\" pulumi-lang-hcl=\"`private_key`\"\u003e`privateKey`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`passphrase`\" pulumi-lang-dotnet=\"`Passphrase`\" pulumi-lang-go=\"`passphrase`\" pulumi-lang-python=\"`passphrase`\" pulumi-lang-yaml=\"`passphrase`\" pulumi-lang-java=\"`passphrase`\" pulumi-lang-hcl=\"`passphrase`\"\u003e`passphrase`\u003c/span\u003e, but consumes these keys in the POST call.\n\nThe meta-argument \u003cspan pulumi-lang-nodejs=\"`lifecycle`\" pulumi-lang-dotnet=\"`Lifecycle`\" pulumi-lang-go=\"`lifecycle`\" pulumi-lang-python=\"`lifecycle`\" pulumi-lang-yaml=\"`lifecycle`\" pulumi-lang-java=\"`lifecycle`\" pulumi-lang-hcl=\"`lifecycle`\"\u003e`lifecycle`\u003c/span\u003e used here to make Provider ignore the changes for these two keys in the Terraform state.\n"
                },
                "offline": {
                    "type": "boolean",
                    "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                },
                "password": {
                    "type": "string",
                    "secret": true
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                },
                "publicKey": {
                    "type": "string",
                    "description": "Contains the public key used when downloading packages from the Hex remote registry (public, private, or self-hosted Hex server).\n"
                },
                "queryParams": {
                    "type": "string",
                    "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                },
                "remoteRepoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "retrievalCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                },
                "shareConfiguration": {
                    "type": "boolean",
                    "deprecationMessage": "No longer supported"
                },
                "socketTimeoutMillis": {
                    "type": "integer",
                    "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                },
                "storeArtifactsLocally": {
                    "type": "boolean",
                    "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                },
                "synchronizeProperties": {
                    "type": "boolean",
                    "description": "When set, remote artifacts are fetched along with their properties."
                },
                "unusedArtifactsCleanupPeriodHours": {
                    "type": "integer",
                    "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                },
                "url": {
                    "type": "string",
                    "description": "The remote repo URL. For the official Hex registry, use `https://repo.hex.pm`.\n"
                },
                "username": {
                    "type": "string"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "hexPrimaryKeypairRef",
                "key",
                "publicKey",
                "url"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering RemoteHexRepository resources.\n",
                "properties": {
                    "allowAnyHostAuth": {
                        "type": "boolean",
                        "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                    },
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "assumedOfflinePeriodSecs": {
                        "type": "integer",
                        "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                    },
                    "blockMismatchingMimeTypes": {
                        "type": "boolean",
                        "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                    },
                    "bypassHeadRequests": {
                        "type": "boolean",
                        "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "clientTlsCertificate": {
                        "type": "string",
                        "description": "Client TLS certificate name."
                    },
                    "contentSynchronisation": {
                        "$ref": "#/types/artifactory:index/RemoteHexRepositoryContentSynchronisation:RemoteHexRepositoryContentSynchronisation"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "disableProxy": {
                        "type": "boolean",
                        "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                    },
                    "disableUrlNormalization": {
                        "type": "boolean",
                        "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                    },
                    "enableCookieManagement": {
                        "type": "boolean",
                        "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "hardFail": {
                        "type": "boolean",
                        "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                    },
                    "hexPrimaryKeypairRef": {
                        "type": "string",
                        "description": "Select the RSA key pair to sign and encrypt content for secure communication between Artifactory and the Mix client.\n"
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or contain spaces or special characters.\n"
                    },
                    "listRemoteFolderItems": {
                        "type": "boolean",
                        "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                    },
                    "localAddress": {
                        "type": "string",
                        "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                    },
                    "metadataRetrievalTimeoutSecs": {
                        "type": "integer",
                        "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                    },
                    "mismatchingMimeTypesOverrideList": {
                        "type": "string",
                        "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                    },
                    "missedCachePeriodSeconds": {
                        "type": "integer",
                        "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                    },
                    "notes": {
                        "type": "string",
                        "description": "Artifactory REST API call Get Key Pair doesn't return keys \u003cspan pulumi-lang-nodejs=\"`privateKey`\" pulumi-lang-dotnet=\"`PrivateKey`\" pulumi-lang-go=\"`privateKey`\" pulumi-lang-python=\"`private_key`\" pulumi-lang-yaml=\"`privateKey`\" pulumi-lang-java=\"`privateKey`\" pulumi-lang-hcl=\"`private_key`\"\u003e`privateKey`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`passphrase`\" pulumi-lang-dotnet=\"`Passphrase`\" pulumi-lang-go=\"`passphrase`\" pulumi-lang-python=\"`passphrase`\" pulumi-lang-yaml=\"`passphrase`\" pulumi-lang-java=\"`passphrase`\" pulumi-lang-hcl=\"`passphrase`\"\u003e`passphrase`\u003c/span\u003e, but consumes these keys in the POST call.\n\nThe meta-argument \u003cspan pulumi-lang-nodejs=\"`lifecycle`\" pulumi-lang-dotnet=\"`Lifecycle`\" pulumi-lang-go=\"`lifecycle`\" pulumi-lang-python=\"`lifecycle`\" pulumi-lang-yaml=\"`lifecycle`\" pulumi-lang-java=\"`lifecycle`\" pulumi-lang-hcl=\"`lifecycle`\"\u003e`lifecycle`\u003c/span\u003e used here to make Provider ignore the changes for these two keys in the Terraform state.\n"
                    },
                    "offline": {
                        "type": "boolean",
                        "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                    },
                    "password": {
                        "type": "string",
                        "secret": true
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "proxy": {
                        "type": "string",
                        "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                    },
                    "publicKey": {
                        "type": "string",
                        "description": "Contains the public key used when downloading packages from the Hex remote registry (public, private, or self-hosted Hex server).\n"
                    },
                    "queryParams": {
                        "type": "string",
                        "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                    },
                    "remoteRepoLayoutRef": {
                        "type": "string",
                        "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                    },
                    "retrievalCachePeriodSeconds": {
                        "type": "integer",
                        "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                    },
                    "shareConfiguration": {
                        "type": "boolean",
                        "deprecationMessage": "No longer supported"
                    },
                    "socketTimeoutMillis": {
                        "type": "integer",
                        "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                    },
                    "storeArtifactsLocally": {
                        "type": "boolean",
                        "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                    },
                    "synchronizeProperties": {
                        "type": "boolean",
                        "description": "When set, remote artifacts are fetched along with their properties."
                    },
                    "unusedArtifactsCleanupPeriodHours": {
                        "type": "integer",
                        "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                    },
                    "url": {
                        "type": "string",
                        "description": "The remote repo URL. For the official Hex registry, use `https://repo.hex.pm`.\n"
                    },
                    "username": {
                        "type": "string"
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/remoteHuggingfacemlRepository:RemoteHuggingfacemlRepository": {
            "description": "Provides a remote Hugging Face repository. \n\nOfficial documentation can be found [here](https://jfrog.com/help/r/jfrog-artifactory-documentation/set-up-remote-hugging-face-repositories).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst huggingfaceml_remote = new artifactory.RemoteHuggingfacemlRepository(\"huggingfaceml-remote\", {key: \"huggingfaceml-remote-foo25\"});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nhuggingfaceml_remote = artifactory.RemoteHuggingfacemlRepository(\"huggingfaceml-remote\", key=\"huggingfaceml-remote-foo25\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var huggingfaceml_remote = new Artifactory.RemoteHuggingfacemlRepository(\"huggingfaceml-remote\", new()\n    {\n        Key = \"huggingfaceml-remote-foo25\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewRemoteHuggingfacemlRepository(ctx, \"huggingfaceml-remote\", \u0026artifactory.RemoteHuggingfacemlRepositoryArgs{\n\t\t\tKey: pulumi.String(\"huggingfaceml-remote-foo25\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_remotehuggingfacemlrepository\" \"huggingfaceml-remote\" {\n  key = \"huggingfaceml-remote-foo25\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.RemoteHuggingfacemlRepository;\nimport com.pulumi.artifactory.RemoteHuggingfacemlRepositoryArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 huggingfaceml_remote = new RemoteHuggingfacemlRepository(\"huggingfaceml-remote\", RemoteHuggingfacemlRepositoryArgs.builder()\n            .key(\"huggingfaceml-remote-foo25\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  huggingfaceml-remote:\n    type: artifactory:RemoteHuggingfacemlRepository\n    properties:\n      key: huggingfaceml-remote-foo25\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRemote repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/remoteHuggingfacemlRepository:RemoteHuggingfacemlRepository huggingfaceml-remote huggingfaceml-remote\n```\n\n",
            "properties": {
                "allowAnyHostAuth": {
                    "type": "boolean",
                    "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                },
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "assumedOfflinePeriodSecs": {
                    "type": "integer",
                    "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                },
                "blockMismatchingMimeTypes": {
                    "type": "boolean",
                    "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                },
                "bypassHeadRequests": {
                    "type": "boolean",
                    "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "clientTlsCertificate": {
                    "type": "string",
                    "description": "Client TLS certificate name."
                },
                "contentSynchronisation": {
                    "$ref": "#/types/artifactory:index/RemoteHuggingfacemlRepositoryContentSynchronisation:RemoteHuggingfacemlRepositoryContentSynchronisation"
                },
                "curated": {
                    "type": "boolean",
                    "description": "Enable repository to be protected by the Curation service.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                },
                "disableUrlNormalization": {
                    "type": "boolean",
                    "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                },
                "enableCookieManagement": {
                    "type": "boolean",
                    "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "hardFail": {
                    "type": "boolean",
                    "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                },
                "listRemoteFolderItems": {
                    "type": "boolean",
                    "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                },
                "localAddress": {
                    "type": "string",
                    "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                },
                "metadataRetrievalTimeoutSecs": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                },
                "mismatchingMimeTypesOverrideList": {
                    "type": "string",
                    "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                },
                "missedCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "offline": {
                    "type": "boolean",
                    "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                },
                "passThrough": {
                    "type": "boolean",
                    "description": "Enable Pass-through for Curation Audit. When enabled, allows artifacts to pass through the Curation audit process.\n"
                },
                "password": {
                    "type": "string",
                    "secret": true
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                },
                "queryParams": {
                    "type": "string",
                    "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                },
                "remoteRepoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "retrievalCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                },
                "shareConfiguration": {
                    "type": "boolean",
                    "deprecationMessage": "No longer supported"
                },
                "socketTimeoutMillis": {
                    "type": "integer",
                    "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                },
                "storeArtifactsLocally": {
                    "type": "boolean",
                    "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                },
                "synchronizeProperties": {
                    "type": "boolean",
                    "description": "When set, remote artifacts are fetched along with their properties."
                },
                "unusedArtifactsCleanupPeriodHours": {
                    "type": "integer",
                    "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                },
                "url": {
                    "type": "string",
                    "description": "The remote repo URL. Default to 'https://huggingface.co'"
                },
                "username": {
                    "type": "string"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "allowAnyHostAuth",
                "archiveBrowsingEnabled",
                "assumedOfflinePeriodSecs",
                "blackedOut",
                "blockMismatchingMimeTypes",
                "bypassHeadRequests",
                "cdnRedirect",
                "clientTlsCertificate",
                "curated",
                "description",
                "disableProxy",
                "disableUrlNormalization",
                "downloadDirect",
                "enableCookieManagement",
                "excludesPattern",
                "hardFail",
                "includesPattern",
                "key",
                "listRemoteFolderItems",
                "localAddress",
                "metadataRetrievalTimeoutSecs",
                "mismatchingMimeTypesOverrideList",
                "missedCachePeriodSeconds",
                "notes",
                "offline",
                "passThrough",
                "priorityResolution",
                "projectEnvironments",
                "projectKey",
                "proxy",
                "queryParams",
                "remoteRepoLayoutRef",
                "repoLayoutRef",
                "retrievalCachePeriodSeconds",
                "shareConfiguration",
                "socketTimeoutMillis",
                "storeArtifactsLocally",
                "synchronizeProperties",
                "unusedArtifactsCleanupPeriodHours",
                "url",
                "username",
                "xrayIndex"
            ],
            "inputProperties": {
                "allowAnyHostAuth": {
                    "type": "boolean",
                    "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                },
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "assumedOfflinePeriodSecs": {
                    "type": "integer",
                    "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                },
                "blockMismatchingMimeTypes": {
                    "type": "boolean",
                    "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                },
                "bypassHeadRequests": {
                    "type": "boolean",
                    "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "clientTlsCertificate": {
                    "type": "string",
                    "description": "Client TLS certificate name."
                },
                "contentSynchronisation": {
                    "$ref": "#/types/artifactory:index/RemoteHuggingfacemlRepositoryContentSynchronisation:RemoteHuggingfacemlRepositoryContentSynchronisation"
                },
                "curated": {
                    "type": "boolean",
                    "description": "Enable repository to be protected by the Curation service.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                },
                "disableUrlNormalization": {
                    "type": "boolean",
                    "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                },
                "enableCookieManagement": {
                    "type": "boolean",
                    "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "hardFail": {
                    "type": "boolean",
                    "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                },
                "listRemoteFolderItems": {
                    "type": "boolean",
                    "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                },
                "localAddress": {
                    "type": "string",
                    "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                },
                "metadataRetrievalTimeoutSecs": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                },
                "mismatchingMimeTypesOverrideList": {
                    "type": "string",
                    "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                },
                "missedCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "offline": {
                    "type": "boolean",
                    "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                },
                "passThrough": {
                    "type": "boolean",
                    "description": "Enable Pass-through for Curation Audit. When enabled, allows artifacts to pass through the Curation audit process.\n"
                },
                "password": {
                    "type": "string",
                    "secret": true
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                },
                "queryParams": {
                    "type": "string",
                    "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                },
                "remoteRepoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "retrievalCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                },
                "shareConfiguration": {
                    "type": "boolean",
                    "deprecationMessage": "No longer supported"
                },
                "socketTimeoutMillis": {
                    "type": "integer",
                    "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                },
                "storeArtifactsLocally": {
                    "type": "boolean",
                    "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                },
                "synchronizeProperties": {
                    "type": "boolean",
                    "description": "When set, remote artifacts are fetched along with their properties."
                },
                "unusedArtifactsCleanupPeriodHours": {
                    "type": "integer",
                    "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                },
                "url": {
                    "type": "string",
                    "description": "The remote repo URL. Default to 'https://huggingface.co'"
                },
                "username": {
                    "type": "string"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering RemoteHuggingfacemlRepository resources.\n",
                "properties": {
                    "allowAnyHostAuth": {
                        "type": "boolean",
                        "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                    },
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "assumedOfflinePeriodSecs": {
                        "type": "integer",
                        "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                    },
                    "blockMismatchingMimeTypes": {
                        "type": "boolean",
                        "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                    },
                    "bypassHeadRequests": {
                        "type": "boolean",
                        "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "clientTlsCertificate": {
                        "type": "string",
                        "description": "Client TLS certificate name."
                    },
                    "contentSynchronisation": {
                        "$ref": "#/types/artifactory:index/RemoteHuggingfacemlRepositoryContentSynchronisation:RemoteHuggingfacemlRepositoryContentSynchronisation"
                    },
                    "curated": {
                        "type": "boolean",
                        "description": "Enable repository to be protected by the Curation service.\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "disableProxy": {
                        "type": "boolean",
                        "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                    },
                    "disableUrlNormalization": {
                        "type": "boolean",
                        "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                    },
                    "enableCookieManagement": {
                        "type": "boolean",
                        "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "hardFail": {
                        "type": "boolean",
                        "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                    },
                    "listRemoteFolderItems": {
                        "type": "boolean",
                        "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                    },
                    "localAddress": {
                        "type": "string",
                        "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                    },
                    "metadataRetrievalTimeoutSecs": {
                        "type": "integer",
                        "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                    },
                    "mismatchingMimeTypesOverrideList": {
                        "type": "string",
                        "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                    },
                    "missedCachePeriodSeconds": {
                        "type": "integer",
                        "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "offline": {
                        "type": "boolean",
                        "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                    },
                    "passThrough": {
                        "type": "boolean",
                        "description": "Enable Pass-through for Curation Audit. When enabled, allows artifacts to pass through the Curation audit process.\n"
                    },
                    "password": {
                        "type": "string",
                        "secret": true
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "proxy": {
                        "type": "string",
                        "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                    },
                    "queryParams": {
                        "type": "string",
                        "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                    },
                    "remoteRepoLayoutRef": {
                        "type": "string",
                        "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                    },
                    "retrievalCachePeriodSeconds": {
                        "type": "integer",
                        "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                    },
                    "shareConfiguration": {
                        "type": "boolean",
                        "deprecationMessage": "No longer supported"
                    },
                    "socketTimeoutMillis": {
                        "type": "integer",
                        "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                    },
                    "storeArtifactsLocally": {
                        "type": "boolean",
                        "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                    },
                    "synchronizeProperties": {
                        "type": "boolean",
                        "description": "When set, remote artifacts are fetched along with their properties."
                    },
                    "unusedArtifactsCleanupPeriodHours": {
                        "type": "integer",
                        "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                    },
                    "url": {
                        "type": "string",
                        "description": "The remote repo URL. Default to 'https://huggingface.co'"
                    },
                    "username": {
                        "type": "string"
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/remoteIvyRepository:RemoteIvyRepository": {
            "description": "Creates a remote Ivy repository.\nOfficial documentation can be found [here](https://www.jfrog.com/confluence/display/JFROG/Remote+Repositories#RemoteRepositories-Maven,Gradle,IvyandSBTRepositories).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst ivy_remote = new artifactory.RemoteIvyRepository(\"ivy-remote\", {\n    key: \"ivy-remote-foo\",\n    url: \"https://repo1.maven.org/maven2/\",\n    fetchJarsEagerly: true,\n    fetchSourcesEagerly: false,\n    suppressPomConsistencyChecks: true,\n    rejectInvalidJars: true,\n    maxUniqueSnapshots: 10,\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nivy_remote = artifactory.RemoteIvyRepository(\"ivy-remote\",\n    key=\"ivy-remote-foo\",\n    url=\"https://repo1.maven.org/maven2/\",\n    fetch_jars_eagerly=True,\n    fetch_sources_eagerly=False,\n    suppress_pom_consistency_checks=True,\n    reject_invalid_jars=True,\n    max_unique_snapshots=10)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var ivy_remote = new Artifactory.RemoteIvyRepository(\"ivy-remote\", new()\n    {\n        Key = \"ivy-remote-foo\",\n        Url = \"https://repo1.maven.org/maven2/\",\n        FetchJarsEagerly = true,\n        FetchSourcesEagerly = false,\n        SuppressPomConsistencyChecks = true,\n        RejectInvalidJars = true,\n        MaxUniqueSnapshots = 10,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewRemoteIvyRepository(ctx, \"ivy-remote\", \u0026artifactory.RemoteIvyRepositoryArgs{\n\t\t\tKey:                          pulumi.String(\"ivy-remote-foo\"),\n\t\t\tUrl:                          pulumi.String(\"https://repo1.maven.org/maven2/\"),\n\t\t\tFetchJarsEagerly:             pulumi.Bool(true),\n\t\t\tFetchSourcesEagerly:          pulumi.Bool(false),\n\t\t\tSuppressPomConsistencyChecks: pulumi.Bool(true),\n\t\t\tRejectInvalidJars:            pulumi.Bool(true),\n\t\t\tMaxUniqueSnapshots:           pulumi.Int(10),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_remoteivyrepository\" \"ivy-remote\" {\n  key                             = \"ivy-remote-foo\"\n  url                             = \"https://repo1.maven.org/maven2/\"\n  fetch_jars_eagerly              = true\n  fetch_sources_eagerly           = false\n  suppress_pom_consistency_checks = true\n  reject_invalid_jars             = true\n  max_unique_snapshots            = 10\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.RemoteIvyRepository;\nimport com.pulumi.artifactory.RemoteIvyRepositoryArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 ivy_remote = new RemoteIvyRepository(\"ivy-remote\", RemoteIvyRepositoryArgs.builder()\n            .key(\"ivy-remote-foo\")\n            .url(\"https://repo1.maven.org/maven2/\")\n            .fetchJarsEagerly(true)\n            .fetchSourcesEagerly(false)\n            .suppressPomConsistencyChecks(true)\n            .rejectInvalidJars(true)\n            .maxUniqueSnapshots(10)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  ivy-remote:\n    type: artifactory:RemoteIvyRepository\n    properties:\n      key: ivy-remote-foo\n      url: https://repo1.maven.org/maven2/\n      fetchJarsEagerly: true\n      fetchSourcesEagerly: false\n      suppressPomConsistencyChecks: true\n      rejectInvalidJars: true\n      maxUniqueSnapshots: 10\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRemote repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/remoteIvyRepository:RemoteIvyRepository ivy-remote ivy-remote\n```\n\n",
            "properties": {
                "allowAnyHostAuth": {
                    "type": "boolean",
                    "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                },
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "assumedOfflinePeriodSecs": {
                    "type": "integer",
                    "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                },
                "blockMismatchingMimeTypes": {
                    "type": "boolean",
                    "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                },
                "bypassHeadRequests": {
                    "type": "boolean",
                    "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "clientTlsCertificate": {
                    "type": "string",
                    "description": "Client TLS certificate name."
                },
                "contentSynchronisation": {
                    "$ref": "#/types/artifactory:index/RemoteIvyRepositoryContentSynchronisation:RemoteIvyRepositoryContentSynchronisation"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                },
                "disableUrlNormalization": {
                    "type": "boolean",
                    "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                },
                "enableCookieManagement": {
                    "type": "boolean",
                    "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "fetchJarsEagerly": {
                    "type": "boolean",
                    "description": "When set, if a POM is requested, Artifactory attempts to fetch the corresponding jar in the background. This will accelerate first access time to the jar when it is subsequently requested.\n"
                },
                "fetchSourcesEagerly": {
                    "type": "boolean",
                    "description": "When set, if a binaries jar is requested, Artifactory attempts to fetch the corresponding source jar in the background. This will accelerate first access time to the source jar when it is subsequently requested.\n"
                },
                "handleReleases": {
                    "type": "boolean",
                    "description": "If set, Artifactory allows you to deploy release artifacts into this repository.\n"
                },
                "handleSnapshots": {
                    "type": "boolean",
                    "description": "If set, Artifactory allows you to deploy snapshot artifacts into this repository.\n"
                },
                "hardFail": {
                    "type": "boolean",
                    "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                },
                "listRemoteFolderItems": {
                    "type": "boolean",
                    "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                },
                "localAddress": {
                    "type": "string",
                    "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                },
                "maxUniqueSnapshots": {
                    "type": "integer",
                    "description": "The maximum number of unique snapshots of a single artifact to store. Once the number of snapshots exceeds this setting, older versions are removed. A value of 0 (default) indicates there is no limit, and unique snapshots are not cleaned up.\n"
                },
                "metadataRetrievalTimeoutSecs": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                },
                "mismatchingMimeTypesOverrideList": {
                    "type": "string",
                    "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                },
                "missedCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "offline": {
                    "type": "boolean",
                    "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                },
                "password": {
                    "type": "string",
                    "secret": true
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                },
                "queryParams": {
                    "type": "string",
                    "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                },
                "rejectInvalidJars": {
                    "type": "boolean",
                    "description": "Reject the caching of jar files that are found to be invalid. For example, pseudo jars retrieved behind a \"captive portal\".\n"
                },
                "remoteRepoChecksumPolicyType": {
                    "type": "string",
                    "description": "Checking the Checksum effectively verifies the integrity of a deployed resource. The Checksum Policy determines how the system behaves when a client checksum for a remote resource is missing or conflicts with the locally calculated checksum. Available policies are `generate-if-absent`, \u003cspan pulumi-lang-nodejs=\"`fail`\" pulumi-lang-dotnet=\"`Fail`\" pulumi-lang-go=\"`fail`\" pulumi-lang-python=\"`fail`\" pulumi-lang-yaml=\"`fail`\" pulumi-lang-java=\"`fail`\" pulumi-lang-hcl=\"`fail`\"\u003e`fail`\u003c/span\u003e, `ignore-and-generate`, and `pass-thru`.\n"
                },
                "remoteRepoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "retrievalCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                },
                "shareConfiguration": {
                    "type": "boolean",
                    "deprecationMessage": "No longer supported"
                },
                "socketTimeoutMillis": {
                    "type": "integer",
                    "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                },
                "storeArtifactsLocally": {
                    "type": "boolean",
                    "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                },
                "suppressPomConsistencyChecks": {
                    "type": "boolean",
                    "description": "By default, the system keeps your repositories healthy by refusing POMs with incorrect coordinates (path). If the groupId:artifactId:version information inside the POM does not match the deployed path, Artifactory rejects the deployment with a \"409 Conflict\" error. You can disable this behavior by setting this attribute to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                },
                "synchronizeProperties": {
                    "type": "boolean",
                    "description": "When set, remote artifacts are fetched along with their properties."
                },
                "unusedArtifactsCleanupPeriodHours": {
                    "type": "integer",
                    "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                },
                "url": {
                    "type": "string",
                    "description": "The remote repo URL.\n"
                },
                "username": {
                    "type": "string"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "allowAnyHostAuth",
                "archiveBrowsingEnabled",
                "assumedOfflinePeriodSecs",
                "blackedOut",
                "blockMismatchingMimeTypes",
                "bypassHeadRequests",
                "cdnRedirect",
                "clientTlsCertificate",
                "description",
                "disableProxy",
                "disableUrlNormalization",
                "downloadDirect",
                "enableCookieManagement",
                "excludesPattern",
                "fetchJarsEagerly",
                "fetchSourcesEagerly",
                "handleReleases",
                "handleSnapshots",
                "hardFail",
                "includesPattern",
                "key",
                "listRemoteFolderItems",
                "localAddress",
                "maxUniqueSnapshots",
                "metadataRetrievalTimeoutSecs",
                "mismatchingMimeTypesOverrideList",
                "missedCachePeriodSeconds",
                "notes",
                "offline",
                "priorityResolution",
                "projectEnvironments",
                "projectKey",
                "proxy",
                "queryParams",
                "rejectInvalidJars",
                "remoteRepoChecksumPolicyType",
                "remoteRepoLayoutRef",
                "repoLayoutRef",
                "retrievalCachePeriodSeconds",
                "shareConfiguration",
                "socketTimeoutMillis",
                "storeArtifactsLocally",
                "suppressPomConsistencyChecks",
                "synchronizeProperties",
                "unusedArtifactsCleanupPeriodHours",
                "url",
                "username",
                "xrayIndex"
            ],
            "inputProperties": {
                "allowAnyHostAuth": {
                    "type": "boolean",
                    "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                },
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "assumedOfflinePeriodSecs": {
                    "type": "integer",
                    "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                },
                "blockMismatchingMimeTypes": {
                    "type": "boolean",
                    "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                },
                "bypassHeadRequests": {
                    "type": "boolean",
                    "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "clientTlsCertificate": {
                    "type": "string",
                    "description": "Client TLS certificate name."
                },
                "contentSynchronisation": {
                    "$ref": "#/types/artifactory:index/RemoteIvyRepositoryContentSynchronisation:RemoteIvyRepositoryContentSynchronisation"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                },
                "disableUrlNormalization": {
                    "type": "boolean",
                    "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                },
                "enableCookieManagement": {
                    "type": "boolean",
                    "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "fetchJarsEagerly": {
                    "type": "boolean",
                    "description": "When set, if a POM is requested, Artifactory attempts to fetch the corresponding jar in the background. This will accelerate first access time to the jar when it is subsequently requested.\n"
                },
                "fetchSourcesEagerly": {
                    "type": "boolean",
                    "description": "When set, if a binaries jar is requested, Artifactory attempts to fetch the corresponding source jar in the background. This will accelerate first access time to the source jar when it is subsequently requested.\n"
                },
                "handleReleases": {
                    "type": "boolean",
                    "description": "If set, Artifactory allows you to deploy release artifacts into this repository.\n"
                },
                "handleSnapshots": {
                    "type": "boolean",
                    "description": "If set, Artifactory allows you to deploy snapshot artifacts into this repository.\n"
                },
                "hardFail": {
                    "type": "boolean",
                    "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                },
                "listRemoteFolderItems": {
                    "type": "boolean",
                    "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                },
                "localAddress": {
                    "type": "string",
                    "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                },
                "maxUniqueSnapshots": {
                    "type": "integer",
                    "description": "The maximum number of unique snapshots of a single artifact to store. Once the number of snapshots exceeds this setting, older versions are removed. A value of 0 (default) indicates there is no limit, and unique snapshots are not cleaned up.\n"
                },
                "metadataRetrievalTimeoutSecs": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                },
                "mismatchingMimeTypesOverrideList": {
                    "type": "string",
                    "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                },
                "missedCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "offline": {
                    "type": "boolean",
                    "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                },
                "password": {
                    "type": "string",
                    "secret": true
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                },
                "queryParams": {
                    "type": "string",
                    "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                },
                "rejectInvalidJars": {
                    "type": "boolean",
                    "description": "Reject the caching of jar files that are found to be invalid. For example, pseudo jars retrieved behind a \"captive portal\".\n"
                },
                "remoteRepoChecksumPolicyType": {
                    "type": "string",
                    "description": "Checking the Checksum effectively verifies the integrity of a deployed resource. The Checksum Policy determines how the system behaves when a client checksum for a remote resource is missing or conflicts with the locally calculated checksum. Available policies are `generate-if-absent`, \u003cspan pulumi-lang-nodejs=\"`fail`\" pulumi-lang-dotnet=\"`Fail`\" pulumi-lang-go=\"`fail`\" pulumi-lang-python=\"`fail`\" pulumi-lang-yaml=\"`fail`\" pulumi-lang-java=\"`fail`\" pulumi-lang-hcl=\"`fail`\"\u003e`fail`\u003c/span\u003e, `ignore-and-generate`, and `pass-thru`.\n"
                },
                "remoteRepoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "retrievalCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                },
                "shareConfiguration": {
                    "type": "boolean",
                    "deprecationMessage": "No longer supported"
                },
                "socketTimeoutMillis": {
                    "type": "integer",
                    "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                },
                "storeArtifactsLocally": {
                    "type": "boolean",
                    "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                },
                "suppressPomConsistencyChecks": {
                    "type": "boolean",
                    "description": "By default, the system keeps your repositories healthy by refusing POMs with incorrect coordinates (path). If the groupId:artifactId:version information inside the POM does not match the deployed path, Artifactory rejects the deployment with a \"409 Conflict\" error. You can disable this behavior by setting this attribute to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                },
                "synchronizeProperties": {
                    "type": "boolean",
                    "description": "When set, remote artifacts are fetched along with their properties."
                },
                "unusedArtifactsCleanupPeriodHours": {
                    "type": "integer",
                    "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                },
                "url": {
                    "type": "string",
                    "description": "The remote repo URL.\n"
                },
                "username": {
                    "type": "string"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key",
                "url"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering RemoteIvyRepository resources.\n",
                "properties": {
                    "allowAnyHostAuth": {
                        "type": "boolean",
                        "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                    },
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "assumedOfflinePeriodSecs": {
                        "type": "integer",
                        "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                    },
                    "blockMismatchingMimeTypes": {
                        "type": "boolean",
                        "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                    },
                    "bypassHeadRequests": {
                        "type": "boolean",
                        "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "clientTlsCertificate": {
                        "type": "string",
                        "description": "Client TLS certificate name."
                    },
                    "contentSynchronisation": {
                        "$ref": "#/types/artifactory:index/RemoteIvyRepositoryContentSynchronisation:RemoteIvyRepositoryContentSynchronisation"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "disableProxy": {
                        "type": "boolean",
                        "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                    },
                    "disableUrlNormalization": {
                        "type": "boolean",
                        "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                    },
                    "enableCookieManagement": {
                        "type": "boolean",
                        "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "fetchJarsEagerly": {
                        "type": "boolean",
                        "description": "When set, if a POM is requested, Artifactory attempts to fetch the corresponding jar in the background. This will accelerate first access time to the jar when it is subsequently requested.\n"
                    },
                    "fetchSourcesEagerly": {
                        "type": "boolean",
                        "description": "When set, if a binaries jar is requested, Artifactory attempts to fetch the corresponding source jar in the background. This will accelerate first access time to the source jar when it is subsequently requested.\n"
                    },
                    "handleReleases": {
                        "type": "boolean",
                        "description": "If set, Artifactory allows you to deploy release artifacts into this repository.\n"
                    },
                    "handleSnapshots": {
                        "type": "boolean",
                        "description": "If set, Artifactory allows you to deploy snapshot artifacts into this repository.\n"
                    },
                    "hardFail": {
                        "type": "boolean",
                        "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                    },
                    "listRemoteFolderItems": {
                        "type": "boolean",
                        "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                    },
                    "localAddress": {
                        "type": "string",
                        "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                    },
                    "maxUniqueSnapshots": {
                        "type": "integer",
                        "description": "The maximum number of unique snapshots of a single artifact to store. Once the number of snapshots exceeds this setting, older versions are removed. A value of 0 (default) indicates there is no limit, and unique snapshots are not cleaned up.\n"
                    },
                    "metadataRetrievalTimeoutSecs": {
                        "type": "integer",
                        "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                    },
                    "mismatchingMimeTypesOverrideList": {
                        "type": "string",
                        "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                    },
                    "missedCachePeriodSeconds": {
                        "type": "integer",
                        "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "offline": {
                        "type": "boolean",
                        "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                    },
                    "password": {
                        "type": "string",
                        "secret": true
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "proxy": {
                        "type": "string",
                        "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                    },
                    "queryParams": {
                        "type": "string",
                        "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                    },
                    "rejectInvalidJars": {
                        "type": "boolean",
                        "description": "Reject the caching of jar files that are found to be invalid. For example, pseudo jars retrieved behind a \"captive portal\".\n"
                    },
                    "remoteRepoChecksumPolicyType": {
                        "type": "string",
                        "description": "Checking the Checksum effectively verifies the integrity of a deployed resource. The Checksum Policy determines how the system behaves when a client checksum for a remote resource is missing or conflicts with the locally calculated checksum. Available policies are `generate-if-absent`, \u003cspan pulumi-lang-nodejs=\"`fail`\" pulumi-lang-dotnet=\"`Fail`\" pulumi-lang-go=\"`fail`\" pulumi-lang-python=\"`fail`\" pulumi-lang-yaml=\"`fail`\" pulumi-lang-java=\"`fail`\" pulumi-lang-hcl=\"`fail`\"\u003e`fail`\u003c/span\u003e, `ignore-and-generate`, and `pass-thru`.\n"
                    },
                    "remoteRepoLayoutRef": {
                        "type": "string",
                        "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                    },
                    "retrievalCachePeriodSeconds": {
                        "type": "integer",
                        "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                    },
                    "shareConfiguration": {
                        "type": "boolean",
                        "deprecationMessage": "No longer supported"
                    },
                    "socketTimeoutMillis": {
                        "type": "integer",
                        "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                    },
                    "storeArtifactsLocally": {
                        "type": "boolean",
                        "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                    },
                    "suppressPomConsistencyChecks": {
                        "type": "boolean",
                        "description": "By default, the system keeps your repositories healthy by refusing POMs with incorrect coordinates (path). If the groupId:artifactId:version information inside the POM does not match the deployed path, Artifactory rejects the deployment with a \"409 Conflict\" error. You can disable this behavior by setting this attribute to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                    },
                    "synchronizeProperties": {
                        "type": "boolean",
                        "description": "When set, remote artifacts are fetched along with their properties."
                    },
                    "unusedArtifactsCleanupPeriodHours": {
                        "type": "integer",
                        "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                    },
                    "url": {
                        "type": "string",
                        "description": "The remote repo URL.\n"
                    },
                    "username": {
                        "type": "string"
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/remoteMavenRepository:RemoteMavenRepository": {
            "description": "Creates a remote Maven repository.\nOfficial documentation can be found [here](https://www.jfrog.com/confluence/display/JFROG/Maven+Repository).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst maven_remote = new artifactory.RemoteMavenRepository(\"maven-remote\", {\n    key: \"maven-remote-foo\",\n    url: \"https://repo1.maven.org/maven2/\",\n    fetchJarsEagerly: true,\n    fetchSourcesEagerly: false,\n    suppressPomConsistencyChecks: false,\n    rejectInvalidJars: true,\n    metadataRetrievalTimeoutSecs: 120,\n    maxUniqueSnapshots: 10,\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nmaven_remote = artifactory.RemoteMavenRepository(\"maven-remote\",\n    key=\"maven-remote-foo\",\n    url=\"https://repo1.maven.org/maven2/\",\n    fetch_jars_eagerly=True,\n    fetch_sources_eagerly=False,\n    suppress_pom_consistency_checks=False,\n    reject_invalid_jars=True,\n    metadata_retrieval_timeout_secs=120,\n    max_unique_snapshots=10)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var maven_remote = new Artifactory.RemoteMavenRepository(\"maven-remote\", new()\n    {\n        Key = \"maven-remote-foo\",\n        Url = \"https://repo1.maven.org/maven2/\",\n        FetchJarsEagerly = true,\n        FetchSourcesEagerly = false,\n        SuppressPomConsistencyChecks = false,\n        RejectInvalidJars = true,\n        MetadataRetrievalTimeoutSecs = 120,\n        MaxUniqueSnapshots = 10,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewRemoteMavenRepository(ctx, \"maven-remote\", \u0026artifactory.RemoteMavenRepositoryArgs{\n\t\t\tKey:                          pulumi.String(\"maven-remote-foo\"),\n\t\t\tUrl:                          pulumi.String(\"https://repo1.maven.org/maven2/\"),\n\t\t\tFetchJarsEagerly:             pulumi.Bool(true),\n\t\t\tFetchSourcesEagerly:          pulumi.Bool(false),\n\t\t\tSuppressPomConsistencyChecks: pulumi.Bool(false),\n\t\t\tRejectInvalidJars:            pulumi.Bool(true),\n\t\t\tMetadataRetrievalTimeoutSecs: pulumi.Int(120),\n\t\t\tMaxUniqueSnapshots:           pulumi.Int(10),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_remotemavenrepository\" \"maven-remote\" {\n  key                             = \"maven-remote-foo\"\n  url                             = \"https://repo1.maven.org/maven2/\"\n  fetch_jars_eagerly              = true\n  fetch_sources_eagerly           = false\n  suppress_pom_consistency_checks = false\n  reject_invalid_jars             = true\n  metadata_retrieval_timeout_secs = 120\n  max_unique_snapshots            = 10\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.RemoteMavenRepository;\nimport com.pulumi.artifactory.RemoteMavenRepositoryArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 maven_remote = new RemoteMavenRepository(\"maven-remote\", RemoteMavenRepositoryArgs.builder()\n            .key(\"maven-remote-foo\")\n            .url(\"https://repo1.maven.org/maven2/\")\n            .fetchJarsEagerly(true)\n            .fetchSourcesEagerly(false)\n            .suppressPomConsistencyChecks(false)\n            .rejectInvalidJars(true)\n            .metadataRetrievalTimeoutSecs(120)\n            .maxUniqueSnapshots(10)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  maven-remote:\n    type: artifactory:RemoteMavenRepository\n    properties:\n      key: maven-remote-foo\n      url: https://repo1.maven.org/maven2/\n      fetchJarsEagerly: true\n      fetchSourcesEagerly: false\n      suppressPomConsistencyChecks: false\n      rejectInvalidJars: true\n      metadataRetrievalTimeoutSecs: 120\n      maxUniqueSnapshots: 10\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRemote repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/remoteMavenRepository:RemoteMavenRepository maven-remote maven-remote\n```\n\n",
            "properties": {
                "allowAnyHostAuth": {
                    "type": "boolean",
                    "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                },
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "assumedOfflinePeriodSecs": {
                    "type": "integer",
                    "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                },
                "blockMismatchingMimeTypes": {
                    "type": "boolean",
                    "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                },
                "bypassHeadRequests": {
                    "type": "boolean",
                    "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "clientTlsCertificate": {
                    "type": "string",
                    "description": "Client TLS certificate name."
                },
                "contentSynchronisation": {
                    "$ref": "#/types/artifactory:index/RemoteMavenRepositoryContentSynchronisation:RemoteMavenRepositoryContentSynchronisation"
                },
                "curated": {
                    "type": "boolean",
                    "description": "Enable repository to be protected by the Curation service.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                },
                "disableUrlNormalization": {
                    "type": "boolean",
                    "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                },
                "enableCookieManagement": {
                    "type": "boolean",
                    "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "fetchJarsEagerly": {
                    "type": "boolean",
                    "description": "When set, if a POM is requested, Artifactory attempts to fetch the corresponding jar in the background. This will accelerate first access time to the jar when it is subsequently requested.\n"
                },
                "fetchSourcesEagerly": {
                    "type": "boolean",
                    "description": "When set, if a binaries jar is requested, Artifactory attempts to fetch the corresponding source jar in the background. This will accelerate first access time to the source jar when it is subsequently requested.\n"
                },
                "handleReleases": {
                    "type": "boolean",
                    "description": "If set, Artifactory allows you to deploy release artifacts into this repository.\n"
                },
                "handleSnapshots": {
                    "type": "boolean",
                    "description": "If set, Artifactory allows you to deploy snapshot artifacts into this repository.\n"
                },
                "hardFail": {
                    "type": "boolean",
                    "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                },
                "listRemoteFolderItems": {
                    "type": "boolean",
                    "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                },
                "localAddress": {
                    "type": "string",
                    "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                },
                "maxUniqueSnapshots": {
                    "type": "integer",
                    "description": "The maximum number of unique snapshots of a single artifact to store. Once the number of snapshots exceeds this setting, older versions are removed. A value of 0 (default) indicates there is no limit, and unique snapshots are not cleaned up.\n"
                },
                "metadataRetrievalTimeoutSecs": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                },
                "mismatchingMimeTypesOverrideList": {
                    "type": "string",
                    "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                },
                "missedCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "offline": {
                    "type": "boolean",
                    "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                },
                "passThrough": {
                    "type": "boolean",
                    "description": "Enable Pass-through for Curation Audit. When enabled, allows artifacts to pass through the Curation audit process.\n"
                },
                "password": {
                    "type": "string",
                    "secret": true
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                },
                "queryParams": {
                    "type": "string",
                    "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                },
                "rejectInvalidJars": {
                    "type": "boolean",
                    "description": "Reject the caching of jar files that are found to be invalid. For example, pseudo jars retrieved behind a \"captive portal\".\n"
                },
                "remoteRepoChecksumPolicyType": {
                    "type": "string",
                    "description": "Checking the Checksum effectively verifies the integrity of a deployed resource. The Checksum Policy determines how the system behaves when a client checksum for a remote resource is missing or conflicts with the locally calculated checksum. Available policies are `generate-if-absent`, \u003cspan pulumi-lang-nodejs=\"`fail`\" pulumi-lang-dotnet=\"`Fail`\" pulumi-lang-go=\"`fail`\" pulumi-lang-python=\"`fail`\" pulumi-lang-yaml=\"`fail`\" pulumi-lang-java=\"`fail`\" pulumi-lang-hcl=\"`fail`\"\u003e`fail`\u003c/span\u003e, `ignore-and-generate`, and `pass-thru`.\n"
                },
                "remoteRepoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "retrievalCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                },
                "shareConfiguration": {
                    "type": "boolean",
                    "deprecationMessage": "No longer supported"
                },
                "socketTimeoutMillis": {
                    "type": "integer",
                    "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                },
                "storeArtifactsLocally": {
                    "type": "boolean",
                    "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                },
                "suppressPomConsistencyChecks": {
                    "type": "boolean",
                    "description": "By default, the system keeps your repositories healthy by refusing POMs with incorrect coordinates (path). If the groupId:artifactId:version information inside the POM does not match the deployed path, Artifactory rejects the deployment with a \"409 Conflict\" error. You can disable this behavior by setting this attribute to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                },
                "synchronizeProperties": {
                    "type": "boolean",
                    "description": "When set, remote artifacts are fetched along with their properties."
                },
                "unusedArtifactsCleanupPeriodHours": {
                    "type": "integer",
                    "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                },
                "url": {
                    "type": "string",
                    "description": "The remote repo URL.\n"
                },
                "username": {
                    "type": "string"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "allowAnyHostAuth",
                "archiveBrowsingEnabled",
                "assumedOfflinePeriodSecs",
                "blackedOut",
                "blockMismatchingMimeTypes",
                "bypassHeadRequests",
                "cdnRedirect",
                "clientTlsCertificate",
                "curated",
                "description",
                "disableProxy",
                "disableUrlNormalization",
                "downloadDirect",
                "enableCookieManagement",
                "excludesPattern",
                "fetchJarsEagerly",
                "fetchSourcesEagerly",
                "handleReleases",
                "handleSnapshots",
                "hardFail",
                "includesPattern",
                "key",
                "listRemoteFolderItems",
                "localAddress",
                "maxUniqueSnapshots",
                "metadataRetrievalTimeoutSecs",
                "mismatchingMimeTypesOverrideList",
                "missedCachePeriodSeconds",
                "notes",
                "offline",
                "passThrough",
                "priorityResolution",
                "projectEnvironments",
                "projectKey",
                "proxy",
                "queryParams",
                "rejectInvalidJars",
                "remoteRepoChecksumPolicyType",
                "remoteRepoLayoutRef",
                "repoLayoutRef",
                "retrievalCachePeriodSeconds",
                "shareConfiguration",
                "socketTimeoutMillis",
                "storeArtifactsLocally",
                "suppressPomConsistencyChecks",
                "synchronizeProperties",
                "unusedArtifactsCleanupPeriodHours",
                "url",
                "username",
                "xrayIndex"
            ],
            "inputProperties": {
                "allowAnyHostAuth": {
                    "type": "boolean",
                    "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                },
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "assumedOfflinePeriodSecs": {
                    "type": "integer",
                    "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                },
                "blockMismatchingMimeTypes": {
                    "type": "boolean",
                    "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                },
                "bypassHeadRequests": {
                    "type": "boolean",
                    "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "clientTlsCertificate": {
                    "type": "string",
                    "description": "Client TLS certificate name."
                },
                "contentSynchronisation": {
                    "$ref": "#/types/artifactory:index/RemoteMavenRepositoryContentSynchronisation:RemoteMavenRepositoryContentSynchronisation"
                },
                "curated": {
                    "type": "boolean",
                    "description": "Enable repository to be protected by the Curation service.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                },
                "disableUrlNormalization": {
                    "type": "boolean",
                    "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                },
                "enableCookieManagement": {
                    "type": "boolean",
                    "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "fetchJarsEagerly": {
                    "type": "boolean",
                    "description": "When set, if a POM is requested, Artifactory attempts to fetch the corresponding jar in the background. This will accelerate first access time to the jar when it is subsequently requested.\n"
                },
                "fetchSourcesEagerly": {
                    "type": "boolean",
                    "description": "When set, if a binaries jar is requested, Artifactory attempts to fetch the corresponding source jar in the background. This will accelerate first access time to the source jar when it is subsequently requested.\n"
                },
                "handleReleases": {
                    "type": "boolean",
                    "description": "If set, Artifactory allows you to deploy release artifacts into this repository.\n"
                },
                "handleSnapshots": {
                    "type": "boolean",
                    "description": "If set, Artifactory allows you to deploy snapshot artifacts into this repository.\n"
                },
                "hardFail": {
                    "type": "boolean",
                    "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                },
                "listRemoteFolderItems": {
                    "type": "boolean",
                    "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                },
                "localAddress": {
                    "type": "string",
                    "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                },
                "maxUniqueSnapshots": {
                    "type": "integer",
                    "description": "The maximum number of unique snapshots of a single artifact to store. Once the number of snapshots exceeds this setting, older versions are removed. A value of 0 (default) indicates there is no limit, and unique snapshots are not cleaned up.\n"
                },
                "metadataRetrievalTimeoutSecs": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                },
                "mismatchingMimeTypesOverrideList": {
                    "type": "string",
                    "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                },
                "missedCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "offline": {
                    "type": "boolean",
                    "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                },
                "passThrough": {
                    "type": "boolean",
                    "description": "Enable Pass-through for Curation Audit. When enabled, allows artifacts to pass through the Curation audit process.\n"
                },
                "password": {
                    "type": "string",
                    "secret": true
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                },
                "queryParams": {
                    "type": "string",
                    "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                },
                "rejectInvalidJars": {
                    "type": "boolean",
                    "description": "Reject the caching of jar files that are found to be invalid. For example, pseudo jars retrieved behind a \"captive portal\".\n"
                },
                "remoteRepoChecksumPolicyType": {
                    "type": "string",
                    "description": "Checking the Checksum effectively verifies the integrity of a deployed resource. The Checksum Policy determines how the system behaves when a client checksum for a remote resource is missing or conflicts with the locally calculated checksum. Available policies are `generate-if-absent`, \u003cspan pulumi-lang-nodejs=\"`fail`\" pulumi-lang-dotnet=\"`Fail`\" pulumi-lang-go=\"`fail`\" pulumi-lang-python=\"`fail`\" pulumi-lang-yaml=\"`fail`\" pulumi-lang-java=\"`fail`\" pulumi-lang-hcl=\"`fail`\"\u003e`fail`\u003c/span\u003e, `ignore-and-generate`, and `pass-thru`.\n"
                },
                "remoteRepoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "retrievalCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                },
                "shareConfiguration": {
                    "type": "boolean",
                    "deprecationMessage": "No longer supported"
                },
                "socketTimeoutMillis": {
                    "type": "integer",
                    "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                },
                "storeArtifactsLocally": {
                    "type": "boolean",
                    "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                },
                "suppressPomConsistencyChecks": {
                    "type": "boolean",
                    "description": "By default, the system keeps your repositories healthy by refusing POMs with incorrect coordinates (path). If the groupId:artifactId:version information inside the POM does not match the deployed path, Artifactory rejects the deployment with a \"409 Conflict\" error. You can disable this behavior by setting this attribute to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                },
                "synchronizeProperties": {
                    "type": "boolean",
                    "description": "When set, remote artifacts are fetched along with their properties."
                },
                "unusedArtifactsCleanupPeriodHours": {
                    "type": "integer",
                    "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                },
                "url": {
                    "type": "string",
                    "description": "The remote repo URL.\n"
                },
                "username": {
                    "type": "string"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key",
                "url"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering RemoteMavenRepository resources.\n",
                "properties": {
                    "allowAnyHostAuth": {
                        "type": "boolean",
                        "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                    },
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "assumedOfflinePeriodSecs": {
                        "type": "integer",
                        "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                    },
                    "blockMismatchingMimeTypes": {
                        "type": "boolean",
                        "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                    },
                    "bypassHeadRequests": {
                        "type": "boolean",
                        "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "clientTlsCertificate": {
                        "type": "string",
                        "description": "Client TLS certificate name."
                    },
                    "contentSynchronisation": {
                        "$ref": "#/types/artifactory:index/RemoteMavenRepositoryContentSynchronisation:RemoteMavenRepositoryContentSynchronisation"
                    },
                    "curated": {
                        "type": "boolean",
                        "description": "Enable repository to be protected by the Curation service.\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "disableProxy": {
                        "type": "boolean",
                        "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                    },
                    "disableUrlNormalization": {
                        "type": "boolean",
                        "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                    },
                    "enableCookieManagement": {
                        "type": "boolean",
                        "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "fetchJarsEagerly": {
                        "type": "boolean",
                        "description": "When set, if a POM is requested, Artifactory attempts to fetch the corresponding jar in the background. This will accelerate first access time to the jar when it is subsequently requested.\n"
                    },
                    "fetchSourcesEagerly": {
                        "type": "boolean",
                        "description": "When set, if a binaries jar is requested, Artifactory attempts to fetch the corresponding source jar in the background. This will accelerate first access time to the source jar when it is subsequently requested.\n"
                    },
                    "handleReleases": {
                        "type": "boolean",
                        "description": "If set, Artifactory allows you to deploy release artifacts into this repository.\n"
                    },
                    "handleSnapshots": {
                        "type": "boolean",
                        "description": "If set, Artifactory allows you to deploy snapshot artifacts into this repository.\n"
                    },
                    "hardFail": {
                        "type": "boolean",
                        "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                    },
                    "listRemoteFolderItems": {
                        "type": "boolean",
                        "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                    },
                    "localAddress": {
                        "type": "string",
                        "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                    },
                    "maxUniqueSnapshots": {
                        "type": "integer",
                        "description": "The maximum number of unique snapshots of a single artifact to store. Once the number of snapshots exceeds this setting, older versions are removed. A value of 0 (default) indicates there is no limit, and unique snapshots are not cleaned up.\n"
                    },
                    "metadataRetrievalTimeoutSecs": {
                        "type": "integer",
                        "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                    },
                    "mismatchingMimeTypesOverrideList": {
                        "type": "string",
                        "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                    },
                    "missedCachePeriodSeconds": {
                        "type": "integer",
                        "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "offline": {
                        "type": "boolean",
                        "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                    },
                    "passThrough": {
                        "type": "boolean",
                        "description": "Enable Pass-through for Curation Audit. When enabled, allows artifacts to pass through the Curation audit process.\n"
                    },
                    "password": {
                        "type": "string",
                        "secret": true
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "proxy": {
                        "type": "string",
                        "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                    },
                    "queryParams": {
                        "type": "string",
                        "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                    },
                    "rejectInvalidJars": {
                        "type": "boolean",
                        "description": "Reject the caching of jar files that are found to be invalid. For example, pseudo jars retrieved behind a \"captive portal\".\n"
                    },
                    "remoteRepoChecksumPolicyType": {
                        "type": "string",
                        "description": "Checking the Checksum effectively verifies the integrity of a deployed resource. The Checksum Policy determines how the system behaves when a client checksum for a remote resource is missing or conflicts with the locally calculated checksum. Available policies are `generate-if-absent`, \u003cspan pulumi-lang-nodejs=\"`fail`\" pulumi-lang-dotnet=\"`Fail`\" pulumi-lang-go=\"`fail`\" pulumi-lang-python=\"`fail`\" pulumi-lang-yaml=\"`fail`\" pulumi-lang-java=\"`fail`\" pulumi-lang-hcl=\"`fail`\"\u003e`fail`\u003c/span\u003e, `ignore-and-generate`, and `pass-thru`.\n"
                    },
                    "remoteRepoLayoutRef": {
                        "type": "string",
                        "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                    },
                    "retrievalCachePeriodSeconds": {
                        "type": "integer",
                        "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                    },
                    "shareConfiguration": {
                        "type": "boolean",
                        "deprecationMessage": "No longer supported"
                    },
                    "socketTimeoutMillis": {
                        "type": "integer",
                        "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                    },
                    "storeArtifactsLocally": {
                        "type": "boolean",
                        "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                    },
                    "suppressPomConsistencyChecks": {
                        "type": "boolean",
                        "description": "By default, the system keeps your repositories healthy by refusing POMs with incorrect coordinates (path). If the groupId:artifactId:version information inside the POM does not match the deployed path, Artifactory rejects the deployment with a \"409 Conflict\" error. You can disable this behavior by setting this attribute to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                    },
                    "synchronizeProperties": {
                        "type": "boolean",
                        "description": "When set, remote artifacts are fetched along with their properties."
                    },
                    "unusedArtifactsCleanupPeriodHours": {
                        "type": "integer",
                        "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                    },
                    "url": {
                        "type": "string",
                        "description": "The remote repo URL.\n"
                    },
                    "username": {
                        "type": "string"
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/remoteNixRepository:RemoteNixRepository": {
            "description": "Creates a remote Nix repository that proxies and caches a Nix binary cache (for example `https://cache.nixos.org`). See [Nix repositories](https://docs.jfrog.com/artifactory/docs/nix-repositories).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst my_nix_remote = new artifactory.RemoteNixRepository(\"my-nix-remote\", {\n    key: \"my-nix-remote\",\n    url: \"https://cache.nixos.org\",\n    description: \"Remote Nix cache\",\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nmy_nix_remote = artifactory.RemoteNixRepository(\"my-nix-remote\",\n    key=\"my-nix-remote\",\n    url=\"https://cache.nixos.org\",\n    description=\"Remote Nix cache\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var my_nix_remote = new Artifactory.RemoteNixRepository(\"my-nix-remote\", new()\n    {\n        Key = \"my-nix-remote\",\n        Url = \"https://cache.nixos.org\",\n        Description = \"Remote Nix cache\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewRemoteNixRepository(ctx, \"my-nix-remote\", \u0026artifactory.RemoteNixRepositoryArgs{\n\t\t\tKey:         pulumi.String(\"my-nix-remote\"),\n\t\t\tUrl:         pulumi.String(\"https://cache.nixos.org\"),\n\t\t\tDescription: pulumi.String(\"Remote Nix cache\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_remotenixrepository\" \"my-nix-remote\" {\n  key         = \"my-nix-remote\"\n  url         = \"https://cache.nixos.org\"\n  description = \"Remote Nix cache\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.RemoteNixRepository;\nimport com.pulumi.artifactory.RemoteNixRepositoryArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 my_nix_remote = new RemoteNixRepository(\"my-nix-remote\", RemoteNixRepositoryArgs.builder()\n            .key(\"my-nix-remote\")\n            .url(\"https://cache.nixos.org\")\n            .description(\"Remote Nix cache\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  my-nix-remote:\n    type: artifactory:RemoteNixRepository\n    properties:\n      key: my-nix-remote\n      url: https://cache.nixos.org\n      description: Remote Nix cache\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRepositories can be imported using the repository key, for example:\n\n```sh\n$ pulumi import artifactory:index/remoteNixRepository:RemoteNixRepository my-nix-remote my-nix-remote\n```\n\n",
            "properties": {
                "allowAnyHostAuth": {
                    "type": "boolean",
                    "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                },
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "assumedOfflinePeriodSecs": {
                    "type": "integer",
                    "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                },
                "blockMismatchingMimeTypes": {
                    "type": "boolean",
                    "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                },
                "bypassHeadRequests": {
                    "type": "boolean",
                    "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "clientTlsCertificate": {
                    "type": "string",
                    "description": "Client TLS certificate name."
                },
                "contentSynchronisation": {
                    "$ref": "#/types/artifactory:index/RemoteNixRepositoryContentSynchronisation:RemoteNixRepositoryContentSynchronisation"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                },
                "disableUrlNormalization": {
                    "type": "boolean",
                    "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                },
                "enableCookieManagement": {
                    "type": "boolean",
                    "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "hardFail": {
                    "type": "boolean",
                    "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "Repository key.\n"
                },
                "listRemoteFolderItems": {
                    "type": "boolean",
                    "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                },
                "localAddress": {
                    "type": "string",
                    "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                },
                "metadataRetrievalTimeoutSecs": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                },
                "mismatchingMimeTypesOverrideList": {
                    "type": "string",
                    "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                },
                "missedCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "offline": {
                    "type": "boolean",
                    "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                },
                "password": {
                    "type": "string",
                    "secret": true
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                },
                "queryParams": {
                    "type": "string",
                    "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                },
                "remoteRepoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout reference. Defaults to `nix-default` when unset.\n"
                },
                "retrievalCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                },
                "shareConfiguration": {
                    "type": "boolean",
                    "deprecationMessage": "No longer supported"
                },
                "socketTimeoutMillis": {
                    "type": "integer",
                    "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                },
                "storeArtifactsLocally": {
                    "type": "boolean",
                    "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                },
                "synchronizeProperties": {
                    "type": "boolean",
                    "description": "When set, remote artifacts are fetched along with their properties."
                },
                "unusedArtifactsCleanupPeriodHours": {
                    "type": "integer",
                    "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                },
                "url": {
                    "type": "string",
                    "description": "URL of the upstream Nix binary cache.\n"
                },
                "username": {
                    "type": "string"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "allowAnyHostAuth",
                "archiveBrowsingEnabled",
                "assumedOfflinePeriodSecs",
                "blackedOut",
                "blockMismatchingMimeTypes",
                "bypassHeadRequests",
                "cdnRedirect",
                "clientTlsCertificate",
                "description",
                "disableProxy",
                "disableUrlNormalization",
                "downloadDirect",
                "enableCookieManagement",
                "excludesPattern",
                "hardFail",
                "includesPattern",
                "key",
                "listRemoteFolderItems",
                "localAddress",
                "metadataRetrievalTimeoutSecs",
                "mismatchingMimeTypesOverrideList",
                "missedCachePeriodSeconds",
                "notes",
                "offline",
                "priorityResolution",
                "projectEnvironments",
                "projectKey",
                "proxy",
                "queryParams",
                "remoteRepoLayoutRef",
                "repoLayoutRef",
                "retrievalCachePeriodSeconds",
                "shareConfiguration",
                "socketTimeoutMillis",
                "storeArtifactsLocally",
                "synchronizeProperties",
                "unusedArtifactsCleanupPeriodHours",
                "url",
                "username",
                "xrayIndex"
            ],
            "inputProperties": {
                "allowAnyHostAuth": {
                    "type": "boolean",
                    "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                },
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "assumedOfflinePeriodSecs": {
                    "type": "integer",
                    "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                },
                "blockMismatchingMimeTypes": {
                    "type": "boolean",
                    "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                },
                "bypassHeadRequests": {
                    "type": "boolean",
                    "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "clientTlsCertificate": {
                    "type": "string",
                    "description": "Client TLS certificate name."
                },
                "contentSynchronisation": {
                    "$ref": "#/types/artifactory:index/RemoteNixRepositoryContentSynchronisation:RemoteNixRepositoryContentSynchronisation"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                },
                "disableUrlNormalization": {
                    "type": "boolean",
                    "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                },
                "enableCookieManagement": {
                    "type": "boolean",
                    "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "hardFail": {
                    "type": "boolean",
                    "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "Repository key.\n"
                },
                "listRemoteFolderItems": {
                    "type": "boolean",
                    "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                },
                "localAddress": {
                    "type": "string",
                    "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                },
                "metadataRetrievalTimeoutSecs": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                },
                "mismatchingMimeTypesOverrideList": {
                    "type": "string",
                    "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                },
                "missedCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "offline": {
                    "type": "boolean",
                    "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                },
                "password": {
                    "type": "string",
                    "secret": true
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                },
                "queryParams": {
                    "type": "string",
                    "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                },
                "remoteRepoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout reference. Defaults to `nix-default` when unset.\n"
                },
                "retrievalCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                },
                "shareConfiguration": {
                    "type": "boolean",
                    "deprecationMessage": "No longer supported"
                },
                "socketTimeoutMillis": {
                    "type": "integer",
                    "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                },
                "storeArtifactsLocally": {
                    "type": "boolean",
                    "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                },
                "synchronizeProperties": {
                    "type": "boolean",
                    "description": "When set, remote artifacts are fetched along with their properties."
                },
                "unusedArtifactsCleanupPeriodHours": {
                    "type": "integer",
                    "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                },
                "url": {
                    "type": "string",
                    "description": "URL of the upstream Nix binary cache.\n"
                },
                "username": {
                    "type": "string"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key",
                "url"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering RemoteNixRepository resources.\n",
                "properties": {
                    "allowAnyHostAuth": {
                        "type": "boolean",
                        "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                    },
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "assumedOfflinePeriodSecs": {
                        "type": "integer",
                        "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                    },
                    "blockMismatchingMimeTypes": {
                        "type": "boolean",
                        "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                    },
                    "bypassHeadRequests": {
                        "type": "boolean",
                        "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "clientTlsCertificate": {
                        "type": "string",
                        "description": "Client TLS certificate name."
                    },
                    "contentSynchronisation": {
                        "$ref": "#/types/artifactory:index/RemoteNixRepositoryContentSynchronisation:RemoteNixRepositoryContentSynchronisation"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "disableProxy": {
                        "type": "boolean",
                        "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                    },
                    "disableUrlNormalization": {
                        "type": "boolean",
                        "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                    },
                    "enableCookieManagement": {
                        "type": "boolean",
                        "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "hardFail": {
                        "type": "boolean",
                        "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "Repository key.\n"
                    },
                    "listRemoteFolderItems": {
                        "type": "boolean",
                        "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                    },
                    "localAddress": {
                        "type": "string",
                        "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                    },
                    "metadataRetrievalTimeoutSecs": {
                        "type": "integer",
                        "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                    },
                    "mismatchingMimeTypesOverrideList": {
                        "type": "string",
                        "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                    },
                    "missedCachePeriodSeconds": {
                        "type": "integer",
                        "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "offline": {
                        "type": "boolean",
                        "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                    },
                    "password": {
                        "type": "string",
                        "secret": true
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "proxy": {
                        "type": "string",
                        "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                    },
                    "queryParams": {
                        "type": "string",
                        "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                    },
                    "remoteRepoLayoutRef": {
                        "type": "string",
                        "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Repository layout reference. Defaults to `nix-default` when unset.\n"
                    },
                    "retrievalCachePeriodSeconds": {
                        "type": "integer",
                        "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                    },
                    "shareConfiguration": {
                        "type": "boolean",
                        "deprecationMessage": "No longer supported"
                    },
                    "socketTimeoutMillis": {
                        "type": "integer",
                        "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                    },
                    "storeArtifactsLocally": {
                        "type": "boolean",
                        "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                    },
                    "synchronizeProperties": {
                        "type": "boolean",
                        "description": "When set, remote artifacts are fetched along with their properties."
                    },
                    "unusedArtifactsCleanupPeriodHours": {
                        "type": "integer",
                        "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                    },
                    "url": {
                        "type": "string",
                        "description": "URL of the upstream Nix binary cache.\n"
                    },
                    "username": {
                        "type": "string"
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/remoteNpmRepository:RemoteNpmRepository": {
            "description": "Creates a remote Npm repository. \nOfficial documentation can be found [here](https://www.jfrog.com/confluence/display/JFROG/npm+Registry).\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst npm_remote = new artifactory.RemoteNpmRepository(\"npm-remote\", {\n    key: \"npm-remote\",\n    url: \"https://registry.npmjs.org\",\n    listRemoteFolderItems: true,\n    mismatchingMimeTypesOverrideList: \"application/json,application/xml\",\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nnpm_remote = artifactory.RemoteNpmRepository(\"npm-remote\",\n    key=\"npm-remote\",\n    url=\"https://registry.npmjs.org\",\n    list_remote_folder_items=True,\n    mismatching_mime_types_override_list=\"application/json,application/xml\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var npm_remote = new Artifactory.RemoteNpmRepository(\"npm-remote\", new()\n    {\n        Key = \"npm-remote\",\n        Url = \"https://registry.npmjs.org\",\n        ListRemoteFolderItems = true,\n        MismatchingMimeTypesOverrideList = \"application/json,application/xml\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewRemoteNpmRepository(ctx, \"npm-remote\", \u0026artifactory.RemoteNpmRepositoryArgs{\n\t\t\tKey:                              pulumi.String(\"npm-remote\"),\n\t\t\tUrl:                              pulumi.String(\"https://registry.npmjs.org\"),\n\t\t\tListRemoteFolderItems:            pulumi.Bool(true),\n\t\t\tMismatchingMimeTypesOverrideList: pulumi.String(\"application/json,application/xml\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_remotenpmrepository\" \"npm-remote\" {\n  key                                  = \"npm-remote\"\n  url                                  = \"https://registry.npmjs.org\"\n  list_remote_folder_items             = true\n  mismatching_mime_types_override_list = \"application/json,application/xml\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.RemoteNpmRepository;\nimport com.pulumi.artifactory.RemoteNpmRepositoryArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 npm_remote = new RemoteNpmRepository(\"npm-remote\", RemoteNpmRepositoryArgs.builder()\n            .key(\"npm-remote\")\n            .url(\"https://registry.npmjs.org\")\n            .listRemoteFolderItems(true)\n            .mismatchingMimeTypesOverrideList(\"application/json,application/xml\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  npm-remote:\n    type: artifactory:RemoteNpmRepository\n    properties:\n      key: npm-remote\n      url: https://registry.npmjs.org\n      listRemoteFolderItems: true\n      mismatchingMimeTypesOverrideList: application/json,application/xml\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRemote repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/remoteNpmRepository:RemoteNpmRepository npm-remote npm-remote\n```\n\n",
            "properties": {
                "allowAnyHostAuth": {
                    "type": "boolean",
                    "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                },
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "assumedOfflinePeriodSecs": {
                    "type": "integer",
                    "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                },
                "blockMismatchingMimeTypes": {
                    "type": "boolean",
                    "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                },
                "bypassHeadRequests": {
                    "type": "boolean",
                    "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "clientTlsCertificate": {
                    "type": "string",
                    "description": "Client TLS certificate name."
                },
                "contentSynchronisation": {
                    "$ref": "#/types/artifactory:index/RemoteNpmRepositoryContentSynchronisation:RemoteNpmRepositoryContentSynchronisation"
                },
                "curated": {
                    "type": "boolean",
                    "description": "Enable repository to be protected by the Curation service.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                },
                "disableUrlNormalization": {
                    "type": "boolean",
                    "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                },
                "enableCookieManagement": {
                    "type": "boolean",
                    "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "hardFail": {
                    "type": "boolean",
                    "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                },
                "listRemoteFolderItems": {
                    "type": "boolean",
                    "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                },
                "localAddress": {
                    "type": "string",
                    "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                },
                "metadataRetrievalTimeoutSecs": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                },
                "mismatchingMimeTypesOverrideList": {
                    "type": "string",
                    "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                },
                "missedCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "offline": {
                    "type": "boolean",
                    "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                },
                "passThrough": {
                    "type": "boolean",
                    "description": "Enable Pass-through for Curation Audit. When enabled, allows artifacts to pass through the Curation audit process.\n"
                },
                "password": {
                    "type": "string",
                    "secret": true
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                },
                "queryParams": {
                    "type": "string",
                    "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                },
                "remoteRepoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "retrievalCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                },
                "shareConfiguration": {
                    "type": "boolean",
                    "deprecationMessage": "No longer supported"
                },
                "socketTimeoutMillis": {
                    "type": "integer",
                    "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                },
                "storeArtifactsLocally": {
                    "type": "boolean",
                    "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                },
                "synchronizeProperties": {
                    "type": "boolean",
                    "description": "When set, remote artifacts are fetched along with their properties."
                },
                "unusedArtifactsCleanupPeriodHours": {
                    "type": "integer",
                    "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                },
                "url": {
                    "type": "string",
                    "description": "The remote repo URL.\n"
                },
                "username": {
                    "type": "string"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "allowAnyHostAuth",
                "archiveBrowsingEnabled",
                "assumedOfflinePeriodSecs",
                "blackedOut",
                "blockMismatchingMimeTypes",
                "bypassHeadRequests",
                "cdnRedirect",
                "clientTlsCertificate",
                "curated",
                "description",
                "disableProxy",
                "disableUrlNormalization",
                "downloadDirect",
                "enableCookieManagement",
                "excludesPattern",
                "hardFail",
                "includesPattern",
                "key",
                "listRemoteFolderItems",
                "localAddress",
                "metadataRetrievalTimeoutSecs",
                "mismatchingMimeTypesOverrideList",
                "missedCachePeriodSeconds",
                "notes",
                "offline",
                "passThrough",
                "priorityResolution",
                "projectEnvironments",
                "projectKey",
                "proxy",
                "queryParams",
                "remoteRepoLayoutRef",
                "repoLayoutRef",
                "retrievalCachePeriodSeconds",
                "shareConfiguration",
                "socketTimeoutMillis",
                "storeArtifactsLocally",
                "synchronizeProperties",
                "unusedArtifactsCleanupPeriodHours",
                "url",
                "username",
                "xrayIndex"
            ],
            "inputProperties": {
                "allowAnyHostAuth": {
                    "type": "boolean",
                    "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                },
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "assumedOfflinePeriodSecs": {
                    "type": "integer",
                    "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                },
                "blockMismatchingMimeTypes": {
                    "type": "boolean",
                    "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                },
                "bypassHeadRequests": {
                    "type": "boolean",
                    "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "clientTlsCertificate": {
                    "type": "string",
                    "description": "Client TLS certificate name."
                },
                "contentSynchronisation": {
                    "$ref": "#/types/artifactory:index/RemoteNpmRepositoryContentSynchronisation:RemoteNpmRepositoryContentSynchronisation"
                },
                "curated": {
                    "type": "boolean",
                    "description": "Enable repository to be protected by the Curation service.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                },
                "disableUrlNormalization": {
                    "type": "boolean",
                    "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                },
                "enableCookieManagement": {
                    "type": "boolean",
                    "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "hardFail": {
                    "type": "boolean",
                    "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                },
                "listRemoteFolderItems": {
                    "type": "boolean",
                    "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                },
                "localAddress": {
                    "type": "string",
                    "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                },
                "metadataRetrievalTimeoutSecs": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                },
                "mismatchingMimeTypesOverrideList": {
                    "type": "string",
                    "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                },
                "missedCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "offline": {
                    "type": "boolean",
                    "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                },
                "passThrough": {
                    "type": "boolean",
                    "description": "Enable Pass-through for Curation Audit. When enabled, allows artifacts to pass through the Curation audit process.\n"
                },
                "password": {
                    "type": "string",
                    "secret": true
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                },
                "queryParams": {
                    "type": "string",
                    "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                },
                "remoteRepoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "retrievalCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                },
                "shareConfiguration": {
                    "type": "boolean",
                    "deprecationMessage": "No longer supported"
                },
                "socketTimeoutMillis": {
                    "type": "integer",
                    "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                },
                "storeArtifactsLocally": {
                    "type": "boolean",
                    "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                },
                "synchronizeProperties": {
                    "type": "boolean",
                    "description": "When set, remote artifacts are fetched along with their properties."
                },
                "unusedArtifactsCleanupPeriodHours": {
                    "type": "integer",
                    "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                },
                "url": {
                    "type": "string",
                    "description": "The remote repo URL.\n"
                },
                "username": {
                    "type": "string"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering RemoteNpmRepository resources.\n",
                "properties": {
                    "allowAnyHostAuth": {
                        "type": "boolean",
                        "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                    },
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "assumedOfflinePeriodSecs": {
                        "type": "integer",
                        "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                    },
                    "blockMismatchingMimeTypes": {
                        "type": "boolean",
                        "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                    },
                    "bypassHeadRequests": {
                        "type": "boolean",
                        "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "clientTlsCertificate": {
                        "type": "string",
                        "description": "Client TLS certificate name."
                    },
                    "contentSynchronisation": {
                        "$ref": "#/types/artifactory:index/RemoteNpmRepositoryContentSynchronisation:RemoteNpmRepositoryContentSynchronisation"
                    },
                    "curated": {
                        "type": "boolean",
                        "description": "Enable repository to be protected by the Curation service.\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "disableProxy": {
                        "type": "boolean",
                        "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                    },
                    "disableUrlNormalization": {
                        "type": "boolean",
                        "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                    },
                    "enableCookieManagement": {
                        "type": "boolean",
                        "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "hardFail": {
                        "type": "boolean",
                        "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                    },
                    "listRemoteFolderItems": {
                        "type": "boolean",
                        "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                    },
                    "localAddress": {
                        "type": "string",
                        "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                    },
                    "metadataRetrievalTimeoutSecs": {
                        "type": "integer",
                        "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                    },
                    "mismatchingMimeTypesOverrideList": {
                        "type": "string",
                        "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                    },
                    "missedCachePeriodSeconds": {
                        "type": "integer",
                        "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "offline": {
                        "type": "boolean",
                        "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                    },
                    "passThrough": {
                        "type": "boolean",
                        "description": "Enable Pass-through for Curation Audit. When enabled, allows artifacts to pass through the Curation audit process.\n"
                    },
                    "password": {
                        "type": "string",
                        "secret": true
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "proxy": {
                        "type": "string",
                        "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                    },
                    "queryParams": {
                        "type": "string",
                        "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                    },
                    "remoteRepoLayoutRef": {
                        "type": "string",
                        "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                    },
                    "retrievalCachePeriodSeconds": {
                        "type": "integer",
                        "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                    },
                    "shareConfiguration": {
                        "type": "boolean",
                        "deprecationMessage": "No longer supported"
                    },
                    "socketTimeoutMillis": {
                        "type": "integer",
                        "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                    },
                    "storeArtifactsLocally": {
                        "type": "boolean",
                        "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                    },
                    "synchronizeProperties": {
                        "type": "boolean",
                        "description": "When set, remote artifacts are fetched along with their properties."
                    },
                    "unusedArtifactsCleanupPeriodHours": {
                        "type": "integer",
                        "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                    },
                    "url": {
                        "type": "string",
                        "description": "The remote repo URL.\n"
                    },
                    "username": {
                        "type": "string"
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/remoteNugetRepository:RemoteNugetRepository": {
            "description": "Creates a remote Nuget repository.\nOfficial documentation can be found [here](https://www.jfrog.com/confluence/display/JFROG/NuGet+Repositories).\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst my_remote_nuget = new artifactory.RemoteNugetRepository(\"my-remote-nuget\", {\n    key: \"my-remote-nuget\",\n    url: \"https://www.nuget.org/\",\n    downloadContextPath: \"api/v2/package\",\n    forceNugetAuthentication: true,\n    v3FeedUrl: \"https://api.nuget.org/v3/index.json\",\n    symbolServerUrl: \"https://symbols.nuget.org/download/symbols\",\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nmy_remote_nuget = artifactory.RemoteNugetRepository(\"my-remote-nuget\",\n    key=\"my-remote-nuget\",\n    url=\"https://www.nuget.org/\",\n    download_context_path=\"api/v2/package\",\n    force_nuget_authentication=True,\n    v3_feed_url=\"https://api.nuget.org/v3/index.json\",\n    symbol_server_url=\"https://symbols.nuget.org/download/symbols\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var my_remote_nuget = new Artifactory.RemoteNugetRepository(\"my-remote-nuget\", new()\n    {\n        Key = \"my-remote-nuget\",\n        Url = \"https://www.nuget.org/\",\n        DownloadContextPath = \"api/v2/package\",\n        ForceNugetAuthentication = true,\n        V3FeedUrl = \"https://api.nuget.org/v3/index.json\",\n        SymbolServerUrl = \"https://symbols.nuget.org/download/symbols\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewRemoteNugetRepository(ctx, \"my-remote-nuget\", \u0026artifactory.RemoteNugetRepositoryArgs{\n\t\t\tKey:                      pulumi.String(\"my-remote-nuget\"),\n\t\t\tUrl:                      pulumi.String(\"https://www.nuget.org/\"),\n\t\t\tDownloadContextPath:      pulumi.String(\"api/v2/package\"),\n\t\t\tForceNugetAuthentication: pulumi.Bool(true),\n\t\t\tV3FeedUrl:                pulumi.String(\"https://api.nuget.org/v3/index.json\"),\n\t\t\tSymbolServerUrl:          pulumi.String(\"https://symbols.nuget.org/download/symbols\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_remotenugetrepository\" \"my-remote-nuget\" {\n  key                        = \"my-remote-nuget\"\n  url                        = \"https://www.nuget.org/\"\n  download_context_path      = \"api/v2/package\"\n  force_nuget_authentication = true\n  v3_feed_url                = \"https://api.nuget.org/v3/index.json\"\n  symbol_server_url          = \"https://symbols.nuget.org/download/symbols\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.RemoteNugetRepository;\nimport com.pulumi.artifactory.RemoteNugetRepositoryArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 my_remote_nuget = new RemoteNugetRepository(\"my-remote-nuget\", RemoteNugetRepositoryArgs.builder()\n            .key(\"my-remote-nuget\")\n            .url(\"https://www.nuget.org/\")\n            .downloadContextPath(\"api/v2/package\")\n            .forceNugetAuthentication(true)\n            .v3FeedUrl(\"https://api.nuget.org/v3/index.json\")\n            .symbolServerUrl(\"https://symbols.nuget.org/download/symbols\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  my-remote-nuget:\n    type: artifactory:RemoteNugetRepository\n    properties:\n      key: my-remote-nuget\n      url: https://www.nuget.org/\n      downloadContextPath: api/v2/package\n      forceNugetAuthentication: true\n      v3FeedUrl: https://api.nuget.org/v3/index.json\n      symbolServerUrl: https://symbols.nuget.org/download/symbols\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRemote repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/remoteNugetRepository:RemoteNugetRepository my-remote-nuget my-remote-nuget\n```\n\n",
            "properties": {
                "allowAnyHostAuth": {
                    "type": "boolean",
                    "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                },
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "assumedOfflinePeriodSecs": {
                    "type": "integer",
                    "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                },
                "blockMismatchingMimeTypes": {
                    "type": "boolean",
                    "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                },
                "bypassHeadRequests": {
                    "type": "boolean",
                    "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "clientTlsCertificate": {
                    "type": "string",
                    "description": "Client TLS certificate name."
                },
                "contentSynchronisation": {
                    "$ref": "#/types/artifactory:index/RemoteNugetRepositoryContentSynchronisation:RemoteNugetRepositoryContentSynchronisation"
                },
                "curated": {
                    "type": "boolean",
                    "description": "Enable repository to be protected by the Curation service.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                },
                "disableUrlNormalization": {
                    "type": "boolean",
                    "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                },
                "downloadContextPath": {
                    "type": "string",
                    "description": "The context path prefix through which NuGet downloads are served.\nFor example, the NuGet Gallery download URL is `https://nuget.org/api/v2/package`, so the repository\nURL should be configured as `https://nuget.org` and the download context path should be configured as `api/v2/package`. Default value is `api/v2/package`.\n"
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                },
                "enableCookieManagement": {
                    "type": "boolean",
                    "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "feedContextPath": {
                    "type": "string",
                    "description": "When proxying a remote NuGet repository, customize feed resource location using this attribute. Default value is `api/v2`.\n"
                },
                "forceNugetAuthentication": {
                    "type": "boolean",
                    "description": "Force basic authentication credentials in order to use this repository. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                },
                "hardFail": {
                    "type": "boolean",
                    "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                },
                "listRemoteFolderItems": {
                    "type": "boolean",
                    "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                },
                "localAddress": {
                    "type": "string",
                    "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                },
                "metadataRetrievalTimeoutSecs": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                },
                "mismatchingMimeTypesOverrideList": {
                    "type": "string",
                    "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                },
                "missedCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "offline": {
                    "type": "boolean",
                    "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                },
                "passThrough": {
                    "type": "boolean",
                    "description": "Enable Pass-through for Curation Audit. When enabled, allows artifacts to pass through the Curation audit process.\n"
                },
                "password": {
                    "type": "string",
                    "secret": true
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                },
                "queryParams": {
                    "type": "string",
                    "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                },
                "remoteRepoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "retrievalCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                },
                "shareConfiguration": {
                    "type": "boolean",
                    "deprecationMessage": "No longer supported"
                },
                "socketTimeoutMillis": {
                    "type": "integer",
                    "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                },
                "storeArtifactsLocally": {
                    "type": "boolean",
                    "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                },
                "symbolServerUrl": {
                    "type": "string",
                    "description": "NuGet symbol server URL. Default value is `https://symbols.nuget.org/download/symbols`.\n"
                },
                "synchronizeProperties": {
                    "type": "boolean",
                    "description": "When set, remote artifacts are fetched along with their properties."
                },
                "unusedArtifactsCleanupPeriodHours": {
                    "type": "integer",
                    "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                },
                "url": {
                    "type": "string",
                    "description": "The remote repo URL.\n"
                },
                "username": {
                    "type": "string"
                },
                "v3FeedUrl": {
                    "type": "string",
                    "description": "The URL to the NuGet v3 feed. Default value is `https://api.nuget.org/v3/index.json`.\n"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "allowAnyHostAuth",
                "archiveBrowsingEnabled",
                "assumedOfflinePeriodSecs",
                "blackedOut",
                "blockMismatchingMimeTypes",
                "bypassHeadRequests",
                "cdnRedirect",
                "clientTlsCertificate",
                "curated",
                "description",
                "disableProxy",
                "disableUrlNormalization",
                "downloadContextPath",
                "downloadDirect",
                "enableCookieManagement",
                "excludesPattern",
                "feedContextPath",
                "forceNugetAuthentication",
                "hardFail",
                "includesPattern",
                "key",
                "listRemoteFolderItems",
                "localAddress",
                "metadataRetrievalTimeoutSecs",
                "mismatchingMimeTypesOverrideList",
                "missedCachePeriodSeconds",
                "notes",
                "offline",
                "passThrough",
                "priorityResolution",
                "projectEnvironments",
                "projectKey",
                "proxy",
                "queryParams",
                "remoteRepoLayoutRef",
                "repoLayoutRef",
                "retrievalCachePeriodSeconds",
                "shareConfiguration",
                "socketTimeoutMillis",
                "storeArtifactsLocally",
                "symbolServerUrl",
                "synchronizeProperties",
                "unusedArtifactsCleanupPeriodHours",
                "url",
                "username",
                "v3FeedUrl",
                "xrayIndex"
            ],
            "inputProperties": {
                "allowAnyHostAuth": {
                    "type": "boolean",
                    "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                },
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "assumedOfflinePeriodSecs": {
                    "type": "integer",
                    "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                },
                "blockMismatchingMimeTypes": {
                    "type": "boolean",
                    "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                },
                "bypassHeadRequests": {
                    "type": "boolean",
                    "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "clientTlsCertificate": {
                    "type": "string",
                    "description": "Client TLS certificate name."
                },
                "contentSynchronisation": {
                    "$ref": "#/types/artifactory:index/RemoteNugetRepositoryContentSynchronisation:RemoteNugetRepositoryContentSynchronisation"
                },
                "curated": {
                    "type": "boolean",
                    "description": "Enable repository to be protected by the Curation service.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                },
                "disableUrlNormalization": {
                    "type": "boolean",
                    "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                },
                "downloadContextPath": {
                    "type": "string",
                    "description": "The context path prefix through which NuGet downloads are served.\nFor example, the NuGet Gallery download URL is `https://nuget.org/api/v2/package`, so the repository\nURL should be configured as `https://nuget.org` and the download context path should be configured as `api/v2/package`. Default value is `api/v2/package`.\n"
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                },
                "enableCookieManagement": {
                    "type": "boolean",
                    "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "feedContextPath": {
                    "type": "string",
                    "description": "When proxying a remote NuGet repository, customize feed resource location using this attribute. Default value is `api/v2`.\n"
                },
                "forceNugetAuthentication": {
                    "type": "boolean",
                    "description": "Force basic authentication credentials in order to use this repository. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                },
                "hardFail": {
                    "type": "boolean",
                    "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                },
                "listRemoteFolderItems": {
                    "type": "boolean",
                    "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                },
                "localAddress": {
                    "type": "string",
                    "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                },
                "metadataRetrievalTimeoutSecs": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                },
                "mismatchingMimeTypesOverrideList": {
                    "type": "string",
                    "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                },
                "missedCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "offline": {
                    "type": "boolean",
                    "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                },
                "passThrough": {
                    "type": "boolean",
                    "description": "Enable Pass-through for Curation Audit. When enabled, allows artifacts to pass through the Curation audit process.\n"
                },
                "password": {
                    "type": "string",
                    "secret": true
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                },
                "queryParams": {
                    "type": "string",
                    "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                },
                "remoteRepoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "retrievalCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                },
                "shareConfiguration": {
                    "type": "boolean",
                    "deprecationMessage": "No longer supported"
                },
                "socketTimeoutMillis": {
                    "type": "integer",
                    "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                },
                "storeArtifactsLocally": {
                    "type": "boolean",
                    "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                },
                "symbolServerUrl": {
                    "type": "string",
                    "description": "NuGet symbol server URL. Default value is `https://symbols.nuget.org/download/symbols`.\n"
                },
                "synchronizeProperties": {
                    "type": "boolean",
                    "description": "When set, remote artifacts are fetched along with their properties."
                },
                "unusedArtifactsCleanupPeriodHours": {
                    "type": "integer",
                    "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                },
                "url": {
                    "type": "string",
                    "description": "The remote repo URL.\n"
                },
                "username": {
                    "type": "string"
                },
                "v3FeedUrl": {
                    "type": "string",
                    "description": "The URL to the NuGet v3 feed. Default value is `https://api.nuget.org/v3/index.json`.\n"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key",
                "url"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering RemoteNugetRepository resources.\n",
                "properties": {
                    "allowAnyHostAuth": {
                        "type": "boolean",
                        "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                    },
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "assumedOfflinePeriodSecs": {
                        "type": "integer",
                        "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                    },
                    "blockMismatchingMimeTypes": {
                        "type": "boolean",
                        "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                    },
                    "bypassHeadRequests": {
                        "type": "boolean",
                        "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "clientTlsCertificate": {
                        "type": "string",
                        "description": "Client TLS certificate name."
                    },
                    "contentSynchronisation": {
                        "$ref": "#/types/artifactory:index/RemoteNugetRepositoryContentSynchronisation:RemoteNugetRepositoryContentSynchronisation"
                    },
                    "curated": {
                        "type": "boolean",
                        "description": "Enable repository to be protected by the Curation service.\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "disableProxy": {
                        "type": "boolean",
                        "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                    },
                    "disableUrlNormalization": {
                        "type": "boolean",
                        "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                    },
                    "downloadContextPath": {
                        "type": "string",
                        "description": "The context path prefix through which NuGet downloads are served.\nFor example, the NuGet Gallery download URL is `https://nuget.org/api/v2/package`, so the repository\nURL should be configured as `https://nuget.org` and the download context path should be configured as `api/v2/package`. Default value is `api/v2/package`.\n"
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                    },
                    "enableCookieManagement": {
                        "type": "boolean",
                        "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "feedContextPath": {
                        "type": "string",
                        "description": "When proxying a remote NuGet repository, customize feed resource location using this attribute. Default value is `api/v2`.\n"
                    },
                    "forceNugetAuthentication": {
                        "type": "boolean",
                        "description": "Force basic authentication credentials in order to use this repository. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                    },
                    "hardFail": {
                        "type": "boolean",
                        "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                    },
                    "listRemoteFolderItems": {
                        "type": "boolean",
                        "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                    },
                    "localAddress": {
                        "type": "string",
                        "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                    },
                    "metadataRetrievalTimeoutSecs": {
                        "type": "integer",
                        "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                    },
                    "mismatchingMimeTypesOverrideList": {
                        "type": "string",
                        "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                    },
                    "missedCachePeriodSeconds": {
                        "type": "integer",
                        "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "offline": {
                        "type": "boolean",
                        "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                    },
                    "passThrough": {
                        "type": "boolean",
                        "description": "Enable Pass-through for Curation Audit. When enabled, allows artifacts to pass through the Curation audit process.\n"
                    },
                    "password": {
                        "type": "string",
                        "secret": true
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "proxy": {
                        "type": "string",
                        "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                    },
                    "queryParams": {
                        "type": "string",
                        "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                    },
                    "remoteRepoLayoutRef": {
                        "type": "string",
                        "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                    },
                    "retrievalCachePeriodSeconds": {
                        "type": "integer",
                        "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                    },
                    "shareConfiguration": {
                        "type": "boolean",
                        "deprecationMessage": "No longer supported"
                    },
                    "socketTimeoutMillis": {
                        "type": "integer",
                        "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                    },
                    "storeArtifactsLocally": {
                        "type": "boolean",
                        "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                    },
                    "symbolServerUrl": {
                        "type": "string",
                        "description": "NuGet symbol server URL. Default value is `https://symbols.nuget.org/download/symbols`.\n"
                    },
                    "synchronizeProperties": {
                        "type": "boolean",
                        "description": "When set, remote artifacts are fetched along with their properties."
                    },
                    "unusedArtifactsCleanupPeriodHours": {
                        "type": "integer",
                        "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                    },
                    "url": {
                        "type": "string",
                        "description": "The remote repo URL.\n"
                    },
                    "username": {
                        "type": "string"
                    },
                    "v3FeedUrl": {
                        "type": "string",
                        "description": "The URL to the NuGet v3 feed. Default value is `https://api.nuget.org/v3/index.json`.\n"
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/remoteOciRepository:RemoteOciRepository": {
            "description": "Creates remote OCI repository resource. \n\nOfficial documentation can be found [here](https://jfrog.com/help/r/jfrog-artifactory-documentation/oci-registry).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst my_oci_remote = new artifactory.RemoteOciRepository(\"my-oci-remote\", {\n    key: \"my-oci-remote\",\n    url: \"https://registry-1.docker.io/\",\n    externalDependenciesEnabled: true,\n    externalDependenciesPatterns: [\"**/registry-1.docker.io/**\"],\n    enableTokenAuthentication: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nmy_oci_remote = artifactory.RemoteOciRepository(\"my-oci-remote\",\n    key=\"my-oci-remote\",\n    url=\"https://registry-1.docker.io/\",\n    external_dependencies_enabled=True,\n    external_dependencies_patterns=[\"**/registry-1.docker.io/**\"],\n    enable_token_authentication=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var my_oci_remote = new Artifactory.RemoteOciRepository(\"my-oci-remote\", new()\n    {\n        Key = \"my-oci-remote\",\n        Url = \"https://registry-1.docker.io/\",\n        ExternalDependenciesEnabled = true,\n        ExternalDependenciesPatterns = new[]\n        {\n            \"**/registry-1.docker.io/**\",\n        },\n        EnableTokenAuthentication = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewRemoteOciRepository(ctx, \"my-oci-remote\", \u0026artifactory.RemoteOciRepositoryArgs{\n\t\t\tKey:                         pulumi.String(\"my-oci-remote\"),\n\t\t\tUrl:                         pulumi.String(\"https://registry-1.docker.io/\"),\n\t\t\tExternalDependenciesEnabled: pulumi.Bool(true),\n\t\t\tExternalDependenciesPatterns: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"**/registry-1.docker.io/**\"),\n\t\t\t},\n\t\t\tEnableTokenAuthentication: 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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_remoteocirepository\" \"my-oci-remote\" {\n  key                            = \"my-oci-remote\"\n  url                            = \"https://registry-1.docker.io/\"\n  external_dependencies_enabled  = true\n  external_dependencies_patterns = [\"**/registry-1.docker.io/**\"]\n  enable_token_authentication    = true\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.RemoteOciRepository;\nimport com.pulumi.artifactory.RemoteOciRepositoryArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 my_oci_remote = new RemoteOciRepository(\"my-oci-remote\", RemoteOciRepositoryArgs.builder()\n            .key(\"my-oci-remote\")\n            .url(\"https://registry-1.docker.io/\")\n            .externalDependenciesEnabled(true)\n            .externalDependenciesPatterns(\"**/registry-1.docker.io/**\")\n            .enableTokenAuthentication(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  my-oci-remote:\n    type: artifactory:RemoteOciRepository\n    properties:\n      key: my-oci-remote\n      url: https://registry-1.docker.io/\n      externalDependenciesEnabled: true\n      externalDependenciesPatterns:\n        - '**/registry-1.docker.io/**'\n      enableTokenAuthentication: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRemote OCI repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/remoteOciRepository:RemoteOciRepository my-oci-remote my-oci-remote\n```\n\n",
            "properties": {
                "allowAnyHostAuth": {
                    "type": "boolean",
                    "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                },
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "assumedOfflinePeriodSecs": {
                    "type": "integer",
                    "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                },
                "blockMismatchingMimeTypes": {
                    "type": "boolean",
                    "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                },
                "bypassHeadRequests": {
                    "type": "boolean",
                    "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "clientTlsCertificate": {
                    "type": "string",
                    "description": "Client TLS certificate name."
                },
                "contentSynchronisation": {
                    "$ref": "#/types/artifactory:index/RemoteOciRepositoryContentSynchronisation:RemoteOciRepositoryContentSynchronisation"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                },
                "disableUrlNormalization": {
                    "type": "boolean",
                    "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                },
                "enableCookieManagement": {
                    "type": "boolean",
                    "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                },
                "enableTokenAuthentication": {
                    "type": "boolean",
                    "description": "Enable token (Bearer) based authentication.\n"
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "externalDependenciesEnabled": {
                    "type": "boolean",
                    "description": "Also known as 'Foreign Layers Caching' on the UI.\n"
                },
                "externalDependenciesPatterns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Optional include patterns to match external URLs. Ant-style path expressions are supported (*, **, ?). For example, specifying `**/github.com/**` will only allow downloading foreign layers from github.com host. By default, this is set to `[**]` in the UI, which means that foreign layers may be downloaded from any external hosts. Due to SDKv2 limitations, we can't set the default value for the list. This value `[**]` must be assigned to the attribute manually, if user don't specify any other non-default values. We don't want to make this attribute required, but it must be set to avoid the state drift on update. Note: Artifactory assigns `[**]` on update if HCL doesn't have the attribute set or the list is empty.\n"
                },
                "hardFail": {
                    "type": "boolean",
                    "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or contain spaces or special characters.\n"
                },
                "listRemoteFolderItems": {
                    "type": "boolean",
                    "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                },
                "localAddress": {
                    "type": "string",
                    "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                },
                "metadataRetrievalTimeoutSecs": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                },
                "mismatchingMimeTypesOverrideList": {
                    "type": "string",
                    "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                },
                "missedCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "offline": {
                    "type": "boolean",
                    "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                },
                "password": {
                    "type": "string",
                    "secret": true
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectId": {
                    "type": "string",
                    "description": "Use this attribute to enter your GCR, GAR Project Id to limit the scope of this remote repo to a specific project in your third-party registry. When leaving this field blank or unset, remote repositories that support project id will default to their default project as you have set up in your account.\n"
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                },
                "queryParams": {
                    "type": "string",
                    "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                },
                "remoteRepoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "retrievalCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                },
                "shareConfiguration": {
                    "type": "boolean",
                    "deprecationMessage": "No longer supported"
                },
                "socketTimeoutMillis": {
                    "type": "integer",
                    "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                },
                "storeArtifactsLocally": {
                    "type": "boolean",
                    "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                },
                "synchronizeProperties": {
                    "type": "boolean",
                    "description": "When set, remote artifacts are fetched along with their properties."
                },
                "unusedArtifactsCleanupPeriodHours": {
                    "type": "integer",
                    "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                },
                "url": {
                    "type": "string",
                    "description": "The remote repo URL.\n"
                },
                "username": {
                    "type": "string"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "allowAnyHostAuth",
                "archiveBrowsingEnabled",
                "assumedOfflinePeriodSecs",
                "blackedOut",
                "blockMismatchingMimeTypes",
                "bypassHeadRequests",
                "cdnRedirect",
                "clientTlsCertificate",
                "description",
                "disableProxy",
                "disableUrlNormalization",
                "downloadDirect",
                "enableCookieManagement",
                "enableTokenAuthentication",
                "excludesPattern",
                "externalDependenciesEnabled",
                "hardFail",
                "includesPattern",
                "key",
                "listRemoteFolderItems",
                "localAddress",
                "metadataRetrievalTimeoutSecs",
                "mismatchingMimeTypesOverrideList",
                "missedCachePeriodSeconds",
                "notes",
                "offline",
                "priorityResolution",
                "projectEnvironments",
                "projectId",
                "projectKey",
                "proxy",
                "queryParams",
                "remoteRepoLayoutRef",
                "repoLayoutRef",
                "retrievalCachePeriodSeconds",
                "shareConfiguration",
                "socketTimeoutMillis",
                "storeArtifactsLocally",
                "synchronizeProperties",
                "unusedArtifactsCleanupPeriodHours",
                "url",
                "username",
                "xrayIndex"
            ],
            "inputProperties": {
                "allowAnyHostAuth": {
                    "type": "boolean",
                    "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                },
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "assumedOfflinePeriodSecs": {
                    "type": "integer",
                    "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                },
                "blockMismatchingMimeTypes": {
                    "type": "boolean",
                    "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                },
                "bypassHeadRequests": {
                    "type": "boolean",
                    "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "clientTlsCertificate": {
                    "type": "string",
                    "description": "Client TLS certificate name."
                },
                "contentSynchronisation": {
                    "$ref": "#/types/artifactory:index/RemoteOciRepositoryContentSynchronisation:RemoteOciRepositoryContentSynchronisation"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                },
                "disableUrlNormalization": {
                    "type": "boolean",
                    "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                },
                "enableCookieManagement": {
                    "type": "boolean",
                    "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                },
                "enableTokenAuthentication": {
                    "type": "boolean",
                    "description": "Enable token (Bearer) based authentication.\n"
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "externalDependenciesEnabled": {
                    "type": "boolean",
                    "description": "Also known as 'Foreign Layers Caching' on the UI.\n"
                },
                "externalDependenciesPatterns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Optional include patterns to match external URLs. Ant-style path expressions are supported (*, **, ?). For example, specifying `**/github.com/**` will only allow downloading foreign layers from github.com host. By default, this is set to `[**]` in the UI, which means that foreign layers may be downloaded from any external hosts. Due to SDKv2 limitations, we can't set the default value for the list. This value `[**]` must be assigned to the attribute manually, if user don't specify any other non-default values. We don't want to make this attribute required, but it must be set to avoid the state drift on update. Note: Artifactory assigns `[**]` on update if HCL doesn't have the attribute set or the list is empty.\n"
                },
                "hardFail": {
                    "type": "boolean",
                    "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or contain spaces or special characters.\n"
                },
                "listRemoteFolderItems": {
                    "type": "boolean",
                    "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                },
                "localAddress": {
                    "type": "string",
                    "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                },
                "metadataRetrievalTimeoutSecs": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                },
                "mismatchingMimeTypesOverrideList": {
                    "type": "string",
                    "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                },
                "missedCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "offline": {
                    "type": "boolean",
                    "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                },
                "password": {
                    "type": "string",
                    "secret": true
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectId": {
                    "type": "string",
                    "description": "Use this attribute to enter your GCR, GAR Project Id to limit the scope of this remote repo to a specific project in your third-party registry. When leaving this field blank or unset, remote repositories that support project id will default to their default project as you have set up in your account.\n"
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                },
                "queryParams": {
                    "type": "string",
                    "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                },
                "remoteRepoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "retrievalCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                },
                "shareConfiguration": {
                    "type": "boolean",
                    "deprecationMessage": "No longer supported"
                },
                "socketTimeoutMillis": {
                    "type": "integer",
                    "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                },
                "storeArtifactsLocally": {
                    "type": "boolean",
                    "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                },
                "synchronizeProperties": {
                    "type": "boolean",
                    "description": "When set, remote artifacts are fetched along with their properties."
                },
                "unusedArtifactsCleanupPeriodHours": {
                    "type": "integer",
                    "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                },
                "url": {
                    "type": "string",
                    "description": "The remote repo URL.\n"
                },
                "username": {
                    "type": "string"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key",
                "url"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering RemoteOciRepository resources.\n",
                "properties": {
                    "allowAnyHostAuth": {
                        "type": "boolean",
                        "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                    },
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "assumedOfflinePeriodSecs": {
                        "type": "integer",
                        "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                    },
                    "blockMismatchingMimeTypes": {
                        "type": "boolean",
                        "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                    },
                    "bypassHeadRequests": {
                        "type": "boolean",
                        "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "clientTlsCertificate": {
                        "type": "string",
                        "description": "Client TLS certificate name."
                    },
                    "contentSynchronisation": {
                        "$ref": "#/types/artifactory:index/RemoteOciRepositoryContentSynchronisation:RemoteOciRepositoryContentSynchronisation"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "disableProxy": {
                        "type": "boolean",
                        "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                    },
                    "disableUrlNormalization": {
                        "type": "boolean",
                        "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                    },
                    "enableCookieManagement": {
                        "type": "boolean",
                        "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                    },
                    "enableTokenAuthentication": {
                        "type": "boolean",
                        "description": "Enable token (Bearer) based authentication.\n"
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "externalDependenciesEnabled": {
                        "type": "boolean",
                        "description": "Also known as 'Foreign Layers Caching' on the UI.\n"
                    },
                    "externalDependenciesPatterns": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Optional include patterns to match external URLs. Ant-style path expressions are supported (*, **, ?). For example, specifying `**/github.com/**` will only allow downloading foreign layers from github.com host. By default, this is set to `[**]` in the UI, which means that foreign layers may be downloaded from any external hosts. Due to SDKv2 limitations, we can't set the default value for the list. This value `[**]` must be assigned to the attribute manually, if user don't specify any other non-default values. We don't want to make this attribute required, but it must be set to avoid the state drift on update. Note: Artifactory assigns `[**]` on update if HCL doesn't have the attribute set or the list is empty.\n"
                    },
                    "hardFail": {
                        "type": "boolean",
                        "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or contain spaces or special characters.\n"
                    },
                    "listRemoteFolderItems": {
                        "type": "boolean",
                        "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                    },
                    "localAddress": {
                        "type": "string",
                        "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                    },
                    "metadataRetrievalTimeoutSecs": {
                        "type": "integer",
                        "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                    },
                    "mismatchingMimeTypesOverrideList": {
                        "type": "string",
                        "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                    },
                    "missedCachePeriodSeconds": {
                        "type": "integer",
                        "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "offline": {
                        "type": "boolean",
                        "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                    },
                    "password": {
                        "type": "string",
                        "secret": true
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectId": {
                        "type": "string",
                        "description": "Use this attribute to enter your GCR, GAR Project Id to limit the scope of this remote repo to a specific project in your third-party registry. When leaving this field blank or unset, remote repositories that support project id will default to their default project as you have set up in your account.\n"
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "proxy": {
                        "type": "string",
                        "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                    },
                    "queryParams": {
                        "type": "string",
                        "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                    },
                    "remoteRepoLayoutRef": {
                        "type": "string",
                        "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                    },
                    "retrievalCachePeriodSeconds": {
                        "type": "integer",
                        "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                    },
                    "shareConfiguration": {
                        "type": "boolean",
                        "deprecationMessage": "No longer supported"
                    },
                    "socketTimeoutMillis": {
                        "type": "integer",
                        "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                    },
                    "storeArtifactsLocally": {
                        "type": "boolean",
                        "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                    },
                    "synchronizeProperties": {
                        "type": "boolean",
                        "description": "When set, remote artifacts are fetched along with their properties."
                    },
                    "unusedArtifactsCleanupPeriodHours": {
                        "type": "integer",
                        "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                    },
                    "url": {
                        "type": "string",
                        "description": "The remote repo URL.\n"
                    },
                    "username": {
                        "type": "string"
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/remoteOpkgRepository:RemoteOpkgRepository": {
            "description": "Creates a remote Opkg repository.\nOfficial documentation can be found [here](https://www.jfrog.com/confluence/display/JFROG/Opkg+Repositories).\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst my_remote_opkg = new artifactory.RemoteOpkgRepository(\"my-remote-opkg\", {\n    key: \"my-remote-opkg\",\n    url: \"http://testartifactory.io/artifactory/example-opkg/\",\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nmy_remote_opkg = artifactory.RemoteOpkgRepository(\"my-remote-opkg\",\n    key=\"my-remote-opkg\",\n    url=\"http://testartifactory.io/artifactory/example-opkg/\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var my_remote_opkg = new Artifactory.RemoteOpkgRepository(\"my-remote-opkg\", new()\n    {\n        Key = \"my-remote-opkg\",\n        Url = \"http://testartifactory.io/artifactory/example-opkg/\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewRemoteOpkgRepository(ctx, \"my-remote-opkg\", \u0026artifactory.RemoteOpkgRepositoryArgs{\n\t\t\tKey: pulumi.String(\"my-remote-opkg\"),\n\t\t\tUrl: pulumi.String(\"http://testartifactory.io/artifactory/example-opkg/\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_remoteopkgrepository\" \"my-remote-opkg\" {\n  key = \"my-remote-opkg\"\n  url = \"http://testartifactory.io/artifactory/example-opkg/\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.RemoteOpkgRepository;\nimport com.pulumi.artifactory.RemoteOpkgRepositoryArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 my_remote_opkg = new RemoteOpkgRepository(\"my-remote-opkg\", RemoteOpkgRepositoryArgs.builder()\n            .key(\"my-remote-opkg\")\n            .url(\"http://testartifactory.io/artifactory/example-opkg/\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  my-remote-opkg:\n    type: artifactory:RemoteOpkgRepository\n    properties:\n      key: my-remote-opkg\n      url: http://testartifactory.io/artifactory/example-opkg/\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRemote repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/remoteOpkgRepository:RemoteOpkgRepository my-remote-opkg my-remote-opkg\n```\n\n",
            "properties": {
                "allowAnyHostAuth": {
                    "type": "boolean",
                    "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                },
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "assumedOfflinePeriodSecs": {
                    "type": "integer",
                    "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                },
                "blockMismatchingMimeTypes": {
                    "type": "boolean",
                    "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                },
                "bypassHeadRequests": {
                    "type": "boolean",
                    "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "clientTlsCertificate": {
                    "type": "string",
                    "description": "Client TLS certificate name."
                },
                "contentSynchronisation": {
                    "$ref": "#/types/artifactory:index/RemoteOpkgRepositoryContentSynchronisation:RemoteOpkgRepositoryContentSynchronisation"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                },
                "disableUrlNormalization": {
                    "type": "boolean",
                    "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                },
                "enableCookieManagement": {
                    "type": "boolean",
                    "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "hardFail": {
                    "type": "boolean",
                    "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                },
                "listRemoteFolderItems": {
                    "type": "boolean",
                    "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                },
                "localAddress": {
                    "type": "string",
                    "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                },
                "metadataRetrievalTimeoutSecs": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                },
                "mismatchingMimeTypesOverrideList": {
                    "type": "string",
                    "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                },
                "missedCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "offline": {
                    "type": "boolean",
                    "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                },
                "password": {
                    "type": "string",
                    "secret": true
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                },
                "queryParams": {
                    "type": "string",
                    "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                },
                "remoteRepoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "retrievalCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                },
                "shareConfiguration": {
                    "type": "boolean",
                    "deprecationMessage": "No longer supported"
                },
                "socketTimeoutMillis": {
                    "type": "integer",
                    "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                },
                "storeArtifactsLocally": {
                    "type": "boolean",
                    "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                },
                "synchronizeProperties": {
                    "type": "boolean",
                    "description": "When set, remote artifacts are fetched along with their properties."
                },
                "unusedArtifactsCleanupPeriodHours": {
                    "type": "integer",
                    "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                },
                "url": {
                    "type": "string",
                    "description": "The remote repo URL.\n"
                },
                "username": {
                    "type": "string"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "allowAnyHostAuth",
                "archiveBrowsingEnabled",
                "assumedOfflinePeriodSecs",
                "blackedOut",
                "blockMismatchingMimeTypes",
                "bypassHeadRequests",
                "cdnRedirect",
                "clientTlsCertificate",
                "description",
                "disableProxy",
                "disableUrlNormalization",
                "downloadDirect",
                "enableCookieManagement",
                "excludesPattern",
                "hardFail",
                "includesPattern",
                "key",
                "listRemoteFolderItems",
                "localAddress",
                "metadataRetrievalTimeoutSecs",
                "mismatchingMimeTypesOverrideList",
                "missedCachePeriodSeconds",
                "notes",
                "offline",
                "priorityResolution",
                "projectEnvironments",
                "projectKey",
                "proxy",
                "queryParams",
                "remoteRepoLayoutRef",
                "repoLayoutRef",
                "retrievalCachePeriodSeconds",
                "shareConfiguration",
                "socketTimeoutMillis",
                "storeArtifactsLocally",
                "synchronizeProperties",
                "unusedArtifactsCleanupPeriodHours",
                "url",
                "username",
                "xrayIndex"
            ],
            "inputProperties": {
                "allowAnyHostAuth": {
                    "type": "boolean",
                    "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                },
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "assumedOfflinePeriodSecs": {
                    "type": "integer",
                    "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                },
                "blockMismatchingMimeTypes": {
                    "type": "boolean",
                    "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                },
                "bypassHeadRequests": {
                    "type": "boolean",
                    "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "clientTlsCertificate": {
                    "type": "string",
                    "description": "Client TLS certificate name."
                },
                "contentSynchronisation": {
                    "$ref": "#/types/artifactory:index/RemoteOpkgRepositoryContentSynchronisation:RemoteOpkgRepositoryContentSynchronisation"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                },
                "disableUrlNormalization": {
                    "type": "boolean",
                    "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                },
                "enableCookieManagement": {
                    "type": "boolean",
                    "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "hardFail": {
                    "type": "boolean",
                    "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                },
                "listRemoteFolderItems": {
                    "type": "boolean",
                    "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                },
                "localAddress": {
                    "type": "string",
                    "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                },
                "metadataRetrievalTimeoutSecs": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                },
                "mismatchingMimeTypesOverrideList": {
                    "type": "string",
                    "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                },
                "missedCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "offline": {
                    "type": "boolean",
                    "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                },
                "password": {
                    "type": "string",
                    "secret": true
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                },
                "queryParams": {
                    "type": "string",
                    "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                },
                "remoteRepoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "retrievalCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                },
                "shareConfiguration": {
                    "type": "boolean",
                    "deprecationMessage": "No longer supported"
                },
                "socketTimeoutMillis": {
                    "type": "integer",
                    "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                },
                "storeArtifactsLocally": {
                    "type": "boolean",
                    "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                },
                "synchronizeProperties": {
                    "type": "boolean",
                    "description": "When set, remote artifacts are fetched along with their properties."
                },
                "unusedArtifactsCleanupPeriodHours": {
                    "type": "integer",
                    "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                },
                "url": {
                    "type": "string",
                    "description": "The remote repo URL.\n"
                },
                "username": {
                    "type": "string"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key",
                "url"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering RemoteOpkgRepository resources.\n",
                "properties": {
                    "allowAnyHostAuth": {
                        "type": "boolean",
                        "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                    },
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "assumedOfflinePeriodSecs": {
                        "type": "integer",
                        "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                    },
                    "blockMismatchingMimeTypes": {
                        "type": "boolean",
                        "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                    },
                    "bypassHeadRequests": {
                        "type": "boolean",
                        "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "clientTlsCertificate": {
                        "type": "string",
                        "description": "Client TLS certificate name."
                    },
                    "contentSynchronisation": {
                        "$ref": "#/types/artifactory:index/RemoteOpkgRepositoryContentSynchronisation:RemoteOpkgRepositoryContentSynchronisation"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "disableProxy": {
                        "type": "boolean",
                        "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                    },
                    "disableUrlNormalization": {
                        "type": "boolean",
                        "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                    },
                    "enableCookieManagement": {
                        "type": "boolean",
                        "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "hardFail": {
                        "type": "boolean",
                        "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                    },
                    "listRemoteFolderItems": {
                        "type": "boolean",
                        "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                    },
                    "localAddress": {
                        "type": "string",
                        "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                    },
                    "metadataRetrievalTimeoutSecs": {
                        "type": "integer",
                        "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                    },
                    "mismatchingMimeTypesOverrideList": {
                        "type": "string",
                        "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                    },
                    "missedCachePeriodSeconds": {
                        "type": "integer",
                        "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "offline": {
                        "type": "boolean",
                        "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                    },
                    "password": {
                        "type": "string",
                        "secret": true
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "proxy": {
                        "type": "string",
                        "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                    },
                    "queryParams": {
                        "type": "string",
                        "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                    },
                    "remoteRepoLayoutRef": {
                        "type": "string",
                        "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                    },
                    "retrievalCachePeriodSeconds": {
                        "type": "integer",
                        "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                    },
                    "shareConfiguration": {
                        "type": "boolean",
                        "deprecationMessage": "No longer supported"
                    },
                    "socketTimeoutMillis": {
                        "type": "integer",
                        "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                    },
                    "storeArtifactsLocally": {
                        "type": "boolean",
                        "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                    },
                    "synchronizeProperties": {
                        "type": "boolean",
                        "description": "When set, remote artifacts are fetched along with their properties."
                    },
                    "unusedArtifactsCleanupPeriodHours": {
                        "type": "integer",
                        "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                    },
                    "url": {
                        "type": "string",
                        "description": "The remote repo URL.\n"
                    },
                    "username": {
                        "type": "string"
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/remoteP2Repository:RemoteP2Repository": {
            "description": "Creates a remote P2 repository.\nOfficial documentation can be found [here](https://www.jfrog.com/confluence/display/JFROG/P2+Repositories).\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst my_remote_p2 = new artifactory.RemoteP2Repository(\"my-remote-p2\", {\n    key: \"my-remote-p2\",\n    url: \"http://testartifactory.io/artifactory/example-p2/\",\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nmy_remote_p2 = artifactory.RemoteP2Repository(\"my-remote-p2\",\n    key=\"my-remote-p2\",\n    url=\"http://testartifactory.io/artifactory/example-p2/\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var my_remote_p2 = new Artifactory.RemoteP2Repository(\"my-remote-p2\", new()\n    {\n        Key = \"my-remote-p2\",\n        Url = \"http://testartifactory.io/artifactory/example-p2/\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewRemoteP2Repository(ctx, \"my-remote-p2\", \u0026artifactory.RemoteP2RepositoryArgs{\n\t\t\tKey: pulumi.String(\"my-remote-p2\"),\n\t\t\tUrl: pulumi.String(\"http://testartifactory.io/artifactory/example-p2/\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_remotep2repository\" \"my-remote-p2\" {\n  key = \"my-remote-p2\"\n  url = \"http://testartifactory.io/artifactory/example-p2/\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.RemoteP2Repository;\nimport com.pulumi.artifactory.RemoteP2RepositoryArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 my_remote_p2 = new RemoteP2Repository(\"my-remote-p2\", RemoteP2RepositoryArgs.builder()\n            .key(\"my-remote-p2\")\n            .url(\"http://testartifactory.io/artifactory/example-p2/\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  my-remote-p2:\n    type: artifactory:RemoteP2Repository\n    properties:\n      key: my-remote-p2\n      url: http://testartifactory.io/artifactory/example-p2/\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRemote repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/remoteP2Repository:RemoteP2Repository my-remote-p2 my-remote-p2\n```\n\n",
            "properties": {
                "allowAnyHostAuth": {
                    "type": "boolean",
                    "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                },
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "assumedOfflinePeriodSecs": {
                    "type": "integer",
                    "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                },
                "blockMismatchingMimeTypes": {
                    "type": "boolean",
                    "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                },
                "bypassHeadRequests": {
                    "type": "boolean",
                    "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "clientTlsCertificate": {
                    "type": "string",
                    "description": "Client TLS certificate name."
                },
                "contentSynchronisation": {
                    "$ref": "#/types/artifactory:index/RemoteP2RepositoryContentSynchronisation:RemoteP2RepositoryContentSynchronisation"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                },
                "disableUrlNormalization": {
                    "type": "boolean",
                    "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                },
                "enableCookieManagement": {
                    "type": "boolean",
                    "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "hardFail": {
                    "type": "boolean",
                    "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                },
                "listRemoteFolderItems": {
                    "type": "boolean",
                    "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                },
                "localAddress": {
                    "type": "string",
                    "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                },
                "metadataRetrievalTimeoutSecs": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                },
                "mismatchingMimeTypesOverrideList": {
                    "type": "string",
                    "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                },
                "missedCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "offline": {
                    "type": "boolean",
                    "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                },
                "password": {
                    "type": "string",
                    "secret": true
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                },
                "queryParams": {
                    "type": "string",
                    "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                },
                "remoteRepoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "retrievalCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                },
                "shareConfiguration": {
                    "type": "boolean",
                    "deprecationMessage": "No longer supported"
                },
                "socketTimeoutMillis": {
                    "type": "integer",
                    "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                },
                "storeArtifactsLocally": {
                    "type": "boolean",
                    "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                },
                "synchronizeProperties": {
                    "type": "boolean",
                    "description": "When set, remote artifacts are fetched along with their properties."
                },
                "unusedArtifactsCleanupPeriodHours": {
                    "type": "integer",
                    "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                },
                "url": {
                    "type": "string",
                    "description": "The remote repo URL.\n"
                },
                "username": {
                    "type": "string"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "allowAnyHostAuth",
                "archiveBrowsingEnabled",
                "assumedOfflinePeriodSecs",
                "blackedOut",
                "blockMismatchingMimeTypes",
                "bypassHeadRequests",
                "cdnRedirect",
                "clientTlsCertificate",
                "description",
                "disableProxy",
                "disableUrlNormalization",
                "downloadDirect",
                "enableCookieManagement",
                "excludesPattern",
                "hardFail",
                "includesPattern",
                "key",
                "listRemoteFolderItems",
                "localAddress",
                "metadataRetrievalTimeoutSecs",
                "mismatchingMimeTypesOverrideList",
                "missedCachePeriodSeconds",
                "notes",
                "offline",
                "priorityResolution",
                "projectEnvironments",
                "projectKey",
                "proxy",
                "queryParams",
                "remoteRepoLayoutRef",
                "repoLayoutRef",
                "retrievalCachePeriodSeconds",
                "shareConfiguration",
                "socketTimeoutMillis",
                "storeArtifactsLocally",
                "synchronizeProperties",
                "unusedArtifactsCleanupPeriodHours",
                "url",
                "username",
                "xrayIndex"
            ],
            "inputProperties": {
                "allowAnyHostAuth": {
                    "type": "boolean",
                    "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                },
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "assumedOfflinePeriodSecs": {
                    "type": "integer",
                    "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                },
                "blockMismatchingMimeTypes": {
                    "type": "boolean",
                    "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                },
                "bypassHeadRequests": {
                    "type": "boolean",
                    "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "clientTlsCertificate": {
                    "type": "string",
                    "description": "Client TLS certificate name."
                },
                "contentSynchronisation": {
                    "$ref": "#/types/artifactory:index/RemoteP2RepositoryContentSynchronisation:RemoteP2RepositoryContentSynchronisation"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                },
                "disableUrlNormalization": {
                    "type": "boolean",
                    "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                },
                "enableCookieManagement": {
                    "type": "boolean",
                    "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "hardFail": {
                    "type": "boolean",
                    "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                },
                "listRemoteFolderItems": {
                    "type": "boolean",
                    "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                },
                "localAddress": {
                    "type": "string",
                    "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                },
                "metadataRetrievalTimeoutSecs": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                },
                "mismatchingMimeTypesOverrideList": {
                    "type": "string",
                    "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                },
                "missedCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "offline": {
                    "type": "boolean",
                    "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                },
                "password": {
                    "type": "string",
                    "secret": true
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                },
                "queryParams": {
                    "type": "string",
                    "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                },
                "remoteRepoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "retrievalCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                },
                "shareConfiguration": {
                    "type": "boolean",
                    "deprecationMessage": "No longer supported"
                },
                "socketTimeoutMillis": {
                    "type": "integer",
                    "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                },
                "storeArtifactsLocally": {
                    "type": "boolean",
                    "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                },
                "synchronizeProperties": {
                    "type": "boolean",
                    "description": "When set, remote artifacts are fetched along with their properties."
                },
                "unusedArtifactsCleanupPeriodHours": {
                    "type": "integer",
                    "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                },
                "url": {
                    "type": "string",
                    "description": "The remote repo URL.\n"
                },
                "username": {
                    "type": "string"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key",
                "url"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering RemoteP2Repository resources.\n",
                "properties": {
                    "allowAnyHostAuth": {
                        "type": "boolean",
                        "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                    },
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "assumedOfflinePeriodSecs": {
                        "type": "integer",
                        "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                    },
                    "blockMismatchingMimeTypes": {
                        "type": "boolean",
                        "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                    },
                    "bypassHeadRequests": {
                        "type": "boolean",
                        "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "clientTlsCertificate": {
                        "type": "string",
                        "description": "Client TLS certificate name."
                    },
                    "contentSynchronisation": {
                        "$ref": "#/types/artifactory:index/RemoteP2RepositoryContentSynchronisation:RemoteP2RepositoryContentSynchronisation"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "disableProxy": {
                        "type": "boolean",
                        "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                    },
                    "disableUrlNormalization": {
                        "type": "boolean",
                        "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                    },
                    "enableCookieManagement": {
                        "type": "boolean",
                        "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "hardFail": {
                        "type": "boolean",
                        "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                    },
                    "listRemoteFolderItems": {
                        "type": "boolean",
                        "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                    },
                    "localAddress": {
                        "type": "string",
                        "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                    },
                    "metadataRetrievalTimeoutSecs": {
                        "type": "integer",
                        "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                    },
                    "mismatchingMimeTypesOverrideList": {
                        "type": "string",
                        "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                    },
                    "missedCachePeriodSeconds": {
                        "type": "integer",
                        "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "offline": {
                        "type": "boolean",
                        "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                    },
                    "password": {
                        "type": "string",
                        "secret": true
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "proxy": {
                        "type": "string",
                        "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                    },
                    "queryParams": {
                        "type": "string",
                        "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                    },
                    "remoteRepoLayoutRef": {
                        "type": "string",
                        "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                    },
                    "retrievalCachePeriodSeconds": {
                        "type": "integer",
                        "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                    },
                    "shareConfiguration": {
                        "type": "boolean",
                        "deprecationMessage": "No longer supported"
                    },
                    "socketTimeoutMillis": {
                        "type": "integer",
                        "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                    },
                    "storeArtifactsLocally": {
                        "type": "boolean",
                        "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                    },
                    "synchronizeProperties": {
                        "type": "boolean",
                        "description": "When set, remote artifacts are fetched along with their properties."
                    },
                    "unusedArtifactsCleanupPeriodHours": {
                        "type": "integer",
                        "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                    },
                    "url": {
                        "type": "string",
                        "description": "The remote repo URL.\n"
                    },
                    "username": {
                        "type": "string"
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/remotePubRepository:RemotePubRepository": {
            "description": "Creates a remote Pub repository.\nOfficial documentation can be found [here](https://www.jfrog.com/confluence/display/JFROG/Pub+Repositories).\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst my_remote_pub = new artifactory.RemotePubRepository(\"my-remote-pub\", {\n    key: \"my-remote-pub\",\n    url: \"https://pub.dartlang.org\",\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nmy_remote_pub = artifactory.RemotePubRepository(\"my-remote-pub\",\n    key=\"my-remote-pub\",\n    url=\"https://pub.dartlang.org\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var my_remote_pub = new Artifactory.RemotePubRepository(\"my-remote-pub\", new()\n    {\n        Key = \"my-remote-pub\",\n        Url = \"https://pub.dartlang.org\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewRemotePubRepository(ctx, \"my-remote-pub\", \u0026artifactory.RemotePubRepositoryArgs{\n\t\t\tKey: pulumi.String(\"my-remote-pub\"),\n\t\t\tUrl: pulumi.String(\"https://pub.dartlang.org\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_remotepubrepository\" \"my-remote-pub\" {\n  key = \"my-remote-pub\"\n  url = \"https://pub.dartlang.org\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.RemotePubRepository;\nimport com.pulumi.artifactory.RemotePubRepositoryArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 my_remote_pub = new RemotePubRepository(\"my-remote-pub\", RemotePubRepositoryArgs.builder()\n            .key(\"my-remote-pub\")\n            .url(\"https://pub.dartlang.org\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  my-remote-pub:\n    type: artifactory:RemotePubRepository\n    properties:\n      key: my-remote-pub\n      url: https://pub.dartlang.org\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRemote repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/remotePubRepository:RemotePubRepository my-remote-pub my-remote-pub\n```\n\n",
            "properties": {
                "allowAnyHostAuth": {
                    "type": "boolean",
                    "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                },
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "assumedOfflinePeriodSecs": {
                    "type": "integer",
                    "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                },
                "blockMismatchingMimeTypes": {
                    "type": "boolean",
                    "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                },
                "bypassHeadRequests": {
                    "type": "boolean",
                    "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "clientTlsCertificate": {
                    "type": "string",
                    "description": "Client TLS certificate name."
                },
                "contentSynchronisation": {
                    "$ref": "#/types/artifactory:index/RemotePubRepositoryContentSynchronisation:RemotePubRepositoryContentSynchronisation"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                },
                "disableUrlNormalization": {
                    "type": "boolean",
                    "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                },
                "enableCookieManagement": {
                    "type": "boolean",
                    "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "hardFail": {
                    "type": "boolean",
                    "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                },
                "listRemoteFolderItems": {
                    "type": "boolean",
                    "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                },
                "localAddress": {
                    "type": "string",
                    "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                },
                "metadataRetrievalTimeoutSecs": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                },
                "mismatchingMimeTypesOverrideList": {
                    "type": "string",
                    "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                },
                "missedCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "offline": {
                    "type": "boolean",
                    "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                },
                "password": {
                    "type": "string",
                    "secret": true
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                },
                "queryParams": {
                    "type": "string",
                    "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                },
                "remoteRepoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "retrievalCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                },
                "shareConfiguration": {
                    "type": "boolean",
                    "deprecationMessage": "No longer supported"
                },
                "socketTimeoutMillis": {
                    "type": "integer",
                    "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                },
                "storeArtifactsLocally": {
                    "type": "boolean",
                    "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                },
                "synchronizeProperties": {
                    "type": "boolean",
                    "description": "When set, remote artifacts are fetched along with their properties."
                },
                "unusedArtifactsCleanupPeriodHours": {
                    "type": "integer",
                    "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                },
                "url": {
                    "type": "string",
                    "description": "The remote repository URL.\n"
                },
                "username": {
                    "type": "string"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "allowAnyHostAuth",
                "archiveBrowsingEnabled",
                "assumedOfflinePeriodSecs",
                "blackedOut",
                "blockMismatchingMimeTypes",
                "bypassHeadRequests",
                "cdnRedirect",
                "clientTlsCertificate",
                "description",
                "disableProxy",
                "disableUrlNormalization",
                "downloadDirect",
                "enableCookieManagement",
                "excludesPattern",
                "hardFail",
                "includesPattern",
                "key",
                "listRemoteFolderItems",
                "localAddress",
                "metadataRetrievalTimeoutSecs",
                "mismatchingMimeTypesOverrideList",
                "missedCachePeriodSeconds",
                "notes",
                "offline",
                "priorityResolution",
                "projectEnvironments",
                "projectKey",
                "proxy",
                "queryParams",
                "remoteRepoLayoutRef",
                "repoLayoutRef",
                "retrievalCachePeriodSeconds",
                "shareConfiguration",
                "socketTimeoutMillis",
                "storeArtifactsLocally",
                "synchronizeProperties",
                "unusedArtifactsCleanupPeriodHours",
                "url",
                "username",
                "xrayIndex"
            ],
            "inputProperties": {
                "allowAnyHostAuth": {
                    "type": "boolean",
                    "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                },
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "assumedOfflinePeriodSecs": {
                    "type": "integer",
                    "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                },
                "blockMismatchingMimeTypes": {
                    "type": "boolean",
                    "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                },
                "bypassHeadRequests": {
                    "type": "boolean",
                    "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "clientTlsCertificate": {
                    "type": "string",
                    "description": "Client TLS certificate name."
                },
                "contentSynchronisation": {
                    "$ref": "#/types/artifactory:index/RemotePubRepositoryContentSynchronisation:RemotePubRepositoryContentSynchronisation"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                },
                "disableUrlNormalization": {
                    "type": "boolean",
                    "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                },
                "enableCookieManagement": {
                    "type": "boolean",
                    "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "hardFail": {
                    "type": "boolean",
                    "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                },
                "listRemoteFolderItems": {
                    "type": "boolean",
                    "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                },
                "localAddress": {
                    "type": "string",
                    "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                },
                "metadataRetrievalTimeoutSecs": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                },
                "mismatchingMimeTypesOverrideList": {
                    "type": "string",
                    "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                },
                "missedCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "offline": {
                    "type": "boolean",
                    "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                },
                "password": {
                    "type": "string",
                    "secret": true
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                },
                "queryParams": {
                    "type": "string",
                    "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                },
                "remoteRepoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "retrievalCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                },
                "shareConfiguration": {
                    "type": "boolean",
                    "deprecationMessage": "No longer supported"
                },
                "socketTimeoutMillis": {
                    "type": "integer",
                    "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                },
                "storeArtifactsLocally": {
                    "type": "boolean",
                    "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                },
                "synchronizeProperties": {
                    "type": "boolean",
                    "description": "When set, remote artifacts are fetched along with their properties."
                },
                "unusedArtifactsCleanupPeriodHours": {
                    "type": "integer",
                    "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                },
                "url": {
                    "type": "string",
                    "description": "The remote repository URL.\n"
                },
                "username": {
                    "type": "string"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key",
                "url"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering RemotePubRepository resources.\n",
                "properties": {
                    "allowAnyHostAuth": {
                        "type": "boolean",
                        "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                    },
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "assumedOfflinePeriodSecs": {
                        "type": "integer",
                        "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                    },
                    "blockMismatchingMimeTypes": {
                        "type": "boolean",
                        "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                    },
                    "bypassHeadRequests": {
                        "type": "boolean",
                        "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "clientTlsCertificate": {
                        "type": "string",
                        "description": "Client TLS certificate name."
                    },
                    "contentSynchronisation": {
                        "$ref": "#/types/artifactory:index/RemotePubRepositoryContentSynchronisation:RemotePubRepositoryContentSynchronisation"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "disableProxy": {
                        "type": "boolean",
                        "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                    },
                    "disableUrlNormalization": {
                        "type": "boolean",
                        "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                    },
                    "enableCookieManagement": {
                        "type": "boolean",
                        "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "hardFail": {
                        "type": "boolean",
                        "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                    },
                    "listRemoteFolderItems": {
                        "type": "boolean",
                        "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                    },
                    "localAddress": {
                        "type": "string",
                        "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                    },
                    "metadataRetrievalTimeoutSecs": {
                        "type": "integer",
                        "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                    },
                    "mismatchingMimeTypesOverrideList": {
                        "type": "string",
                        "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                    },
                    "missedCachePeriodSeconds": {
                        "type": "integer",
                        "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "offline": {
                        "type": "boolean",
                        "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                    },
                    "password": {
                        "type": "string",
                        "secret": true
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "proxy": {
                        "type": "string",
                        "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                    },
                    "queryParams": {
                        "type": "string",
                        "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                    },
                    "remoteRepoLayoutRef": {
                        "type": "string",
                        "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                    },
                    "retrievalCachePeriodSeconds": {
                        "type": "integer",
                        "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                    },
                    "shareConfiguration": {
                        "type": "boolean",
                        "deprecationMessage": "No longer supported"
                    },
                    "socketTimeoutMillis": {
                        "type": "integer",
                        "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                    },
                    "storeArtifactsLocally": {
                        "type": "boolean",
                        "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                    },
                    "synchronizeProperties": {
                        "type": "boolean",
                        "description": "When set, remote artifacts are fetched along with their properties."
                    },
                    "unusedArtifactsCleanupPeriodHours": {
                        "type": "integer",
                        "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                    },
                    "url": {
                        "type": "string",
                        "description": "The remote repository URL.\n"
                    },
                    "username": {
                        "type": "string"
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/remotePuppetRepository:RemotePuppetRepository": {
            "description": "Creates a remote Puppet repository.\nOfficial documentation can be found [here](https://www.jfrog.com/confluence/display/JFROG/Puppet+Repositories).\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst my_remote_puppet = new artifactory.RemotePuppetRepository(\"my-remote-puppet\", {\n    key: \"my-remote-puppet\",\n    url: \"https://forgeapi.puppetlabs.com/\",\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nmy_remote_puppet = artifactory.RemotePuppetRepository(\"my-remote-puppet\",\n    key=\"my-remote-puppet\",\n    url=\"https://forgeapi.puppetlabs.com/\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var my_remote_puppet = new Artifactory.RemotePuppetRepository(\"my-remote-puppet\", new()\n    {\n        Key = \"my-remote-puppet\",\n        Url = \"https://forgeapi.puppetlabs.com/\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewRemotePuppetRepository(ctx, \"my-remote-puppet\", \u0026artifactory.RemotePuppetRepositoryArgs{\n\t\t\tKey: pulumi.String(\"my-remote-puppet\"),\n\t\t\tUrl: pulumi.String(\"https://forgeapi.puppetlabs.com/\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_remotepuppetrepository\" \"my-remote-puppet\" {\n  key = \"my-remote-puppet\"\n  url = \"https://forgeapi.puppetlabs.com/\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.RemotePuppetRepository;\nimport com.pulumi.artifactory.RemotePuppetRepositoryArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 my_remote_puppet = new RemotePuppetRepository(\"my-remote-puppet\", RemotePuppetRepositoryArgs.builder()\n            .key(\"my-remote-puppet\")\n            .url(\"https://forgeapi.puppetlabs.com/\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  my-remote-puppet:\n    type: artifactory:RemotePuppetRepository\n    properties:\n      key: my-remote-puppet\n      url: https://forgeapi.puppetlabs.com/\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRemote repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/remotePuppetRepository:RemotePuppetRepository my-remote-puppet my-remote-puppet\n```\n\n",
            "properties": {
                "allowAnyHostAuth": {
                    "type": "boolean",
                    "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                },
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "assumedOfflinePeriodSecs": {
                    "type": "integer",
                    "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                },
                "blockMismatchingMimeTypes": {
                    "type": "boolean",
                    "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                },
                "bypassHeadRequests": {
                    "type": "boolean",
                    "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "clientTlsCertificate": {
                    "type": "string",
                    "description": "Client TLS certificate name."
                },
                "contentSynchronisation": {
                    "$ref": "#/types/artifactory:index/RemotePuppetRepositoryContentSynchronisation:RemotePuppetRepositoryContentSynchronisation"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                },
                "disableUrlNormalization": {
                    "type": "boolean",
                    "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                },
                "enableCookieManagement": {
                    "type": "boolean",
                    "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "hardFail": {
                    "type": "boolean",
                    "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                },
                "listRemoteFolderItems": {
                    "type": "boolean",
                    "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                },
                "localAddress": {
                    "type": "string",
                    "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                },
                "metadataRetrievalTimeoutSecs": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                },
                "mismatchingMimeTypesOverrideList": {
                    "type": "string",
                    "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                },
                "missedCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "offline": {
                    "type": "boolean",
                    "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                },
                "password": {
                    "type": "string",
                    "secret": true
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                },
                "queryParams": {
                    "type": "string",
                    "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                },
                "remoteRepoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "retrievalCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                },
                "shareConfiguration": {
                    "type": "boolean",
                    "deprecationMessage": "No longer supported"
                },
                "socketTimeoutMillis": {
                    "type": "integer",
                    "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                },
                "storeArtifactsLocally": {
                    "type": "boolean",
                    "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                },
                "synchronizeProperties": {
                    "type": "boolean",
                    "description": "When set, remote artifacts are fetched along with their properties."
                },
                "unusedArtifactsCleanupPeriodHours": {
                    "type": "integer",
                    "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                },
                "url": {
                    "type": "string",
                    "description": "The remote repo URL.\n"
                },
                "username": {
                    "type": "string"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "allowAnyHostAuth",
                "archiveBrowsingEnabled",
                "assumedOfflinePeriodSecs",
                "blackedOut",
                "blockMismatchingMimeTypes",
                "bypassHeadRequests",
                "cdnRedirect",
                "clientTlsCertificate",
                "description",
                "disableProxy",
                "disableUrlNormalization",
                "downloadDirect",
                "enableCookieManagement",
                "excludesPattern",
                "hardFail",
                "includesPattern",
                "key",
                "listRemoteFolderItems",
                "localAddress",
                "metadataRetrievalTimeoutSecs",
                "mismatchingMimeTypesOverrideList",
                "missedCachePeriodSeconds",
                "notes",
                "offline",
                "priorityResolution",
                "projectEnvironments",
                "projectKey",
                "proxy",
                "queryParams",
                "remoteRepoLayoutRef",
                "repoLayoutRef",
                "retrievalCachePeriodSeconds",
                "shareConfiguration",
                "socketTimeoutMillis",
                "storeArtifactsLocally",
                "synchronizeProperties",
                "unusedArtifactsCleanupPeriodHours",
                "url",
                "username",
                "xrayIndex"
            ],
            "inputProperties": {
                "allowAnyHostAuth": {
                    "type": "boolean",
                    "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                },
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "assumedOfflinePeriodSecs": {
                    "type": "integer",
                    "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                },
                "blockMismatchingMimeTypes": {
                    "type": "boolean",
                    "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                },
                "bypassHeadRequests": {
                    "type": "boolean",
                    "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "clientTlsCertificate": {
                    "type": "string",
                    "description": "Client TLS certificate name."
                },
                "contentSynchronisation": {
                    "$ref": "#/types/artifactory:index/RemotePuppetRepositoryContentSynchronisation:RemotePuppetRepositoryContentSynchronisation"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                },
                "disableUrlNormalization": {
                    "type": "boolean",
                    "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                },
                "enableCookieManagement": {
                    "type": "boolean",
                    "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "hardFail": {
                    "type": "boolean",
                    "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                },
                "listRemoteFolderItems": {
                    "type": "boolean",
                    "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                },
                "localAddress": {
                    "type": "string",
                    "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                },
                "metadataRetrievalTimeoutSecs": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                },
                "mismatchingMimeTypesOverrideList": {
                    "type": "string",
                    "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                },
                "missedCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "offline": {
                    "type": "boolean",
                    "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                },
                "password": {
                    "type": "string",
                    "secret": true
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                },
                "queryParams": {
                    "type": "string",
                    "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                },
                "remoteRepoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "retrievalCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                },
                "shareConfiguration": {
                    "type": "boolean",
                    "deprecationMessage": "No longer supported"
                },
                "socketTimeoutMillis": {
                    "type": "integer",
                    "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                },
                "storeArtifactsLocally": {
                    "type": "boolean",
                    "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                },
                "synchronizeProperties": {
                    "type": "boolean",
                    "description": "When set, remote artifacts are fetched along with their properties."
                },
                "unusedArtifactsCleanupPeriodHours": {
                    "type": "integer",
                    "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                },
                "url": {
                    "type": "string",
                    "description": "The remote repo URL.\n"
                },
                "username": {
                    "type": "string"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key",
                "url"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering RemotePuppetRepository resources.\n",
                "properties": {
                    "allowAnyHostAuth": {
                        "type": "boolean",
                        "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                    },
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "assumedOfflinePeriodSecs": {
                        "type": "integer",
                        "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                    },
                    "blockMismatchingMimeTypes": {
                        "type": "boolean",
                        "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                    },
                    "bypassHeadRequests": {
                        "type": "boolean",
                        "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "clientTlsCertificate": {
                        "type": "string",
                        "description": "Client TLS certificate name."
                    },
                    "contentSynchronisation": {
                        "$ref": "#/types/artifactory:index/RemotePuppetRepositoryContentSynchronisation:RemotePuppetRepositoryContentSynchronisation"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "disableProxy": {
                        "type": "boolean",
                        "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                    },
                    "disableUrlNormalization": {
                        "type": "boolean",
                        "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                    },
                    "enableCookieManagement": {
                        "type": "boolean",
                        "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "hardFail": {
                        "type": "boolean",
                        "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                    },
                    "listRemoteFolderItems": {
                        "type": "boolean",
                        "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                    },
                    "localAddress": {
                        "type": "string",
                        "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                    },
                    "metadataRetrievalTimeoutSecs": {
                        "type": "integer",
                        "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                    },
                    "mismatchingMimeTypesOverrideList": {
                        "type": "string",
                        "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                    },
                    "missedCachePeriodSeconds": {
                        "type": "integer",
                        "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "offline": {
                        "type": "boolean",
                        "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                    },
                    "password": {
                        "type": "string",
                        "secret": true
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "proxy": {
                        "type": "string",
                        "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                    },
                    "queryParams": {
                        "type": "string",
                        "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                    },
                    "remoteRepoLayoutRef": {
                        "type": "string",
                        "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                    },
                    "retrievalCachePeriodSeconds": {
                        "type": "integer",
                        "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                    },
                    "shareConfiguration": {
                        "type": "boolean",
                        "deprecationMessage": "No longer supported"
                    },
                    "socketTimeoutMillis": {
                        "type": "integer",
                        "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                    },
                    "storeArtifactsLocally": {
                        "type": "boolean",
                        "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                    },
                    "synchronizeProperties": {
                        "type": "boolean",
                        "description": "When set, remote artifacts are fetched along with their properties."
                    },
                    "unusedArtifactsCleanupPeriodHours": {
                        "type": "integer",
                        "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                    },
                    "url": {
                        "type": "string",
                        "description": "The remote repo URL.\n"
                    },
                    "username": {
                        "type": "string"
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/remotePypiRepository:RemotePypiRepository": {
            "description": "Creates a remote Pypi repository.\nOfficial documentation can be found [here](https://www.jfrog.com/confluence/display/JFROG/PyPI+Repositories).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst pypi_remote = new artifactory.RemotePypiRepository(\"pypi-remote\", {\n    key: \"pypi-remote-foo\",\n    url: \"https://files.pythonhosted.org\",\n    pypiRegistryUrl: \"https://pypi.org\",\n    pypiRepositorySuffix: \"simple\",\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\npypi_remote = artifactory.RemotePypiRepository(\"pypi-remote\",\n    key=\"pypi-remote-foo\",\n    url=\"https://files.pythonhosted.org\",\n    pypi_registry_url=\"https://pypi.org\",\n    pypi_repository_suffix=\"simple\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var pypi_remote = new Artifactory.RemotePypiRepository(\"pypi-remote\", new()\n    {\n        Key = \"pypi-remote-foo\",\n        Url = \"https://files.pythonhosted.org\",\n        PypiRegistryUrl = \"https://pypi.org\",\n        PypiRepositorySuffix = \"simple\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewRemotePypiRepository(ctx, \"pypi-remote\", \u0026artifactory.RemotePypiRepositoryArgs{\n\t\t\tKey:                  pulumi.String(\"pypi-remote-foo\"),\n\t\t\tUrl:                  pulumi.String(\"https://files.pythonhosted.org\"),\n\t\t\tPypiRegistryUrl:      pulumi.String(\"https://pypi.org\"),\n\t\t\tPypiRepositorySuffix: pulumi.String(\"simple\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_remotepypirepository\" \"pypi-remote\" {\n  key                    = \"pypi-remote-foo\"\n  url                    = \"https://files.pythonhosted.org\"\n  pypi_registry_url      = \"https://pypi.org\"\n  pypi_repository_suffix = \"simple\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.RemotePypiRepository;\nimport com.pulumi.artifactory.RemotePypiRepositoryArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 pypi_remote = new RemotePypiRepository(\"pypi-remote\", RemotePypiRepositoryArgs.builder()\n            .key(\"pypi-remote-foo\")\n            .url(\"https://files.pythonhosted.org\")\n            .pypiRegistryUrl(\"https://pypi.org\")\n            .pypiRepositorySuffix(\"simple\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  pypi-remote:\n    type: artifactory:RemotePypiRepository\n    properties:\n      key: pypi-remote-foo\n      url: https://files.pythonhosted.org\n      pypiRegistryUrl: https://pypi.org\n      pypiRepositorySuffix: simple\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRemote repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/remotePypiRepository:RemotePypiRepository pypi-remote pypi-remote\n```\n\n",
            "properties": {
                "allowAnyHostAuth": {
                    "type": "boolean",
                    "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                },
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "assumedOfflinePeriodSecs": {
                    "type": "integer",
                    "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                },
                "blockMismatchingMimeTypes": {
                    "type": "boolean",
                    "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                },
                "bypassHeadRequests": {
                    "type": "boolean",
                    "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "clientTlsCertificate": {
                    "type": "string",
                    "description": "Client TLS certificate name."
                },
                "contentSynchronisation": {
                    "$ref": "#/types/artifactory:index/RemotePypiRepositoryContentSynchronisation:RemotePypiRepositoryContentSynchronisation"
                },
                "curated": {
                    "type": "boolean",
                    "description": "Enable repository to be protected by the Curation service.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                },
                "disableUrlNormalization": {
                    "type": "boolean",
                    "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                },
                "enableCookieManagement": {
                    "type": "boolean",
                    "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "hardFail": {
                    "type": "boolean",
                    "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                },
                "listRemoteFolderItems": {
                    "type": "boolean",
                    "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                },
                "localAddress": {
                    "type": "string",
                    "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                },
                "metadataRetrievalTimeoutSecs": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                },
                "mismatchingMimeTypesOverrideList": {
                    "type": "string",
                    "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                },
                "missedCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "offline": {
                    "type": "boolean",
                    "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                },
                "passThrough": {
                    "type": "boolean",
                    "description": "Enable Pass-through for Curation Audit. When enabled, allows artifacts to pass through the Curation audit process.\n"
                },
                "password": {
                    "type": "string",
                    "secret": true
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                },
                "pypiRegistryUrl": {
                    "type": "string",
                    "description": "To configure the remote repo to proxy public external PyPI repository, or a PyPI repository hosted on another Artifactory server. See JFrog Pypi documentation [here](https://www.jfrog.com/confluence/display/JFROG/PyPI+Repositories) for the usage details. Default value is `https://pypi.org`.\n"
                },
                "pypiRepositorySuffix": {
                    "type": "string",
                    "description": "Usually should be left as a default for \u003cspan pulumi-lang-nodejs=\"`simple`\" pulumi-lang-dotnet=\"`Simple`\" pulumi-lang-go=\"`simple`\" pulumi-lang-python=\"`simple`\" pulumi-lang-yaml=\"`simple`\" pulumi-lang-java=\"`simple`\" pulumi-lang-hcl=\"`simple`\"\u003e`simple`\u003c/span\u003e, unless the remote is a PyPI server that has custom registry suffix, like +simple in DevPI. Default value is \u003cspan pulumi-lang-nodejs=\"`simple`\" pulumi-lang-dotnet=\"`Simple`\" pulumi-lang-go=\"`simple`\" pulumi-lang-python=\"`simple`\" pulumi-lang-yaml=\"`simple`\" pulumi-lang-java=\"`simple`\" pulumi-lang-hcl=\"`simple`\"\u003e`simple`\u003c/span\u003e.\n"
                },
                "queryParams": {
                    "type": "string",
                    "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                },
                "remoteRepoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "retrievalCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                },
                "shareConfiguration": {
                    "type": "boolean",
                    "deprecationMessage": "No longer supported"
                },
                "socketTimeoutMillis": {
                    "type": "integer",
                    "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                },
                "storeArtifactsLocally": {
                    "type": "boolean",
                    "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                },
                "synchronizeProperties": {
                    "type": "boolean",
                    "description": "When set, remote artifacts are fetched along with their properties."
                },
                "unusedArtifactsCleanupPeriodHours": {
                    "type": "integer",
                    "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                },
                "url": {
                    "type": "string",
                    "description": "The remote repo URL.\n"
                },
                "username": {
                    "type": "string"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "allowAnyHostAuth",
                "archiveBrowsingEnabled",
                "assumedOfflinePeriodSecs",
                "blackedOut",
                "blockMismatchingMimeTypes",
                "bypassHeadRequests",
                "cdnRedirect",
                "clientTlsCertificate",
                "curated",
                "description",
                "disableProxy",
                "disableUrlNormalization",
                "downloadDirect",
                "enableCookieManagement",
                "excludesPattern",
                "hardFail",
                "includesPattern",
                "key",
                "listRemoteFolderItems",
                "localAddress",
                "metadataRetrievalTimeoutSecs",
                "mismatchingMimeTypesOverrideList",
                "missedCachePeriodSeconds",
                "notes",
                "offline",
                "passThrough",
                "priorityResolution",
                "projectEnvironments",
                "projectKey",
                "proxy",
                "pypiRegistryUrl",
                "pypiRepositorySuffix",
                "queryParams",
                "remoteRepoLayoutRef",
                "repoLayoutRef",
                "retrievalCachePeriodSeconds",
                "shareConfiguration",
                "socketTimeoutMillis",
                "storeArtifactsLocally",
                "synchronizeProperties",
                "unusedArtifactsCleanupPeriodHours",
                "url",
                "username",
                "xrayIndex"
            ],
            "inputProperties": {
                "allowAnyHostAuth": {
                    "type": "boolean",
                    "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                },
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "assumedOfflinePeriodSecs": {
                    "type": "integer",
                    "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                },
                "blockMismatchingMimeTypes": {
                    "type": "boolean",
                    "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                },
                "bypassHeadRequests": {
                    "type": "boolean",
                    "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "clientTlsCertificate": {
                    "type": "string",
                    "description": "Client TLS certificate name."
                },
                "contentSynchronisation": {
                    "$ref": "#/types/artifactory:index/RemotePypiRepositoryContentSynchronisation:RemotePypiRepositoryContentSynchronisation"
                },
                "curated": {
                    "type": "boolean",
                    "description": "Enable repository to be protected by the Curation service.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                },
                "disableUrlNormalization": {
                    "type": "boolean",
                    "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                },
                "enableCookieManagement": {
                    "type": "boolean",
                    "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "hardFail": {
                    "type": "boolean",
                    "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                },
                "listRemoteFolderItems": {
                    "type": "boolean",
                    "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                },
                "localAddress": {
                    "type": "string",
                    "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                },
                "metadataRetrievalTimeoutSecs": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                },
                "mismatchingMimeTypesOverrideList": {
                    "type": "string",
                    "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                },
                "missedCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "offline": {
                    "type": "boolean",
                    "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                },
                "passThrough": {
                    "type": "boolean",
                    "description": "Enable Pass-through for Curation Audit. When enabled, allows artifacts to pass through the Curation audit process.\n"
                },
                "password": {
                    "type": "string",
                    "secret": true
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                },
                "pypiRegistryUrl": {
                    "type": "string",
                    "description": "To configure the remote repo to proxy public external PyPI repository, or a PyPI repository hosted on another Artifactory server. See JFrog Pypi documentation [here](https://www.jfrog.com/confluence/display/JFROG/PyPI+Repositories) for the usage details. Default value is `https://pypi.org`.\n"
                },
                "pypiRepositorySuffix": {
                    "type": "string",
                    "description": "Usually should be left as a default for \u003cspan pulumi-lang-nodejs=\"`simple`\" pulumi-lang-dotnet=\"`Simple`\" pulumi-lang-go=\"`simple`\" pulumi-lang-python=\"`simple`\" pulumi-lang-yaml=\"`simple`\" pulumi-lang-java=\"`simple`\" pulumi-lang-hcl=\"`simple`\"\u003e`simple`\u003c/span\u003e, unless the remote is a PyPI server that has custom registry suffix, like +simple in DevPI. Default value is \u003cspan pulumi-lang-nodejs=\"`simple`\" pulumi-lang-dotnet=\"`Simple`\" pulumi-lang-go=\"`simple`\" pulumi-lang-python=\"`simple`\" pulumi-lang-yaml=\"`simple`\" pulumi-lang-java=\"`simple`\" pulumi-lang-hcl=\"`simple`\"\u003e`simple`\u003c/span\u003e.\n"
                },
                "queryParams": {
                    "type": "string",
                    "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                },
                "remoteRepoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "retrievalCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                },
                "shareConfiguration": {
                    "type": "boolean",
                    "deprecationMessage": "No longer supported"
                },
                "socketTimeoutMillis": {
                    "type": "integer",
                    "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                },
                "storeArtifactsLocally": {
                    "type": "boolean",
                    "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                },
                "synchronizeProperties": {
                    "type": "boolean",
                    "description": "When set, remote artifacts are fetched along with their properties."
                },
                "unusedArtifactsCleanupPeriodHours": {
                    "type": "integer",
                    "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                },
                "url": {
                    "type": "string",
                    "description": "The remote repo URL.\n"
                },
                "username": {
                    "type": "string"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key",
                "url"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering RemotePypiRepository resources.\n",
                "properties": {
                    "allowAnyHostAuth": {
                        "type": "boolean",
                        "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                    },
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "assumedOfflinePeriodSecs": {
                        "type": "integer",
                        "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                    },
                    "blockMismatchingMimeTypes": {
                        "type": "boolean",
                        "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                    },
                    "bypassHeadRequests": {
                        "type": "boolean",
                        "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "clientTlsCertificate": {
                        "type": "string",
                        "description": "Client TLS certificate name."
                    },
                    "contentSynchronisation": {
                        "$ref": "#/types/artifactory:index/RemotePypiRepositoryContentSynchronisation:RemotePypiRepositoryContentSynchronisation"
                    },
                    "curated": {
                        "type": "boolean",
                        "description": "Enable repository to be protected by the Curation service.\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "disableProxy": {
                        "type": "boolean",
                        "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                    },
                    "disableUrlNormalization": {
                        "type": "boolean",
                        "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                    },
                    "enableCookieManagement": {
                        "type": "boolean",
                        "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "hardFail": {
                        "type": "boolean",
                        "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                    },
                    "includesPattern": {
                        "type": "string",
                        "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                    },
                    "key": {
                        "type": "string",
                        "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                    },
                    "listRemoteFolderItems": {
                        "type": "boolean",
                        "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                    },
                    "localAddress": {
                        "type": "string",
                        "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                    },
                    "metadataRetrievalTimeoutSecs": {
                        "type": "integer",
                        "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                    },
                    "mismatchingMimeTypesOverrideList": {
                        "type": "string",
                        "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                    },
                    "missedCachePeriodSeconds": {
                        "type": "integer",
                        "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                    },
                    "notes": {
                        "type": "string",
                        "description": "Internal description."
                    },
                    "offline": {
                        "type": "boolean",
                        "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                    },
                    "passThrough": {
                        "type": "boolean",
                        "description": "Enable Pass-through for Curation Audit. When enabled, allows artifacts to pass through the Curation audit process.\n"
                    },
                    "password": {
                        "type": "string",
                        "secret": true
                    },
                    "priorityResolution": {
                        "type": "boolean",
                        "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                    },
                    "projectEnvironments": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                    },
                    "projectKey": {
                        "type": "string",
                        "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                    },
                    "propertySets": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of property set name"
                    },
                    "proxy": {
                        "type": "string",
                        "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                    },
                    "pypiRegistryUrl": {
                        "type": "string",
                        "description": "To configure the remote repo to proxy public external PyPI repository, or a PyPI repository hosted on another Artifactory server. See JFrog Pypi documentation [here](https://www.jfrog.com/confluence/display/JFROG/PyPI+Repositories) for the usage details. Default value is `https://pypi.org`.\n"
                    },
                    "pypiRepositorySuffix": {
                        "type": "string",
                        "description": "Usually should be left as a default for \u003cspan pulumi-lang-nodejs=\"`simple`\" pulumi-lang-dotnet=\"`Simple`\" pulumi-lang-go=\"`simple`\" pulumi-lang-python=\"`simple`\" pulumi-lang-yaml=\"`simple`\" pulumi-lang-java=\"`simple`\" pulumi-lang-hcl=\"`simple`\"\u003e`simple`\u003c/span\u003e, unless the remote is a PyPI server that has custom registry suffix, like +simple in DevPI. Default value is \u003cspan pulumi-lang-nodejs=\"`simple`\" pulumi-lang-dotnet=\"`Simple`\" pulumi-lang-go=\"`simple`\" pulumi-lang-python=\"`simple`\" pulumi-lang-yaml=\"`simple`\" pulumi-lang-java=\"`simple`\" pulumi-lang-hcl=\"`simple`\"\u003e`simple`\u003c/span\u003e.\n"
                    },
                    "queryParams": {
                        "type": "string",
                        "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                    },
                    "remoteRepoLayoutRef": {
                        "type": "string",
                        "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                    },
                    "repoLayoutRef": {
                        "type": "string",
                        "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                    },
                    "retrievalCachePeriodSeconds": {
                        "type": "integer",
                        "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                    },
                    "shareConfiguration": {
                        "type": "boolean",
                        "deprecationMessage": "No longer supported"
                    },
                    "socketTimeoutMillis": {
                        "type": "integer",
                        "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                    },
                    "storeArtifactsLocally": {
                        "type": "boolean",
                        "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                    },
                    "synchronizeProperties": {
                        "type": "boolean",
                        "description": "When set, remote artifacts are fetched along with their properties."
                    },
                    "unusedArtifactsCleanupPeriodHours": {
                        "type": "integer",
                        "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                    },
                    "url": {
                        "type": "string",
                        "description": "The remote repo URL.\n"
                    },
                    "username": {
                        "type": "string"
                    },
                    "xrayIndex": {
                        "type": "boolean",
                        "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/remoteRepositoryReplication:RemoteRepositoryReplication": {
            "description": "Provides a remote repository replication resource, also referred to as Artifactory pull replication. \nThis resource provides a convenient way to proactively populate a remote cache, and is very useful when waiting for new artifacts to arrive on demand (when first requested) is not desirable due to network latency. See [official documentation](https://www.jfrog.com/confluence/display/JFROG/Repository+Replication#RepositoryReplication-PullReplication).\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst config = new pulumi.Config();\n// The base URL of the Artifactory deployment\nconst artifactoryUrl = config.require(\"artifactoryUrl\");\nconst providerTestSource = new artifactory.LocalMavenRepository(\"provider_test_source\", {key: \"provider_test_source\"});\nconst providerTestDest = new artifactory.RemoteMavenRepository(\"provider_test_dest\", {\n    key: \"provider_test_dest\",\n    url: `${artifactoryUrl}/artifactory/${artifactoryLocalMavenRepository.key}`,\n    username: \"foo\",\n    password: \"bar\",\n});\nconst remote_rep = new artifactory.RemoteRepositoryReplication(\"remote-rep\", {\n    repoKey: providerTestDest.key,\n    cronExp: \"0 0 * * * ?\",\n    enableEventReplication: true,\n    enabled: true,\n    syncDeletes: false,\n    syncProperties: true,\n    includePathPrefixPattern: \"/some-repo/\",\n    excludePathPrefixPattern: \"/some-other-repo/\",\n    checkBinaryExistenceInFilestore: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nconfig = pulumi.Config()\n# The base URL of the Artifactory deployment\nartifactory_url = config.require(\"artifactoryUrl\")\nprovider_test_source = artifactory.LocalMavenRepository(\"provider_test_source\", key=\"provider_test_source\")\nprovider_test_dest = artifactory.RemoteMavenRepository(\"provider_test_dest\",\n    key=\"provider_test_dest\",\n    url=f\"{artifactory_url}/artifactory/{artifactory_local_maven_repository['key']}\",\n    username=\"foo\",\n    password=\"bar\")\nremote_rep = artifactory.RemoteRepositoryReplication(\"remote-rep\",\n    repo_key=provider_test_dest.key,\n    cron_exp=\"0 0 * * * ?\",\n    enable_event_replication=True,\n    enabled=True,\n    sync_deletes=False,\n    sync_properties=True,\n    include_path_prefix_pattern=\"/some-repo/\",\n    exclude_path_prefix_pattern=\"/some-other-repo/\",\n    check_binary_existence_in_filestore=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Config();\n    // The base URL of the Artifactory deployment\n    var artifactoryUrl = config.Require(\"artifactoryUrl\");\n    var providerTestSource = new Artifactory.LocalMavenRepository(\"provider_test_source\", new()\n    {\n        Key = \"provider_test_source\",\n    });\n\n    var providerTestDest = new Artifactory.RemoteMavenRepository(\"provider_test_dest\", new()\n    {\n        Key = \"provider_test_dest\",\n        Url = $\"{artifactoryUrl}/artifactory/{artifactoryLocalMavenRepository.Key}\",\n        Username = \"foo\",\n        Password = \"bar\",\n    });\n\n    var remote_rep = new Artifactory.RemoteRepositoryReplication(\"remote-rep\", new()\n    {\n        RepoKey = providerTestDest.Key,\n        CronExp = \"0 0 * * * ?\",\n        EnableEventReplication = true,\n        Enabled = true,\n        SyncDeletes = false,\n        SyncProperties = true,\n        IncludePathPrefixPattern = \"/some-repo/\",\n        ExcludePathPrefixPattern = \"/some-other-repo/\",\n        CheckBinaryExistenceInFilestore = false,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcfg := config.New(ctx, \"\")\n\t\t// The base URL of the Artifactory deployment\n\t\tartifactoryUrl := cfg.Require(\"artifactoryUrl\")\n\t\t_, err := artifactory.NewLocalMavenRepository(ctx, \"provider_test_source\", \u0026artifactory.LocalMavenRepositoryArgs{\n\t\t\tKey: pulumi.String(\"provider_test_source\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tproviderTestDest, err := artifactory.NewRemoteMavenRepository(ctx, \"provider_test_dest\", \u0026artifactory.RemoteMavenRepositoryArgs{\n\t\t\tKey:      pulumi.String(\"provider_test_dest\"),\n\t\t\tUrl:      pulumi.Sprintf(\"%v/artifactory/%v\", artifactoryUrl, artifactoryLocalMavenRepository.Key),\n\t\t\tUsername: pulumi.String(\"foo\"),\n\t\t\tPassword: pulumi.String(\"bar\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = artifactory.NewRemoteRepositoryReplication(ctx, \"remote-rep\", \u0026artifactory.RemoteRepositoryReplicationArgs{\n\t\t\tRepoKey:                         providerTestDest.Key,\n\t\t\tCronExp:                         pulumi.String(\"0 0 * * * ?\"),\n\t\t\tEnableEventReplication:          pulumi.Bool(true),\n\t\t\tEnabled:                         pulumi.Bool(true),\n\t\t\tSyncDeletes:                     pulumi.Bool(false),\n\t\t\tSyncProperties:                  pulumi.Bool(true),\n\t\t\tIncludePathPrefixPattern:        pulumi.String(\"/some-repo/\"),\n\t\t\tExcludePathPrefixPattern:        pulumi.String(\"/some-other-repo/\"),\n\t\t\tCheckBinaryExistenceInFilestore: pulumi.Bool(false),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_localmavenrepository\" \"provider_test_source\" {\n  key = \"provider_test_source\"\n}\nresource \"artifactory_remotemavenrepository\" \"provider_test_dest\" {\n  key      = \"provider_test_dest\"\n  url      =\"${var.artifactoryUrl}/artifactory/${artifactoryLocalMavenRepository.key}\"\n  username = \"foo\"\n  password = \"bar\"\n}\nresource \"artifactory_remoterepositoryreplication\" \"remote-rep\" {\n  repo_key                            = artifactory_remotemavenrepository.provider_test_dest.key\n  cron_exp                            = \"0 0 * * * ?\"\n  enable_event_replication            = true\n  enabled                             = true\n  sync_deletes                        = false\n  sync_properties                     = true\n  include_path_prefix_pattern         = \"/some-repo/\"\n  exclude_path_prefix_pattern         = \"/some-other-repo/\"\n  check_binary_existence_in_filestore = false\n}\nvariable \"artifactoryUrl\" {\n  type        = string\n  description = \"The base URL of the Artifactory deployment\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.LocalMavenRepository;\nimport com.pulumi.artifactory.LocalMavenRepositoryArgs;\nimport com.pulumi.artifactory.RemoteMavenRepository;\nimport com.pulumi.artifactory.RemoteMavenRepositoryArgs;\nimport com.pulumi.artifactory.RemoteRepositoryReplication;\nimport com.pulumi.artifactory.RemoteRepositoryReplicationArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 config = ctx.config();\n        final var artifactoryUrl = config.require(\"artifactoryUrl\");\n        var providerTestSource = new LocalMavenRepository(\"providerTestSource\", LocalMavenRepositoryArgs.builder()\n            .key(\"provider_test_source\")\n            .build());\n\n        var providerTestDest = new RemoteMavenRepository(\"providerTestDest\", RemoteMavenRepositoryArgs.builder()\n            .key(\"provider_test_dest\")\n            .url(String.format(\"%s/artifactory/%s\", artifactoryUrl,artifactoryLocalMavenRepository.key()))\n            .username(\"foo\")\n            .password(\"bar\")\n            .build());\n\n        var remote_rep = new RemoteRepositoryReplication(\"remote-rep\", RemoteRepositoryReplicationArgs.builder()\n            .repoKey(providerTestDest.key())\n            .cronExp(\"0 0 * * * ?\")\n            .enableEventReplication(true)\n            .enabled(true)\n            .syncDeletes(false)\n            .syncProperties(true)\n            .includePathPrefixPattern(\"/some-repo/\")\n            .excludePathPrefixPattern(\"/some-other-repo/\")\n            .checkBinaryExistenceInFilestore(false)\n            .build());\n\n    }\n}\n```\n```yaml\nconfiguration:\n  artifactoryUrl:\n    type: string\nresources:\n  providerTestSource:\n    type: artifactory:LocalMavenRepository\n    name: provider_test_source\n    properties:\n      key: provider_test_source\n  providerTestDest:\n    type: artifactory:RemoteMavenRepository\n    name: provider_test_dest\n    properties:\n      key: provider_test_dest\n      url: ${artifactoryUrl}/artifactory/${artifactoryLocalMavenRepository.key}\n      username: foo\n      password: bar\n  remote-rep:\n    type: artifactory:RemoteRepositoryReplication\n    properties:\n      repoKey: ${providerTestDest.key}\n      cronExp: 0 0 * * * ?\n      enableEventReplication: true\n      enabled: true\n      syncDeletes: false\n      syncProperties: true\n      includePathPrefixPattern: /some-repo/\n      excludePathPrefixPattern: /some-other-repo/\n      checkBinaryExistenceInFilestore: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nPush replication configs can be imported using their repo key, e.g.\n\n```sh\n$ pulumi import artifactory:index/remoteRepositoryReplication:RemoteRepositoryReplication foo-rep provider_test_source\n```\n\n",
            "properties": {
                "checkBinaryExistenceInFilestore": {
                    "type": "boolean",
                    "description": "Enabling the \u003cspan pulumi-lang-nodejs=\"`checkBinaryExistenceInFilestore`\" pulumi-lang-dotnet=\"`CheckBinaryExistenceInFilestore`\" pulumi-lang-go=\"`checkBinaryExistenceInFilestore`\" pulumi-lang-python=\"`check_binary_existence_in_filestore`\" pulumi-lang-yaml=\"`checkBinaryExistenceInFilestore`\" pulumi-lang-java=\"`checkBinaryExistenceInFilestore`\" pulumi-lang-hcl=\"`check_binary_existence_in_filestore`\"\u003e`checkBinaryExistenceInFilestore`\u003c/span\u003e flag requires an Enterprise Plus license. When true, enables distributed checksum storage. For more information, see [Optimizing Repository Replication with Checksum-Based Storage](https://www.jfrog.com/confluence/display/JFROG/Repository+Replication#RepositoryReplication-OptimizingRepositoryReplicationUsingStorageLevelSynchronizationOptions).\n"
                },
                "cronExp": {
                    "type": "string",
                    "description": "A valid CRON expression that you can use to control replication frequency. Eg: `0 0 12 * * ? *`, `0 0 2 ? * MON-SAT *`. Note: use 6 or 7 parts format - Seconds, Minutes Hours, Day Of Month, Month, Day Of Week, Year (optional). Specifying both a day-of-week AND a day-of-month parameter is not supported. One of them should be replaced by `?`. Incorrect: `* 5,7,9 14/2 * * WED,SAT *`, correct: `* 5,7,9 14/2 ? * WED,SAT *`. See details in [Cron Trigger Tutorial](https://www.quartz-scheduler.org/documentation/quartz-2.3.0/tutorials/crontrigger.html).\n"
                },
                "enableEventReplication": {
                    "type": "boolean",
                    "description": "When set, each event will trigger replication of the artifacts changed in this event. This can be any type of event on artifact, e.g. add, deleted or property change. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\ncom/confluence/display/JFROG/User+Profile#UserProfile-IdentityTokenidentitytoken).\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "When set, enables replication of this repository to the target specified in \u003cspan pulumi-lang-nodejs=\"`url`\" pulumi-lang-dotnet=\"`Url`\" pulumi-lang-go=\"`url`\" pulumi-lang-python=\"`url`\" pulumi-lang-yaml=\"`url`\" pulumi-lang-java=\"`url`\" pulumi-lang-hcl=\"`url`\"\u003e`url`\u003c/span\u003e attribute. Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                },
                "excludePathPrefixPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`. By default, no artifacts are excluded.\n"
                },
                "includePathPrefixPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included `(**/*)`.\n"
                },
                "replicationKey": {
                    "type": "string",
                    "description": "Replication ID, the value is unknown until the resource is created. Can't be set or updated.\n"
                },
                "repoKey": {
                    "type": "string",
                    "description": "Repository name.\n"
                },
                "syncDeletes": {
                    "type": "boolean",
                    "description": "When set, items that were deleted locally should also be deleted remotely (also applies to properties metadata). Note that enabling this option, will delete artifacts on the target that do not exist in the source repository. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                },
                "syncProperties": {
                    "type": "boolean",
                    "description": "When set, the task also synchronizes the properties of replicated artifacts. Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                }
            },
            "required": [
                "checkBinaryExistenceInFilestore",
                "enableEventReplication",
                "enabled",
                "excludePathPrefixPattern",
                "includePathPrefixPattern",
                "replicationKey",
                "repoKey",
                "syncDeletes",
                "syncProperties"
            ],
            "inputProperties": {
                "checkBinaryExistenceInFilestore": {
                    "type": "boolean",
                    "description": "Enabling the \u003cspan pulumi-lang-nodejs=\"`checkBinaryExistenceInFilestore`\" pulumi-lang-dotnet=\"`CheckBinaryExistenceInFilestore`\" pulumi-lang-go=\"`checkBinaryExistenceInFilestore`\" pulumi-lang-python=\"`check_binary_existence_in_filestore`\" pulumi-lang-yaml=\"`checkBinaryExistenceInFilestore`\" pulumi-lang-java=\"`checkBinaryExistenceInFilestore`\" pulumi-lang-hcl=\"`check_binary_existence_in_filestore`\"\u003e`checkBinaryExistenceInFilestore`\u003c/span\u003e flag requires an Enterprise Plus license. When true, enables distributed checksum storage. For more information, see [Optimizing Repository Replication with Checksum-Based Storage](https://www.jfrog.com/confluence/display/JFROG/Repository+Replication#RepositoryReplication-OptimizingRepositoryReplicationUsingStorageLevelSynchronizationOptions).\n"
                },
                "cronExp": {
                    "type": "string",
                    "description": "A valid CRON expression that you can use to control replication frequency. Eg: `0 0 12 * * ? *`, `0 0 2 ? * MON-SAT *`. Note: use 6 or 7 parts format - Seconds, Minutes Hours, Day Of Month, Month, Day Of Week, Year (optional). Specifying both a day-of-week AND a day-of-month parameter is not supported. One of them should be replaced by `?`. Incorrect: `* 5,7,9 14/2 * * WED,SAT *`, correct: `* 5,7,9 14/2 ? * WED,SAT *`. See details in [Cron Trigger Tutorial](https://www.quartz-scheduler.org/documentation/quartz-2.3.0/tutorials/crontrigger.html).\n"
                },
                "enableEventReplication": {
                    "type": "boolean",
                    "description": "When set, each event will trigger replication of the artifacts changed in this event. This can be any type of event on artifact, e.g. add, deleted or property change. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\ncom/confluence/display/JFROG/User+Profile#UserProfile-IdentityTokenidentitytoken).\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "When set, enables replication of this repository to the target specified in \u003cspan pulumi-lang-nodejs=\"`url`\" pulumi-lang-dotnet=\"`Url`\" pulumi-lang-go=\"`url`\" pulumi-lang-python=\"`url`\" pulumi-lang-yaml=\"`url`\" pulumi-lang-java=\"`url`\" pulumi-lang-hcl=\"`url`\"\u003e`url`\u003c/span\u003e attribute. Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                },
                "excludePathPrefixPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`. By default, no artifacts are excluded.\n"
                },
                "includePathPrefixPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included `(**/*)`.\n"
                },
                "replicationKey": {
                    "type": "string",
                    "description": "Replication ID, the value is unknown until the resource is created. Can't be set or updated.\n"
                },
                "repoKey": {
                    "type": "string",
                    "description": "Repository name.\n"
                },
                "syncDeletes": {
                    "type": "boolean",
                    "description": "When set, items that were deleted locally should also be deleted remotely (also applies to properties metadata). Note that enabling this option, will delete artifacts on the target that do not exist in the source repository. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                },
                "syncProperties": {
                    "type": "boolean",
                    "description": "When set, the task also synchronizes the properties of replicated artifacts. Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                }
            },
            "requiredInputs": [
                "repoKey"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering RemoteRepositoryReplication resources.\n",
                "properties": {
                    "checkBinaryExistenceInFilestore": {
                        "type": "boolean",
                        "description": "Enabling the \u003cspan pulumi-lang-nodejs=\"`checkBinaryExistenceInFilestore`\" pulumi-lang-dotnet=\"`CheckBinaryExistenceInFilestore`\" pulumi-lang-go=\"`checkBinaryExistenceInFilestore`\" pulumi-lang-python=\"`check_binary_existence_in_filestore`\" pulumi-lang-yaml=\"`checkBinaryExistenceInFilestore`\" pulumi-lang-java=\"`checkBinaryExistenceInFilestore`\" pulumi-lang-hcl=\"`check_binary_existence_in_filestore`\"\u003e`checkBinaryExistenceInFilestore`\u003c/span\u003e flag requires an Enterprise Plus license. When true, enables distributed checksum storage. For more information, see [Optimizing Repository Replication with Checksum-Based Storage](https://www.jfrog.com/confluence/display/JFROG/Repository+Replication#RepositoryReplication-OptimizingRepositoryReplicationUsingStorageLevelSynchronizationOptions).\n"
                    },
                    "cronExp": {
                        "type": "string",
                        "description": "A valid CRON expression that you can use to control replication frequency. Eg: `0 0 12 * * ? *`, `0 0 2 ? * MON-SAT *`. Note: use 6 or 7 parts format - Seconds, Minutes Hours, Day Of Month, Month, Day Of Week, Year (optional). Specifying both a day-of-week AND a day-of-month parameter is not supported. One of them should be replaced by `?`. Incorrect: `* 5,7,9 14/2 * * WED,SAT *`, correct: `* 5,7,9 14/2 ? * WED,SAT *`. See details in [Cron Trigger Tutorial](https://www.quartz-scheduler.org/documentation/quartz-2.3.0/tutorials/crontrigger.html).\n"
                    },
                    "enableEventReplication": {
                        "type": "boolean",
                        "description": "When set, each event will trigger replication of the artifacts changed in this event. This can be any type of event on artifact, e.g. add, deleted or property change. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\ncom/confluence/display/JFROG/User+Profile#UserProfile-IdentityTokenidentitytoken).\n"
                    },
                    "enabled": {
                        "type": "boolean",
                        "description": "When set, enables replication of this repository to the target specified in \u003cspan pulumi-lang-nodejs=\"`url`\" pulumi-lang-dotnet=\"`Url`\" pulumi-lang-go=\"`url`\" pulumi-lang-python=\"`url`\" pulumi-lang-yaml=\"`url`\" pulumi-lang-java=\"`url`\" pulumi-lang-hcl=\"`url`\"\u003e`url`\u003c/span\u003e attribute. Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                    },
                    "excludePathPrefixPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`. By default, no artifacts are excluded.\n"
                    },
                    "includePathPrefixPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included `(**/*)`.\n"
                    },
                    "replicationKey": {
                        "type": "string",
                        "description": "Replication ID, the value is unknown until the resource is created. Can't be set or updated.\n"
                    },
                    "repoKey": {
                        "type": "string",
                        "description": "Repository name.\n"
                    },
                    "syncDeletes": {
                        "type": "boolean",
                        "description": "When set, items that were deleted locally should also be deleted remotely (also applies to properties metadata). Note that enabling this option, will delete artifacts on the target that do not exist in the source repository. Default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                    },
                    "syncProperties": {
                        "type": "boolean",
                        "description": "When set, the task also synchronizes the properties of replicated artifacts. Default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e.\n"
                    }
                },
                "type": "object"
            }
        },
        "artifactory:index/remoteRpmRepository:RemoteRpmRepository": {
            "description": "Creates a remote RPM repository.\nOfficial documentation can be found [here](https://www.jfrog.com/confluence/display/JFROG/RPM+Repositories).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as artifactory from \"@pulumi/artifactory\";\n\nconst my_remote_rpm = new artifactory.RemoteRpmRepository(\"my-remote-rpm\", {\n    key: \"my-remote-rpm\",\n    url: \"http://mirror.centos.org/centos/\",\n});\n```\n```python\nimport pulumi\nimport pulumi_artifactory as artifactory\n\nmy_remote_rpm = artifactory.RemoteRpmRepository(\"my-remote-rpm\",\n    key=\"my-remote-rpm\",\n    url=\"http://mirror.centos.org/centos/\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Artifactory = Pulumi.Artifactory;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var my_remote_rpm = new Artifactory.RemoteRpmRepository(\"my-remote-rpm\", new()\n    {\n        Key = \"my-remote-rpm\",\n        Url = \"http://mirror.centos.org/centos/\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-artifactory/sdk/v8/go/artifactory\"\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 := artifactory.NewRemoteRpmRepository(ctx, \"my-remote-rpm\", \u0026artifactory.RemoteRpmRepositoryArgs{\n\t\t\tKey: pulumi.String(\"my-remote-rpm\"),\n\t\t\tUrl: pulumi.String(\"http://mirror.centos.org/centos/\"),\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```hcl\npulumi {\n  required_providers {\n    artifactory = {\n      source = \"pulumi/artifactory\"\n    }\n  }\n}\n\nresource \"artifactory_remoterpmrepository\" \"my-remote-rpm\" {\n  key = \"my-remote-rpm\"\n  url = \"http://mirror.centos.org/centos/\"\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.artifactory.RemoteRpmRepository;\nimport com.pulumi.artifactory.RemoteRpmRepositoryArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 my_remote_rpm = new RemoteRpmRepository(\"my-remote-rpm\", RemoteRpmRepositoryArgs.builder()\n            .key(\"my-remote-rpm\")\n            .url(\"http://mirror.centos.org/centos/\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  my-remote-rpm:\n    type: artifactory:RemoteRpmRepository\n    properties:\n      key: my-remote-rpm\n      url: http://mirror.centos.org/centos/\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRemote repositories can be imported using their name, e.g.\n```sh\n$ pulumi import artifactory:index/remoteRpmRepository:RemoteRpmRepository my-remote-rpm my-remote-rpm\n```\n\n",
            "properties": {
                "allowAnyHostAuth": {
                    "type": "boolean",
                    "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                },
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "assumedOfflinePeriodSecs": {
                    "type": "integer",
                    "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                },
                "blockMismatchingMimeTypes": {
                    "type": "boolean",
                    "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                },
                "bypassHeadRequests": {
                    "type": "boolean",
                    "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "clientTlsCertificate": {
                    "type": "string",
                    "description": "Client TLS certificate name."
                },
                "contentSynchronisation": {
                    "$ref": "#/types/artifactory:index/RemoteRpmRepositoryContentSynchronisation:RemoteRpmRepositoryContentSynchronisation"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                },
                "disableUrlNormalization": {
                    "type": "boolean",
                    "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                },
                "enableCookieManagement": {
                    "type": "boolean",
                    "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "hardFail": {
                    "type": "boolean",
                    "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                },
                "listRemoteFolderItems": {
                    "type": "boolean",
                    "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                },
                "localAddress": {
                    "type": "string",
                    "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                },
                "metadataRetrievalTimeoutSecs": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                },
                "mismatchingMimeTypesOverrideList": {
                    "type": "string",
                    "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                },
                "missedCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "offline": {
                    "type": "boolean",
                    "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                },
                "password": {
                    "type": "string",
                    "secret": true
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                },
                "queryParams": {
                    "type": "string",
                    "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                },
                "remoteRepoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "retrievalCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                },
                "shareConfiguration": {
                    "type": "boolean",
                    "deprecationMessage": "No longer supported"
                },
                "socketTimeoutMillis": {
                    "type": "integer",
                    "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                },
                "storeArtifactsLocally": {
                    "type": "boolean",
                    "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                },
                "synchronizeProperties": {
                    "type": "boolean",
                    "description": "When set, remote artifacts are fetched along with their properties."
                },
                "unusedArtifactsCleanupPeriodHours": {
                    "type": "integer",
                    "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                },
                "url": {
                    "type": "string",
                    "description": "The remote repo URL.\n"
                },
                "username": {
                    "type": "string"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "required": [
                "allowAnyHostAuth",
                "archiveBrowsingEnabled",
                "assumedOfflinePeriodSecs",
                "blackedOut",
                "blockMismatchingMimeTypes",
                "bypassHeadRequests",
                "cdnRedirect",
                "clientTlsCertificate",
                "description",
                "disableProxy",
                "disableUrlNormalization",
                "downloadDirect",
                "enableCookieManagement",
                "excludesPattern",
                "hardFail",
                "includesPattern",
                "key",
                "listRemoteFolderItems",
                "localAddress",
                "metadataRetrievalTimeoutSecs",
                "mismatchingMimeTypesOverrideList",
                "missedCachePeriodSeconds",
                "notes",
                "offline",
                "priorityResolution",
                "projectEnvironments",
                "projectKey",
                "proxy",
                "queryParams",
                "remoteRepoLayoutRef",
                "repoLayoutRef",
                "retrievalCachePeriodSeconds",
                "shareConfiguration",
                "socketTimeoutMillis",
                "storeArtifactsLocally",
                "synchronizeProperties",
                "unusedArtifactsCleanupPeriodHours",
                "url",
                "username",
                "xrayIndex"
            ],
            "inputProperties": {
                "allowAnyHostAuth": {
                    "type": "boolean",
                    "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                },
                "archiveBrowsingEnabled": {
                    "type": "boolean",
                    "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                },
                "assumedOfflinePeriodSecs": {
                    "type": "integer",
                    "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                },
                "blackedOut": {
                    "type": "boolean",
                    "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                },
                "blockMismatchingMimeTypes": {
                    "type": "boolean",
                    "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                },
                "bypassHeadRequests": {
                    "type": "boolean",
                    "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                },
                "cdnRedirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                },
                "clientTlsCertificate": {
                    "type": "string",
                    "description": "Client TLS certificate name."
                },
                "contentSynchronisation": {
                    "$ref": "#/types/artifactory:index/RemoteRpmRepositoryContentSynchronisation:RemoteRpmRepositoryContentSynchronisation"
                },
                "description": {
                    "type": "string",
                    "description": "Public description."
                },
                "disableProxy": {
                    "type": "boolean",
                    "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                },
                "disableUrlNormalization": {
                    "type": "boolean",
                    "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                },
                "downloadDirect": {
                    "type": "boolean",
                    "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                },
                "enableCookieManagement": {
                    "type": "boolean",
                    "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                },
                "excludesPattern": {
                    "type": "string",
                    "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                },
                "hardFail": {
                    "type": "boolean",
                    "description": "When set, Artifactory will return an error to the client that causes the build to fail if there is a failure to communicate with this repository."
                },
                "includesPattern": {
                    "type": "string",
                    "description": "List of comma-separated artifact patterns to include when evaluating artifact requests in the form of `x/y/**/z/*`. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (`**/*`)."
                },
                "key": {
                    "type": "string",
                    "description": "A mandatory identifier for the repository that must be unique. It cannot begin with a number or\ncontain spaces or special characters.\n"
                },
                "listRemoteFolderItems": {
                    "type": "boolean",
                    "description": "Lists the items of remote folders in simple and list browsing. The remote content is cached according to the value of the 'Retrieval Cache Period'. Default value is 'false'. This field exists in the API but not in the UI."
                },
                "localAddress": {
                    "type": "string",
                    "description": "The local address to be used when creating connections. Useful for specifying the interface to use on systems with multiple network interfaces."
                },
                "metadataRetrievalTimeoutSecs": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Timeout (Sec) in the UI.This value refers to the number of seconds to wait for retrieval from the remote before serving locally cached artifact or fail the request."
                },
                "mismatchingMimeTypesOverrideList": {
                    "type": "string",
                    "description": "The set of mime types that should override the\u003cspan pulumi-lang-nodejs=\" blockMismatchingMimeTypes \" pulumi-lang-dotnet=\" BlockMismatchingMimeTypes \" pulumi-lang-go=\" blockMismatchingMimeTypes \" pulumi-lang-python=\" block_mismatching_mime_types \" pulumi-lang-yaml=\" blockMismatchingMimeTypes \" pulumi-lang-java=\" blockMismatchingMimeTypes \" pulumi-lang-hcl=\" block_mismatching_mime_types \"\u003e blockMismatchingMimeTypes \u003c/span\u003esetting. Eg: 'application/json,application/xml'. Default value is empty."
                },
                "missedCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Missed Retrieval Cache Period (Sec) in the UI. The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching."
                },
                "notes": {
                    "type": "string",
                    "description": "Internal description."
                },
                "offline": {
                    "type": "boolean",
                    "description": "If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved."
                },
                "password": {
                    "type": "string",
                    "secret": true
                },
                "priorityResolution": {
                    "type": "boolean",
                    "description": "Setting repositories with priority will cause metadata to be merged only from repositories set with this field"
                },
                "projectEnvironments": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Before Artifactory 7.53.1, up to 2 values (`DEV` and `PROD`) are allowed. From 7.53.1 to 7.107.1, only one value is allowed. From 7.107.1, multiple values are allowed.The attribute should only be used if the repository is already assigned to the existing project. If not, the attribute will be ignored by Artifactory, but will remain in the Terraform state, which will create state drift during the update."
                },
                "projectKey": {
                    "type": "string",
                    "description": "Project key for assigning this repository to. Must be 2 - 32 lowercase alphanumeric and hyphen characters. When assigning repository to a project, repository key must be prefixed with project key, separated by a dash."
                },
                "propertySets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of property set name"
                },
                "proxy": {
                    "type": "string",
                    "description": "Proxy key from Artifactory Proxies settings. Can't be set if \u003cspan pulumi-lang-nodejs=\"`disableProxy \" pulumi-lang-dotnet=\"`DisableProxy \" pulumi-lang-go=\"`disableProxy \" pulumi-lang-python=\"`disable_proxy \" pulumi-lang-yaml=\"`disableProxy \" pulumi-lang-java=\"`disableProxy \" pulumi-lang-hcl=\"`disable_proxy \"\u003e`disableProxy \u003c/span\u003e= true`."
                },
                "queryParams": {
                    "type": "string",
                    "description": "Custom HTTP query parameters that will be automatically included in all remote resource requests. For example: `param1=val1\u0026param2=val2\u0026param3=val3`"
                },
                "remoteRepoLayoutRef": {
                    "type": "string",
                    "description": "Repository layout key for the remote layout mapping. Repository can be created without this attribute (or set to an empty string). Once it's set, it can't be removed by passing an empty string or removing the attribute, that will be ignored by the Artifactory API. UI shows an error message, if the user tries to remove the value."
                },
                "repoLayoutRef": {
                    "type": "string",
                    "description": "Sets the layout that the repository should use for storing and identifying modules. A recommended layout that corresponds to the package type defined is suggested, and index packages uploaded and calculate metadata accordingly."
                },
                "retrievalCachePeriodSeconds": {
                    "type": "integer",
                    "description": "Metadata Retrieval Cache Period (Sec) in the UI. This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching."
                },
                "shareConfiguration": {
                    "type": "boolean",
                    "deprecationMessage": "No longer supported"
                },
                "socketTimeoutMillis": {
                    "type": "integer",
                    "description": "Network timeout (in ms) to use when establishing a connection and for unanswered requests. Timing out on a network operation is considered a retrieval failure."
                },
                "storeArtifactsLocally": {
                    "type": "boolean",
                    "description": "When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers."
                },
                "synchronizeProperties": {
                    "type": "boolean",
                    "description": "When set, remote artifacts are fetched along with their properties."
                },
                "unusedArtifactsCleanupPeriodHours": {
                    "type": "integer",
                    "description": "Unused Artifacts Cleanup Period (Hr) in the UI. The number of hours to wait before an artifact is deemed 'unused' and eligible for cleanup from the repository. A value of 0 means automatic cleanup of cached artifacts is disabled."
                },
                "url": {
                    "type": "string",
                    "description": "The remote repo URL.\n"
                },
                "username": {
                    "type": "string"
                },
                "xrayIndex": {
                    "type": "boolean",
                    "description": "Enable Indexing In Xray. Repository will be indexed with the default retention period. You will be able to change it via Xray settings."
                }
            },
            "requiredInputs": [
                "key",
                "url"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering RemoteRpmRepository resources.\n",
                "properties": {
                    "allowAnyHostAuth": {
                        "type": "boolean",
                        "description": "'Lenient Host Authentication' in the UI. Allow credentials of this repository to be used on requests redirected to any other host."
                    },
                    "archiveBrowsingEnabled": {
                        "type": "boolean",
                        "description": "When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks)."
                    },
                    "assumedOfflinePeriodSecs": {
                        "type": "integer",
                        "description": "The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status. A value of 0 means the repository is never assumed offline."
                    },
                    "blackedOut": {
                        "type": "boolean",
                        "description": "(A.K.A 'Ignore Repository' on the UI) When set, the repository or its local cache do not participate in artifact resolution."
                    },
                    "blockMismatchingMimeTypes": {
                        "type": "boolean",
                        "description": "If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list 'mismatching_mime_types_override_list'."
                    },
                    "bypassHeadRequests": {
                        "type": "boolean",
                        "description": "Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request."
                    },
                    "cdnRedirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from AWS CloudFront. Available in Enterprise+ and Edge licenses only. Default value is 'false'"
                    },
                    "clientTlsCertificate": {
                        "type": "string",
                        "description": "Client TLS certificate name."
                    },
                    "contentSynchronisation": {
                        "$ref": "#/types/artifactory:index/RemoteRpmRepositoryContentSynchronisation:RemoteRpmRepositoryContentSynchronisation"
                    },
                    "description": {
                        "type": "string",
                        "description": "Public description."
                    },
                    "disableProxy": {
                        "type": "boolean",
                        "description": "When set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\" pulumi-lang-hcl=\"`true`\"\u003e`true`\u003c/span\u003e, the proxy is disabled, and not returned in the API response body. If there is a default proxy set for the Artifactory instance, it will be ignored, too. Introduced since Artifactory 7.41.7."
                    },
                    "disableUrlNormalization": {
                        "type": "boolean",
                        "description": "Whether to disable URL normalization. Default is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e."
                    },
                    "downloadDirect": {
                        "type": "boolean",
                        "description": "When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only. Default value is 'false'."
                    },
                    "enableCookieManagement": {
                        "type": "boolean",
                        "description": "Enables cookie management if the remote repository uses cookies to manage client state."
                    },
                    "excludesPattern": {
                        "type": "string",
                        "description": "List of artifact patterns to exclude when evaluating artifact requests, in the form of `x/y/**/z/*`.By default no artifacts are excluded."
                    },
                    "hardFail": {
                        "type": "boolean",
        