Initial Commit
This commit is contained in:
Executable
+70
@@ -0,0 +1,70 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
import argparse
|
||||
import json
|
||||
import sys
|
||||
from rsc import RSCAuth, RSCGraphQL
|
||||
|
||||
|
||||
MUTATION = """
|
||||
mutation CreateCloudNativeRcvAwsStorageSettingMutation($input: CreateCloudNativeRcvAwsStorageSettingInput!) {
|
||||
createCloudNativeRcvAwsStorageSetting(input: $input) {
|
||||
targetMapping {
|
||||
id
|
||||
name
|
||||
__typename
|
||||
}
|
||||
__typename
|
||||
}
|
||||
}
|
||||
"""
|
||||
|
||||
|
||||
def create_rcv_archive_location(name, config_file):
|
||||
auth = RSCAuth(config_file=config_file)
|
||||
gql = RSCGraphQL(auth)
|
||||
|
||||
variables = {
|
||||
"input": {
|
||||
"name": name,
|
||||
"region": "UK_SOUTH",
|
||||
"cloudNativeLocTemplateType": "SPECIFIC_REGION",
|
||||
"tier": "BACKUP",
|
||||
"redundancy": "SINGLE_ZONE",
|
||||
}
|
||||
}
|
||||
|
||||
print("Creating RCV archive location with input:")
|
||||
print(json.dumps(variables["input"], indent=2))
|
||||
print("Submitting GraphQL mutation and waiting for response...")
|
||||
|
||||
response = gql.query(MUTATION, variables)
|
||||
result = response["data"]["createCloudNativeRcvAwsStorageSetting"]["targetMapping"]
|
||||
|
||||
print("Created RCV archive location successfully:")
|
||||
print(json.dumps(result, indent=2))
|
||||
|
||||
|
||||
def parse_args():
|
||||
parser = argparse.ArgumentParser(
|
||||
description="Create a Cloud Native RCV AWS archive location in Rubrik Security Cloud"
|
||||
)
|
||||
parser.add_argument("name", help="Archive location name")
|
||||
parser.add_argument(
|
||||
"--config-file",
|
||||
default="rsc.json",
|
||||
help="Path to config JSON file (default: rsc.json)",
|
||||
)
|
||||
return parser.parse_args()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
args = parse_args()
|
||||
try:
|
||||
create_rcv_archive_location(
|
||||
name=args.name,
|
||||
config_file=args.config_file,
|
||||
)
|
||||
except Exception as e:
|
||||
print(f"Error: {e}", file=sys.stderr)
|
||||
sys.exit(1)
|
||||
Reference in New Issue
Block a user