Skip to content

Commit 3edb51e

Browse files
authored
Merge branch 'beta' (#192)
* Add support for specifying Azure resource groups for RSC features (#150) * Update rubrik-polaris-sdk-for-go to v0.10.0-beta.2 (#152) * Show diffs in the beta guide as HCL code (#155) * Improve documentation for resource groups (#154) * Bump the GH Actions Go compiler version to v1.22 (#156) * Add account name and FQDN to the polaris_deployment data source (#157) * Add support for Azure shared exocompute (#160) * Update rubrik-polaris-sdk-for-go to v0.10.0-beta.5 (#165) * Add changelog (#167) * Add support for Azure archival locations (#168) * Move changelog and upgrade guides to guides folder (#170) * Fix Azure permission upgrade issue (#171) * Update changelog (#172) * Add Azure archival location data source (#173) * Improve Azure documentation (#175) * Improve documentation (#176) * Update guides (#180) * Update documentation (#184) * Add support for cluster setup YAML (#186) * Add data sources to look up cloud accounts (#188) * Fix Azure acceptance test (#189) * Add support for updating AWS archival location bucket tags (#187) * Update changelog (#191)
1 parent e1473cd commit 3edb51e

File tree

118 files changed

+6451
-1647
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

118 files changed

+6451
-1647
lines changed

.github/workflows/release.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ jobs:
2525
- name: Set up Go
2626
uses: actions/[email protected]
2727
with:
28-
go-version: 1.21
28+
go-version: 1.22
2929
- name: Import GPG key
3030
id: import_gpg
3131
uses: crazy-max/[email protected]

README.md

+2
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ provider "polaris" {
8282
##### Environment Variables for Local User Accounts
8383
When using a local user account the following environmental variables can be used to override the default local user
8484
account behaviour:
85+
* *RUBRIK_POLARIS_ACCOUNT_CREDENTIALS* — Overrides the content of the local user account file.
8586
* *RUBRIK_POLARIS_ACCOUNT_FILE* — Overrides the name and path of the file to read local user accounts from.
8687
* *RUBRIK_POLARIS_ACCOUNT_NAME* — Overrides the name of the local user account given to the credentials
8788
parameter in the provider configuration.
@@ -109,6 +110,7 @@ provider "polaris" {
109110
##### Environment Variables for Service Accounts
110111
When using a service account the following environmental variables can be used to override the default service account
111112
behaviour:
113+
* *RUBRIK_POLARIS_SERVICEACCOUNT_CREDENTIALS* — Overrides the content of the service account credentials file.
112114
* *RUBRIK_POLARIS_SERVICEACCOUNT_FILE* — Overrides the name and path of the service account credentials file.
113115
* *RUBRIK_POLARIS_SERVICEACCOUNT_NAME* — Overrides the name of the service account.
114116
* *RUBRIK_POLARIS_SERVICEACCOUNT_CLIENTID* — Overrides the client id of the service account.

docs/data-sources/account.md

+48
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
---
2+
# generated by https://github.com/hashicorp/terraform-plugin-docs
3+
page_title: "polaris_account Data Source - terraform-provider-polaris"
4+
subcategory: ""
5+
description: |-
6+
The polaris_account data source is used to access information about the RSC account.
7+
-> Note: The fqdn and name fields are read from the local RSC credentials and
8+
not from RSC.
9+
---
10+
11+
# polaris_account (Data Source)
12+
13+
The `polaris_account` data source is used to access information about the RSC account.
14+
15+
-> **Note:** The `fqdn` and `name` fields are read from the local RSC credentials and
16+
not from RSC.
17+
18+
## Example Usage
19+
20+
```terraform
21+
# Output the features enabled for the RSC account.
22+
data "polaris_account" "account" {}
23+
24+
output "features" {
25+
value = data.polaris_account.account.features
26+
}
27+
28+
# Using the fqdn field from the deployment data source to create an Azure
29+
# AD application.
30+
data "polaris_deployment" "deployment" {}
31+
32+
resource "azuread_application" "app" {
33+
display_name = "Rubrik Security Cloud Integration"
34+
web {
35+
homepage_url = "https://${data.polaris_account.account.fqdn}/setup_azure"
36+
}
37+
}
38+
```
39+
40+
<!-- schema generated by tfplugindocs -->
41+
## Schema
42+
43+
### Read-Only
44+
45+
- `features` (Set of String) Features enabled for the RSC account.
46+
- `fqdn` (String) Fully qualified domain name of the RSC account.
47+
- `id` (String) SHA-256 hash of the features, the fully qualified domain name and the name.
48+
- `name` (String) RSC account name.

docs/data-sources/aws_account.md

+40
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
---
2+
# generated by https://github.com/hashicorp/terraform-plugin-docs
3+
page_title: "polaris_aws_account Data Source - terraform-provider-polaris"
4+
subcategory: ""
5+
description: |-
6+
The polaris_aws_account data source is used to access information about an AWS account
7+
added to RSC. An AWS account is looked up using either the AWS account ID or the name.
8+
-> Note: The account name is the name of the AWS account as it appears in RSC.
9+
---
10+
11+
# polaris_aws_account (Data Source)
12+
13+
The `polaris_aws_account` data source is used to access information about an AWS account
14+
added to RSC. An AWS account is looked up using either the AWS account ID or the name.
15+
16+
-> **Note:** The account name is the name of the AWS account as it appears in RSC.
17+
18+
## Example Usage
19+
20+
```terraform
21+
data "polaris_aws_account" "example" {
22+
name = "example"
23+
}
24+
25+
output "example_aws_account" {
26+
value = data.polaris_aws_account.example
27+
}
28+
```
29+
30+
<!-- schema generated by tfplugindocs -->
31+
## Schema
32+
33+
### Optional
34+
35+
- `account_id` (String) AWS account ID.
36+
- `name` (String) AWS account name.
37+
38+
### Read-Only
39+
40+
- `id` (String) RSC cloud account ID (UUID).

docs/data-sources/aws_archival_location.md

+11-9
Original file line numberDiff line numberDiff line change
@@ -3,19 +3,21 @@
33
page_title: "polaris_aws_archival_location Data Source - terraform-provider-polaris"
44
subcategory: ""
55
description: |-
6-
6+
The polaris_aws_archival_location data source is used to access information about an
7+
AWS archival location. An archival location is looked up using either the ID or the name.
78
---
89

910
# polaris_aws_archival_location (Data Source)
1011

11-
12+
The `polaris_aws_archival_location` data source is used to access information about an
13+
AWS archival location. An archival location is looked up using either the ID or the name.
1214

1315
## Example Usage
1416

1517
```terraform
1618
# Using the archival location ID.
1719
data "polaris_aws_archival_location" "location" {
18-
archival_location_id = "db34f042-79ea-48b1-bab8-c40dfbf2ab82"
20+
id = "db34f042-79ea-48b1-bab8-c40dfbf2ab82"
1921
}
2022
2123
# Using the name.
@@ -29,16 +31,16 @@ data "polaris_aws_archival_location" "location" {
2931

3032
### Optional
3133

32-
- `archival_location_id` (String) ID of the archival location.
33-
- `name` (String) Name of the archival location.
34+
- `archival_location_id` (String, Deprecated) Cloud native archival location ID (UUID). **Deprecated:** use `id` instead.
35+
- `id` (String) Cloud native archival location ID (UUID).
36+
- `name` (String) Name of the cloud native archival location.
3437

3538
### Read-Only
3639

37-
- `bucket_prefix` (String) AWS bucket prefix.
40+
- `bucket_prefix` (String) AWS bucket prefix. Note, `rubrik-` will always be prepended to the prefix.
3841
- `bucket_tags` (Map of String) AWS bucket tags.
3942
- `connection_status` (String) Connection status of the archival location.
40-
- `id` (String) The ID of this resource.
4143
- `kms_master_key` (String, Sensitive) AWS KMS master key alias/ID.
42-
- `location_template` (String) Location template. If a region was specified, it will be `SPECIFIC_REGION`, otherwise `SOURCE_REGION`.
44+
- `location_template` (String) RSC location template. If a region was specified, it will be `SPECIFIC_REGION`, otherwise `SOURCE_REGION`.
4345
- `region` (String) AWS region to store the snapshots in. If not specified, the snapshots will be stored in the same region as the workload.
44-
- `storage_class` (String) AWS bucket storage class.
46+
- `storage_class` (String) AWS bucket storage class. Possible values are `STANDARD`, `STANDARD_IA`, `ONEZONE_IA`, `GLACIER_INSTANT_RETRIEVAL`, `GLACIER_DEEP_ARCHIVE` and `GLACIER_FLEXIBLE_RETRIEVAL`. Default value is `STANDARD_IA`.

docs/data-sources/aws_cnp_artifacts.md

+98-6
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,110 @@
33
page_title: "polaris_aws_cnp_artifacts Data Source - terraform-provider-polaris"
44
subcategory: ""
55
description: |-
6-
6+
The polaris_aws_archival_location data source is used to access information about
7+
instance profiles and roles required by RSC for a specified feature set.
8+
Permission Groups
9+
Following is a list of features and their applicable permission groups. These are used
10+
when specifying the feature set.
11+
CLOUDNATIVEARCHIVAL
12+
BASIC - Represents the basic set of permissions required to onboard the feature.
13+
CLOUDNATIVEPROTECTION
14+
BASIC - Represents the basic set of permissions required to onboard the feature.EXPORT_AND_RESTORE - Represents the set of permissions required for export and
15+
restore operations.FILE_LEVEL_RECOVERY - Represents the set of permissions required for file-level
16+
recovery operations.SNAPSHOT_PRIVATE_ACCESS - Represents the set of permissions required for private
17+
access to disk snapshots.
18+
CLOUDNATIVES3_PROTECTION
19+
BASIC - Represents the basic set of permissions required to onboard the feature.
20+
EXOCOMPUTE
21+
BASIC - Represents the basic set of permissions required to onboard the feature.PRIVATE_ENDPOINTS - Represents the set of permissions required for usage of private
22+
endpoints.RSC_MANAGED_CLUSTER - Represents the set of permissions required for the Rubrik-
23+
managed Exocompute cluster.
24+
RDS_PROTECTION
25+
BASIC - Represents the basic set of permissions required to onboard the feature.
26+
-> Note: When permission groups are specified, the BASIC permission group must
27+
always be included.
728
---
829

930
# polaris_aws_cnp_artifacts (Data Source)
1031

32+
The `polaris_aws_archival_location` data source is used to access information about
33+
instance profiles and roles required by RSC for a specified feature set.
1134

35+
## Permission Groups
36+
Following is a list of features and their applicable permission groups. These are used
37+
when specifying the feature set.
38+
39+
### CLOUD_NATIVE_ARCHIVAL
40+
* `BASIC` - Represents the basic set of permissions required to onboard the feature.
41+
42+
### CLOUD_NATIVE_PROTECTION
43+
* `BASIC` - Represents the basic set of permissions required to onboard the feature.
44+
* `EXPORT_AND_RESTORE` - Represents the set of permissions required for export and
45+
restore operations.
46+
* `FILE_LEVEL_RECOVERY` - Represents the set of permissions required for file-level
47+
recovery operations.
48+
* `SNAPSHOT_PRIVATE_ACCESS` - Represents the set of permissions required for private
49+
access to disk snapshots.
50+
51+
### CLOUD_NATIVE_S3_PROTECTION
52+
* `BASIC` - Represents the basic set of permissions required to onboard the feature.
53+
54+
### EXOCOMPUTE
55+
* `BASIC` - Represents the basic set of permissions required to onboard the feature.
56+
* `PRIVATE_ENDPOINTS` - Represents the set of permissions required for usage of private
57+
endpoints.
58+
* `RSC_MANAGED_CLUSTER` - Represents the set of permissions required for the Rubrik-
59+
managed Exocompute cluster.
60+
61+
### RDS_PROTECTION
62+
* `BASIC` - Represents the basic set of permissions required to onboard the feature.
63+
64+
-> **Note:** When permission groups are specified, the `BASIC` permission group must
65+
always be included.
1266

1367
## Example Usage
1468

1569
```terraform
70+
# Permission groups defaults to BASIC.
71+
data "polaris_aws_cnp_artifacts" "artifacts" {
72+
feature {
73+
name = "CLOUD_NATIVE_PROTECTION"
74+
}
75+
}
76+
77+
# Multiple permission groups. When permission groups are specified,
78+
# the BASIC permission group must always be included.
79+
data "polaris_aws_cnp_artifacts" "artifacts" {
80+
feature {
81+
name = "CLOUD_NATIVE_PROTECTION"
82+
83+
permission_groups = [
84+
"BASIC",
85+
"EXPORT_AND_RESTORE",
86+
"FILE_LEVEL_RECOVERY",
87+
]
88+
}
89+
}
90+
91+
# Multiple features with permission groups.
1692
data "polaris_aws_cnp_artifacts" "artifacts" {
17-
features = ["CLOUD_NATIVE_PROTECTION"]
93+
feature {
94+
name = "CLOUD_NATIVE_ARCHIVAL"
95+
96+
permission_groups = [
97+
"BASIC",
98+
]
99+
}
100+
101+
feature {
102+
name = "CLOUD_NATIVE_PROTECTION"
103+
104+
permission_groups = [
105+
"BASIC",
106+
"EXPORT_AND_RESTORE",
107+
"FILE_LEVEL_RECOVERY",
108+
]
109+
}
18110
}
19111
```
20112

@@ -27,11 +119,11 @@ data "polaris_aws_cnp_artifacts" "artifacts" {
27119

28120
### Optional
29121

30-
- `cloud` (String) AWS cloud type.
122+
- `cloud` (String) AWS cloud type. Possible values are `STANDARD`, `CHINA` and `GOV`. Default value is `STANDARD`.
31123

32124
### Read-Only
33125

34-
- `id` (String) The ID of this resource.
126+
- `id` (String) SHA-256 hash of the instance profile keys and the roleskeys.
35127
- `instance_profile_keys` (Set of String) Instance profile keys for the RSC features.
36128
- `role_keys` (Set of String) Role keys for the RSC features.
37129

@@ -40,5 +132,5 @@ data "polaris_aws_cnp_artifacts" "artifacts" {
40132

41133
Required:
42134

43-
- `name` (String) Feature name.
44-
- `permission_groups` (Set of String) Permission groups to assign to the feature.
135+
- `name` (String) RSC feature name. Possible values are `CLOUD_NATIVE_ARCHIVAL`, `CLOUD_NATIVE_PROTECTION`, `CLOUD_NATIVE_S3_PROTECTION`, `EXOCOMPUTE` and `RDS_PROTECTION`.
136+
- `permission_groups` (Set of String) RSC permission groups for the feature. Possible values are `BASIC`, `EXPORT_AND_RESTORE`, `FILE_LEVEL_RECOVERY`, `SNAPSHOT_PRIVATE_ACCESS`, `PRIVATE_ENDPOINT` and `RSC_MANAGED_CLUSTER`. For backwards compatibility, `[]` is interpreted as all applicable permission groups.

0 commit comments

Comments
 (0)