Google Cloud Native is in preview. Google Cloud Classic is fully supported.
google-native.artifactregistry/v1beta2.Repository
Explore with Pulumi AI
Google Cloud Native is in preview. Google Cloud Classic is fully supported.
Creates a repository. The returned Operation will finish once the repository has been created. Its response will be the created Repository.
Create Repository Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new Repository(name: string, args: RepositoryArgs, opts?: CustomResourceOptions);@overload
def Repository(resource_name: str,
               args: RepositoryArgs,
               opts: Optional[ResourceOptions] = None)
@overload
def Repository(resource_name: str,
               opts: Optional[ResourceOptions] = None,
               repository_id: Optional[str] = None,
               description: Optional[str] = None,
               format: Optional[RepositoryFormat] = None,
               kms_key_name: Optional[str] = None,
               labels: Optional[Mapping[str, str]] = None,
               location: Optional[str] = None,
               maven_config: Optional[MavenRepositoryConfigArgs] = None,
               name: Optional[str] = None,
               project: Optional[str] = None)func NewRepository(ctx *Context, name string, args RepositoryArgs, opts ...ResourceOption) (*Repository, error)public Repository(string name, RepositoryArgs args, CustomResourceOptions? opts = null)
public Repository(String name, RepositoryArgs args)
public Repository(String name, RepositoryArgs args, CustomResourceOptions options)
type: google-native:artifactregistry/v1beta2:Repository
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
- The unique name of the resource.
- args RepositoryArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args RepositoryArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args RepositoryArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args RepositoryArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args RepositoryArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var examplerepositoryResourceResourceFromArtifactregistryv1beta2 = new GoogleNative.ArtifactRegistry.V1Beta2.Repository("examplerepositoryResourceResourceFromArtifactregistryv1beta2", new()
{
    RepositoryId = "string",
    Description = "string",
    Format = GoogleNative.ArtifactRegistry.V1Beta2.RepositoryFormat.FormatUnspecified,
    KmsKeyName = "string",
    Labels = 
    {
        { "string", "string" },
    },
    Location = "string",
    MavenConfig = new GoogleNative.ArtifactRegistry.V1Beta2.Inputs.MavenRepositoryConfigArgs
    {
        AllowSnapshotOverwrites = false,
        VersionPolicy = GoogleNative.ArtifactRegistry.V1Beta2.MavenRepositoryConfigVersionPolicy.VersionPolicyUnspecified,
    },
    Name = "string",
    Project = "string",
});
example, err := artifactregistryv1beta2.NewRepository(ctx, "examplerepositoryResourceResourceFromArtifactregistryv1beta2", &artifactregistryv1beta2.RepositoryArgs{
	RepositoryId: pulumi.String("string"),
	Description:  pulumi.String("string"),
	Format:       artifactregistryv1beta2.RepositoryFormatFormatUnspecified,
	KmsKeyName:   pulumi.String("string"),
	Labels: pulumi.StringMap{
		"string": pulumi.String("string"),
	},
	Location: pulumi.String("string"),
	MavenConfig: &artifactregistry.MavenRepositoryConfigArgs{
		AllowSnapshotOverwrites: pulumi.Bool(false),
		VersionPolicy:           artifactregistryv1beta2.MavenRepositoryConfigVersionPolicyVersionPolicyUnspecified,
	},
	Name:    pulumi.String("string"),
	Project: pulumi.String("string"),
})
var examplerepositoryResourceResourceFromArtifactregistryv1beta2 = new com.pulumi.googlenative.artifactregistry_v1beta2.Repository("examplerepositoryResourceResourceFromArtifactregistryv1beta2", com.pulumi.googlenative.artifactregistry_v1beta2.RepositoryArgs.builder()
    .repositoryId("string")
    .description("string")
    .format("FORMAT_UNSPECIFIED")
    .kmsKeyName("string")
    .labels(Map.of("string", "string"))
    .location("string")
    .mavenConfig(MavenRepositoryConfigArgs.builder()
        .allowSnapshotOverwrites(false)
        .versionPolicy("VERSION_POLICY_UNSPECIFIED")
        .build())
    .name("string")
    .project("string")
    .build());
examplerepository_resource_resource_from_artifactregistryv1beta2 = google_native.artifactregistry.v1beta2.Repository("examplerepositoryResourceResourceFromArtifactregistryv1beta2",
    repository_id="string",
    description="string",
    format=google_native.artifactregistry.v1beta2.RepositoryFormat.FORMAT_UNSPECIFIED,
    kms_key_name="string",
    labels={
        "string": "string",
    },
    location="string",
    maven_config={
        "allow_snapshot_overwrites": False,
        "version_policy": google_native.artifactregistry.v1beta2.MavenRepositoryConfigVersionPolicy.VERSION_POLICY_UNSPECIFIED,
    },
    name="string",
    project="string")
const examplerepositoryResourceResourceFromArtifactregistryv1beta2 = new google_native.artifactregistry.v1beta2.Repository("examplerepositoryResourceResourceFromArtifactregistryv1beta2", {
    repositoryId: "string",
    description: "string",
    format: google_native.artifactregistry.v1beta2.RepositoryFormat.FormatUnspecified,
    kmsKeyName: "string",
    labels: {
        string: "string",
    },
    location: "string",
    mavenConfig: {
        allowSnapshotOverwrites: false,
        versionPolicy: google_native.artifactregistry.v1beta2.MavenRepositoryConfigVersionPolicy.VersionPolicyUnspecified,
    },
    name: "string",
    project: "string",
});
type: google-native:artifactregistry/v1beta2:Repository
properties:
    description: string
    format: FORMAT_UNSPECIFIED
    kmsKeyName: string
    labels:
        string: string
    location: string
    mavenConfig:
        allowSnapshotOverwrites: false
        versionPolicy: VERSION_POLICY_UNSPECIFIED
    name: string
    project: string
    repositoryId: string
Repository Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The Repository resource accepts the following input properties:
- RepositoryId string
- Required. The repository id to use for this repository.
- Description string
- The user-provided description of the repository.
- Format
Pulumi.Google Native. Artifact Registry. V1Beta2. Repository Format 
- Optional. The format of packages that are stored in the repository.
- KmsKey stringName 
- The Cloud KMS resource name of the customer managed encryption key that's used to encrypt the contents of the Repository. Has the form: projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key. This value may not be changed after the Repository has been created.
- Labels Dictionary<string, string>
- Labels with user-defined metadata. This field may contain up to 64 entries. Label keys and values may be no longer than 63 characters. Label keys must begin with a lowercase letter and may only contain lowercase letters, numeric characters, underscores, and dashes.
- Location string
- MavenConfig Pulumi.Google Native. Artifact Registry. V1Beta2. Inputs. Maven Repository Config 
- Maven repository config contains repository level configuration for the repositories of maven type.
- Name string
- The name of the repository, for example: projects/p1/locations/us-central1/repositories/repo1.
- Project string
- RepositoryId string
- Required. The repository id to use for this repository.
- Description string
- The user-provided description of the repository.
- Format
RepositoryFormat 
- Optional. The format of packages that are stored in the repository.
- KmsKey stringName 
- The Cloud KMS resource name of the customer managed encryption key that's used to encrypt the contents of the Repository. Has the form: projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key. This value may not be changed after the Repository has been created.
- Labels map[string]string
- Labels with user-defined metadata. This field may contain up to 64 entries. Label keys and values may be no longer than 63 characters. Label keys must begin with a lowercase letter and may only contain lowercase letters, numeric characters, underscores, and dashes.
- Location string
- MavenConfig MavenRepository Config Args 
- Maven repository config contains repository level configuration for the repositories of maven type.
- Name string
- The name of the repository, for example: projects/p1/locations/us-central1/repositories/repo1.
- Project string
- repositoryId String
- Required. The repository id to use for this repository.
- description String
- The user-provided description of the repository.
- format
RepositoryFormat 
- Optional. The format of packages that are stored in the repository.
- kmsKey StringName 
- The Cloud KMS resource name of the customer managed encryption key that's used to encrypt the contents of the Repository. Has the form: projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key. This value may not be changed after the Repository has been created.
- labels Map<String,String>
- Labels with user-defined metadata. This field may contain up to 64 entries. Label keys and values may be no longer than 63 characters. Label keys must begin with a lowercase letter and may only contain lowercase letters, numeric characters, underscores, and dashes.
- location String
- mavenConfig MavenRepository Config 
- Maven repository config contains repository level configuration for the repositories of maven type.
- name String
- The name of the repository, for example: projects/p1/locations/us-central1/repositories/repo1.
- project String
- repositoryId string
- Required. The repository id to use for this repository.
- description string
- The user-provided description of the repository.
- format
RepositoryFormat 
- Optional. The format of packages that are stored in the repository.
- kmsKey stringName 
- The Cloud KMS resource name of the customer managed encryption key that's used to encrypt the contents of the Repository. Has the form: projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key. This value may not be changed after the Repository has been created.
- labels {[key: string]: string}
- Labels with user-defined metadata. This field may contain up to 64 entries. Label keys and values may be no longer than 63 characters. Label keys must begin with a lowercase letter and may only contain lowercase letters, numeric characters, underscores, and dashes.
- location string
- mavenConfig MavenRepository Config 
- Maven repository config contains repository level configuration for the repositories of maven type.
- name string
- The name of the repository, for example: projects/p1/locations/us-central1/repositories/repo1.
- project string
- repository_id str
- Required. The repository id to use for this repository.
- description str
- The user-provided description of the repository.
- format
RepositoryFormat 
- Optional. The format of packages that are stored in the repository.
- kms_key_ strname 
- The Cloud KMS resource name of the customer managed encryption key that's used to encrypt the contents of the Repository. Has the form: projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key. This value may not be changed after the Repository has been created.
- labels Mapping[str, str]
- Labels with user-defined metadata. This field may contain up to 64 entries. Label keys and values may be no longer than 63 characters. Label keys must begin with a lowercase letter and may only contain lowercase letters, numeric characters, underscores, and dashes.
- location str
- maven_config MavenRepository Config Args 
- Maven repository config contains repository level configuration for the repositories of maven type.
- name str
- The name of the repository, for example: projects/p1/locations/us-central1/repositories/repo1.
- project str
- repositoryId String
- Required. The repository id to use for this repository.
- description String
- The user-provided description of the repository.
- format "FORMAT_UNSPECIFIED" | "DOCKER" | "MAVEN" | "NPM" | "APT" | "YUM" | "GOOGET" | "PYTHON"
- Optional. The format of packages that are stored in the repository.
- kmsKey StringName 
- The Cloud KMS resource name of the customer managed encryption key that's used to encrypt the contents of the Repository. Has the form: projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key. This value may not be changed after the Repository has been created.
- labels Map<String>
- Labels with user-defined metadata. This field may contain up to 64 entries. Label keys and values may be no longer than 63 characters. Label keys must begin with a lowercase letter and may only contain lowercase letters, numeric characters, underscores, and dashes.
- location String
- mavenConfig Property Map
- Maven repository config contains repository level configuration for the repositories of maven type.
- name String
- The name of the repository, for example: projects/p1/locations/us-central1/repositories/repo1.
- project String
Outputs
All input properties are implicitly available as output properties. Additionally, the Repository resource produces the following output properties:
- CreateTime string
- The time when the repository was created.
- Id string
- The provider-assigned unique ID for this managed resource.
- SatisfiesPzs bool
- If set, the repository satisfies physical zone separation.
- SizeBytes string
- The size, in bytes, of all artifact storage in this repository. Repositories that are generally available or in public preview use this to calculate storage costs.
- UpdateTime string
- The time when the repository was last updated.
- CreateTime string
- The time when the repository was created.
- Id string
- The provider-assigned unique ID for this managed resource.
- SatisfiesPzs bool
- If set, the repository satisfies physical zone separation.
- SizeBytes string
- The size, in bytes, of all artifact storage in this repository. Repositories that are generally available or in public preview use this to calculate storage costs.
- UpdateTime string
- The time when the repository was last updated.
- createTime String
- The time when the repository was created.
- id String
- The provider-assigned unique ID for this managed resource.
- satisfiesPzs Boolean
- If set, the repository satisfies physical zone separation.
- sizeBytes String
- The size, in bytes, of all artifact storage in this repository. Repositories that are generally available or in public preview use this to calculate storage costs.
- updateTime String
- The time when the repository was last updated.
- createTime string
- The time when the repository was created.
- id string
- The provider-assigned unique ID for this managed resource.
- satisfiesPzs boolean
- If set, the repository satisfies physical zone separation.
- sizeBytes string
- The size, in bytes, of all artifact storage in this repository. Repositories that are generally available or in public preview use this to calculate storage costs.
- updateTime string
- The time when the repository was last updated.
- create_time str
- The time when the repository was created.
- id str
- The provider-assigned unique ID for this managed resource.
- satisfies_pzs bool
- If set, the repository satisfies physical zone separation.
- size_bytes str
- The size, in bytes, of all artifact storage in this repository. Repositories that are generally available or in public preview use this to calculate storage costs.
- update_time str
- The time when the repository was last updated.
- createTime String
- The time when the repository was created.
- id String
- The provider-assigned unique ID for this managed resource.
- satisfiesPzs Boolean
- If set, the repository satisfies physical zone separation.
- sizeBytes String
- The size, in bytes, of all artifact storage in this repository. Repositories that are generally available or in public preview use this to calculate storage costs.
- updateTime String
- The time when the repository was last updated.
Supporting Types
MavenRepositoryConfig, MavenRepositoryConfigArgs      
- AllowSnapshot boolOverwrites 
- The repository with this flag will allow publishing the same snapshot versions.
- VersionPolicy Pulumi.Google Native. Artifact Registry. V1Beta2. Maven Repository Config Version Policy 
- Version policy defines the versions that the registry will accept.
- AllowSnapshot boolOverwrites 
- The repository with this flag will allow publishing the same snapshot versions.
- VersionPolicy MavenRepository Config Version Policy 
- Version policy defines the versions that the registry will accept.
- allowSnapshot BooleanOverwrites 
- The repository with this flag will allow publishing the same snapshot versions.
- versionPolicy MavenRepository Config Version Policy 
- Version policy defines the versions that the registry will accept.
- allowSnapshot booleanOverwrites 
- The repository with this flag will allow publishing the same snapshot versions.
- versionPolicy MavenRepository Config Version Policy 
- Version policy defines the versions that the registry will accept.
- allow_snapshot_ booloverwrites 
- The repository with this flag will allow publishing the same snapshot versions.
- version_policy MavenRepository Config Version Policy 
- Version policy defines the versions that the registry will accept.
- allowSnapshot BooleanOverwrites 
- The repository with this flag will allow publishing the same snapshot versions.
- versionPolicy "VERSION_POLICY_UNSPECIFIED" | "RELEASE" | "SNAPSHOT"
- Version policy defines the versions that the registry will accept.
MavenRepositoryConfigResponse, MavenRepositoryConfigResponseArgs        
- AllowSnapshot boolOverwrites 
- The repository with this flag will allow publishing the same snapshot versions.
- VersionPolicy string
- Version policy defines the versions that the registry will accept.
- AllowSnapshot boolOverwrites 
- The repository with this flag will allow publishing the same snapshot versions.
- VersionPolicy string
- Version policy defines the versions that the registry will accept.
- allowSnapshot BooleanOverwrites 
- The repository with this flag will allow publishing the same snapshot versions.
- versionPolicy String
- Version policy defines the versions that the registry will accept.
- allowSnapshot booleanOverwrites 
- The repository with this flag will allow publishing the same snapshot versions.
- versionPolicy string
- Version policy defines the versions that the registry will accept.
- allow_snapshot_ booloverwrites 
- The repository with this flag will allow publishing the same snapshot versions.
- version_policy str
- Version policy defines the versions that the registry will accept.
- allowSnapshot BooleanOverwrites 
- The repository with this flag will allow publishing the same snapshot versions.
- versionPolicy String
- Version policy defines the versions that the registry will accept.
MavenRepositoryConfigVersionPolicy, MavenRepositoryConfigVersionPolicyArgs          
- VersionPolicy Unspecified 
- VERSION_POLICY_UNSPECIFIEDVERSION_POLICY_UNSPECIFIED - the version policy is not defined. When the version policy is not defined, no validation is performed for the versions.
- Release
- RELEASERELEASE - repository will accept only Release versions.
- Snapshot
- SNAPSHOTSNAPSHOT - repository will accept only Snapshot versions.
- MavenRepository Config Version Policy Version Policy Unspecified 
- VERSION_POLICY_UNSPECIFIEDVERSION_POLICY_UNSPECIFIED - the version policy is not defined. When the version policy is not defined, no validation is performed for the versions.
- MavenRepository Config Version Policy Release 
- RELEASERELEASE - repository will accept only Release versions.
- MavenRepository Config Version Policy Snapshot 
- SNAPSHOTSNAPSHOT - repository will accept only Snapshot versions.
- VersionPolicy Unspecified 
- VERSION_POLICY_UNSPECIFIEDVERSION_POLICY_UNSPECIFIED - the version policy is not defined. When the version policy is not defined, no validation is performed for the versions.
- Release
- RELEASERELEASE - repository will accept only Release versions.
- Snapshot
- SNAPSHOTSNAPSHOT - repository will accept only Snapshot versions.
- VersionPolicy Unspecified 
- VERSION_POLICY_UNSPECIFIEDVERSION_POLICY_UNSPECIFIED - the version policy is not defined. When the version policy is not defined, no validation is performed for the versions.
- Release
- RELEASERELEASE - repository will accept only Release versions.
- Snapshot
- SNAPSHOTSNAPSHOT - repository will accept only Snapshot versions.
- VERSION_POLICY_UNSPECIFIED
- VERSION_POLICY_UNSPECIFIEDVERSION_POLICY_UNSPECIFIED - the version policy is not defined. When the version policy is not defined, no validation is performed for the versions.
- RELEASE
- RELEASERELEASE - repository will accept only Release versions.
- SNAPSHOT
- SNAPSHOTSNAPSHOT - repository will accept only Snapshot versions.
- "VERSION_POLICY_UNSPECIFIED"
- VERSION_POLICY_UNSPECIFIEDVERSION_POLICY_UNSPECIFIED - the version policy is not defined. When the version policy is not defined, no validation is performed for the versions.
- "RELEASE"
- RELEASERELEASE - repository will accept only Release versions.
- "SNAPSHOT"
- SNAPSHOTSNAPSHOT - repository will accept only Snapshot versions.
RepositoryFormat, RepositoryFormatArgs    
- FormatUnspecified 
- FORMAT_UNSPECIFIEDUnspecified package format.
- Docker
- DOCKERDocker package format.
- Maven
- MAVENMaven package format.
- Npm
- NPMNPM package format.
- Apt
- APTAPT package format.
- Yum
- YUMYUM package format.
- Googet
- GOOGETGooGet package format.
- Python
- PYTHONPython package format.
- RepositoryFormat Format Unspecified 
- FORMAT_UNSPECIFIEDUnspecified package format.
- RepositoryFormat Docker 
- DOCKERDocker package format.
- RepositoryFormat Maven 
- MAVENMaven package format.
- RepositoryFormat Npm 
- NPMNPM package format.
- RepositoryFormat Apt 
- APTAPT package format.
- RepositoryFormat Yum 
- YUMYUM package format.
- RepositoryFormat Googet 
- GOOGETGooGet package format.
- RepositoryFormat Python 
- PYTHONPython package format.
- FormatUnspecified 
- FORMAT_UNSPECIFIEDUnspecified package format.
- Docker
- DOCKERDocker package format.
- Maven
- MAVENMaven package format.
- Npm
- NPMNPM package format.
- Apt
- APTAPT package format.
- Yum
- YUMYUM package format.
- Googet
- GOOGETGooGet package format.
- Python
- PYTHONPython package format.
- FormatUnspecified 
- FORMAT_UNSPECIFIEDUnspecified package format.
- Docker
- DOCKERDocker package format.
- Maven
- MAVENMaven package format.
- Npm
- NPMNPM package format.
- Apt
- APTAPT package format.
- Yum
- YUMYUM package format.
- Googet
- GOOGETGooGet package format.
- Python
- PYTHONPython package format.
- FORMAT_UNSPECIFIED
- FORMAT_UNSPECIFIEDUnspecified package format.
- DOCKER
- DOCKERDocker package format.
- MAVEN
- MAVENMaven package format.
- NPM
- NPMNPM package format.
- APT
- APTAPT package format.
- YUM
- YUMYUM package format.
- GOOGET
- GOOGETGooGet package format.
- PYTHON
- PYTHONPython package format.
- "FORMAT_UNSPECIFIED"
- FORMAT_UNSPECIFIEDUnspecified package format.
- "DOCKER"
- DOCKERDocker package format.
- "MAVEN"
- MAVENMaven package format.
- "NPM"
- NPMNPM package format.
- "APT"
- APTAPT package format.
- "YUM"
- YUMYUM package format.
- "GOOGET"
- GOOGETGooGet package format.
- "PYTHON"
- PYTHONPython package format.
Package Details
- Repository
- Google Cloud Native pulumi/pulumi-google-native
- License
- Apache-2.0
Google Cloud Native is in preview. Google Cloud Classic is fully supported.