Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CHEF-7354-MAGIC-MODULE-artifactregistry-Projects__locations__repository - Resource Implementation #544

1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -373,6 +373,7 @@ The following resources are available in the InSpec GCP Profile
| [google_vertex_ai_tensorboard_experiment_run](docs/resources/google_vertex_ai_tensorboard_experiment_run.md) | [google_vertex_ai_tensorboard_experiment_runs](docs/resources/google_vertex_ai_tensorboard_experiment_runs.md) |
| [google_vertex_ai_tensorboard_experiment_run_time_series_resource](docs/resources/google_vertex_ai_tensorboard_experiment_run_time_series_resource.md) | [google_vertex_ai_tensorboard_experiment_run_time_series_resources](docs/resources/google_vertex_ai_tensorboard_experiment_run_time_series_resources.md) |
| [google_vertex_ai_training_pipeline](docs/resources/google_vertex_ai_training_pipeline.md) | [google_vertex_ai_training_pipelines](docs/resources/google_vertex_ai_training_pipelines.md) |
| [google_artifactregistry_project_location_repository](docs/resources/google_artifactregistry_project_location_repository.md) | [google_artifactregistry_project_location_repositories](docs/resources/google_artifactregistry_project_location_repositories.md) |
| [google_composer_project_location_environment](docs/resources/google_composer_project_location_environment.md) | [google_composer_project_location_environments](docs/resources/google_composer_project_location_environment.md) |

## Examples
Expand Down
sa-progress marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
Expand Up @@ -883,6 +883,7 @@ tensorboard_experiment_run_time_series_resource:

project_location_image_version:
parent : "value_parent"

vpn_gateway:
project : "value_project"
region : "value_region"
Expand Down Expand Up @@ -920,10 +921,11 @@ organization:
apigee_project_id : "value_apigeeprojectid"
expires_at : "value_expiresat"
billing_type : "value_billingtype"

project_location_environment:
name : "value_name"
parent : "value_parent"
uuid : "value_uuid"
state : "value_state"
create_time : "value_createtime"
update_time : "value_updatetime"
update_time : "value_updatetime"
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
---
title: About the google_artifactregistry_project_location_repositories resource
platform: gcp
---

## Syntax
A `google_artifactregistry_project_location_repositories` is used to test a Google ProjectLocationRepository resource

## Examples
```
describe google_artifactregistry_project_location_repositories(parent: ' value_parent') do
it { should exist }
end
```

## Properties
Properties that can be accessed from the `google_artifactregistry_project_location_repositories` resource:

See [google_artifactregistry_project_location_repository.md](google_artifactregistry_project_location_repository.md) for more detailed information
* `maven_configs`: an array of `google_artifactregistry_project_location_repository` maven_config
* `docker_configs`: an array of `google_artifactregistry_project_location_repository` docker_config
* `virtual_repository_configs`: an array of `google_artifactregistry_project_location_repository` virtual_repository_config
* `remote_repository_configs`: an array of `google_artifactregistry_project_location_repository` remote_repository_config
* `names`: an array of `google_artifactregistry_project_location_repository` name
* `formats`: an array of `google_artifactregistry_project_location_repository` format
* `descriptions`: an array of `google_artifactregistry_project_location_repository` description
* `labels`: an array of `google_artifactregistry_project_location_repository` labels
* `create_times`: an array of `google_artifactregistry_project_location_repository` create_time
* `update_times`: an array of `google_artifactregistry_project_location_repository` update_time
* `kms_key_names`: an array of `google_artifactregistry_project_location_repository` kms_key_name
* `modes`: an array of `google_artifactregistry_project_location_repository` mode
* `cleanup_policies`: an array of `google_artifactregistry_project_location_repository` cleanup_policies
* `size_bytes`: an array of `google_artifactregistry_project_location_repository` size_bytes
* `satisfies_pzs`: an array of `google_artifactregistry_project_location_repository` satisfies_pzs
* `cleanup_policy_dry_runs`: an array of `google_artifactregistry_project_location_repository` cleanup_policy_dry_run

## Filter Criteria
This resource supports all of the above properties as filter criteria, which can be used
with `where` as a block or a method.

## GCP Permissions

Ensure the [Artifact Registry API](https://console.cloud.google.com/apis/library/artifactregistry.googleapis.com/) is enabled for the current project.
Original file line number Diff line number Diff line change
@@ -0,0 +1,165 @@
---
title: About the google_artifactregistry_project_location_repository resource
platform: gcp
---

## Syntax
A `google_artifactregistry_project_location_repository` is used to test a Google ProjectLocationRepository resource

## Examples
```
describe google_artifactregistry_project_location_repository(name: ' value_name') do
it { should exist }

end

describe google_artifactregistry_project_location_repository(name: "does_not_exit") do
it { should_not exist }
end
```

## Properties
Properties that can be accessed from the `google_artifactregistry_project_location_repository` resource:


* `maven_config`: MavenRepositoryConfig is maven related repository details. Provides additional configuration details for repositories of the maven format type.

* `allow_snapshot_overwrites`: The repository with this flag will allow publishing the same snapshot versions.

* `version_policy`: Version policy defines the versions that the registry will accept.
Possible values:
* VERSION_POLICY_UNSPECIFIED
* RELEASE
* SNAPSHOT

* `docker_config`: DockerRepositoryConfig is docker related repository details. Provides additional configuration details for repositories of the docker format type.

* `immutable_tags`: The repository which enabled this flag prevents all tags from being modified, moved or deleted. This does not prevent tags from being created.

* `virtual_repository_config`: Virtual repository configuration.

* `upstream_policies`: Policies that configure the upstream artifacts distributed by the Virtual Repository. Upstream policies cannot be set on a standard repository.

* `id`: The user-provided ID of the upstream policy.

* `repository`: A reference to the repository resource, for example: `projects/p1/locations/us-central1/repositories/repo1`.

* `priority`: Entries with a greater priority value take precedence in the pull order.

* `remote_repository_config`: Remote repository configuration.

* `docker_repository`: Configuration for a Docker remote repository.

* `public_repository`: One of the publicly available Docker repositories supported by Artifact Registry.
Possible values:
* PUBLIC_REPOSITORY_UNSPECIFIED
* DOCKER_HUB

* `maven_repository`: Configuration for a Maven remote repository.

* `public_repository`: One of the publicly available Maven repositories supported by Artifact Registry.
Possible values:
* PUBLIC_REPOSITORY_UNSPECIFIED
* MAVEN_CENTRAL

* `npm_repository`: Configuration for a Npm remote repository.

* `public_repository`: One of the publicly available Npm repositories supported by Artifact Registry.
Possible values:
* PUBLIC_REPOSITORY_UNSPECIFIED
* NPMJS

* `python_repository`: Configuration for a Python remote repository.

* `public_repository`: One of the publicly available Python repositories supported by Artifact Registry.
Possible values:
* PUBLIC_REPOSITORY_UNSPECIFIED
* PYPI

* `apt_repository`: Configuration for an Apt remote repository.

* `public_repository`: Publicly available Apt repositories constructed from a common repository base and a custom repository path.

* `repository_base`: A common public repository base for Apt.
Possible values:
* REPOSITORY_BASE_UNSPECIFIED
* DEBIAN
* UBUNTU
* DEBIAN_SNAPSHOT

* `repository_path`: A custom field to define a path to a specific repository from the base.

* `yum_repository`: Configuration for a Yum remote repository.

* `public_repository`: Publicly available Yum repositories constructed from a common repository base and a custom repository path.

* `repository_base`: A common public repository base for Yum.
Possible values:
* REPOSITORY_BASE_UNSPECIFIED
* CENTOS
* CENTOS_DEBUG
* CENTOS_VAULT
* CENTOS_STREAM
* ROCKY
* EPEL

* `repository_path`: A custom field to define a path to a specific repository from the base.

* `description`: The description of the remote source.

* `upstream_credentials`: The credentials to access the remote repository.

* `username_password_credentials`: Username and password credentials.

* `username`: The username to access the remote repository.

* `password_secret_version`: The Secret Manager key version that holds the password to access the remote repository. Must be in the format of `projects/{project}/secrets/{secret}/versions/{version}`.

* `name`: The name of the repository, for example: `projects/p1/locations/us-central1/repositories/repo1`.

* `format`: Optional. The format of packages that are stored in the repository.
Possible values:
* FORMAT_UNSPECIFIED
* DOCKER
* MAVEN
* NPM
* APT
* YUM
* GOOGET
* PYTHON
* KFP
* GO

* `description`: The user-provided description of the repository.

* `labels`: 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.

* `additional_properties`:

* `create_time`: Output only. The time when the repository was created.

* `update_time`: Output only. The time when the repository was last updated.

* `kms_key_name`: 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.

* `mode`: Optional. The mode of the repository.
Possible values:
* MODE_UNSPECIFIED
* STANDARD_REPOSITORY
* VIRTUAL_REPOSITORY
* REMOTE_REPOSITORY

* `cleanup_policies`: Optional. Cleanup policies for this repository. Cleanup policies indicate when certain package versions can be automatically deleted. Map keys are policy IDs supplied by users during policy creation. They must unique within a repository and be under 128 characters in length.

* `additional_properties`: Artifact policy configuration for repository cleanup policies.

* `size_bytes`: Output only. 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.

* `satisfies_pzs`: Output only. If set, the repository satisfies physical zone separation.

* `cleanup_policy_dry_run`: Optional. If true, the cleanup pipeline is prevented from deleting versions in this repository.


## GCP Permissions

Ensure the [Artifact Registry API](https://console.cloud.google.com/apis/library/artifactregistry.googleapis.com/) is enabled for the current project.
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# frozen_string_literal: false

# ----------------------------------------------------------------------------
#
# *** AUTO GENERATED CODE *** Type: MMv1 ***
#
# ----------------------------------------------------------------------------
#
# This file is automatically generated by Magic Modules and manual
# changes will be clobbered when the file is regenerated.
#
# Please read more about how to change this file in README.md and
# CONTRIBUTING.md located at the root of this package.
#
# ----------------------------------------------------------------------------
module GoogleInSpec
module Artifactregistry
module Property
class ProjectLocationRepositoryCleanupPolicies
attr_reader :additional_properties

def initialize(args = nil, parent_identifier = nil)
return if args.nil?
@parent_identifier = parent_identifier
@additional_properties = args['additionalProperties']
end

def to_s
"#{@parent_identifier} ProjectLocationRepositoryCleanupPolicies"
end
end
end
end
end
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# frozen_string_literal: false

# ----------------------------------------------------------------------------
#
# *** AUTO GENERATED CODE *** Type: MMv1 ***
#
# ----------------------------------------------------------------------------
#
# This file is automatically generated by Magic Modules and manual
# changes will be clobbered when the file is regenerated.
#
# Please read more about how to change this file in README.md and
# CONTRIBUTING.md located at the root of this package.
#
# ----------------------------------------------------------------------------
module GoogleInSpec
module Artifactregistry
module Property
class ProjectLocationRepositoryDockerConfig
attr_reader :immutable_tags

def initialize(args = nil, parent_identifier = nil)
return if args.nil?
@parent_identifier = parent_identifier
@immutable_tags = args['immutableTags']
end

def to_s
"#{@parent_identifier} ProjectLocationRepositoryDockerConfig"
end
end
end
end
end
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# frozen_string_literal: false

# ----------------------------------------------------------------------------
#
# *** AUTO GENERATED CODE *** Type: MMv1 ***
#
# ----------------------------------------------------------------------------
#
# This file is automatically generated by Magic Modules and manual
# changes will be clobbered when the file is regenerated.
#
# Please read more about how to change this file in README.md and
# CONTRIBUTING.md located at the root of this package.
#
# ----------------------------------------------------------------------------
module GoogleInSpec
module Artifactregistry
module Property
class ProjectLocationRepositoryLabels
attr_reader :additional_properties

def initialize(args = nil, parent_identifier = nil)
return if args.nil?
@parent_identifier = parent_identifier
@additional_properties = args['additionalProperties']
end

def to_s
"#{@parent_identifier} ProjectLocationRepositoryLabels"
end
end
end
end
end
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# frozen_string_literal: false

# ----------------------------------------------------------------------------
#
# *** AUTO GENERATED CODE *** Type: MMv1 ***
#
# ----------------------------------------------------------------------------
#
# This file is automatically generated by Magic Modules and manual
# changes will be clobbered when the file is regenerated.
#
# Please read more about how to change this file in README.md and
# CONTRIBUTING.md located at the root of this package.
#
# ----------------------------------------------------------------------------
module GoogleInSpec
module Artifactregistry
module Property
class ProjectLocationRepositoryMavenConfig
attr_reader :allow_snapshot_overwrites

attr_reader :version_policy

def initialize(args = nil, parent_identifier = nil)
return if args.nil?
@parent_identifier = parent_identifier
@allow_snapshot_overwrites = args['allowSnapshotOverwrites']
@version_policy = args['versionPolicy']
end

def to_s
"#{@parent_identifier} ProjectLocationRepositoryMavenConfig"
end
end
end
end
end
Loading