models

package
v0.19.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 15, 2024 License: Apache-2.0 Imports: 0 Imported by: 20

Documentation

Overview

Package models has the structs representing definitions

Package models has the structs representing requests

Package models has the structs representing responses

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AWSConnection

type AWSConnection struct {
	// URLs to pages related to the resource.
	Links *AWSConnectionLinks `json:"_links"`
	// The alias given to the account on AWS.
	AccountName *string `json:"account_name"`
	// The AWS-assigned ID of the account associated with the connection.
	AccountNativeId *string `json:"account_native_id"`
	// The AWS region associated with the connection. For example, `us-east-1`.
	AwsRegion *string `json:"aws_region"`
	// AWS account ID of the Clumio control plane.
	ClumioAwsAccountId *string `json:"clumio_aws_account_id"`
	// AWS region of the Clumio control plane
	ClumioAwsRegion *string `json:"clumio_aws_region"`
	// The consolidated configuration of the Clumio Cloud Protect and Clumio Cloud Discover products for this connection.
	// If this connection is deprecated to use unconsolidated configuration, then this field has a
	// value of `null`.
	Config *ConsolidatedConfig `json:"config"`
	// The status of the connection. Possible values include "connecting",
	// "connected", and "unlinked".
	ConnectionStatus *string `json:"connection_status"`
	// The timestamp of when the connection was created.
	CreatedTimestamp *string `json:"created_timestamp"`
	// AWS account ID of the data plane for the connection.
	DataPlaneAccountId *string `json:"data_plane_account_id"`
	// The user-provided description for this connection.
	Description *string `json:"description"`
	// The configuration of the Clumio Discover product for this connection.
	// If this connection is not configured for Clumio Discover, then this field has a
	// value of `null`.
	Discover *DiscoverConfig `json:"discover"`
	// Clumio assigned external ID of the connection or of the associated connection group.
	ExternalId *string `json:"external_id"`
	// The Clumio-assigned ID of the connection.
	Id *string `json:"id"`
	// Status denoting whether Ingestion has started for the connection.
	// Valid values are "initial", "in_progress", "failed", "completed".
	IngestionStatus *string `json:"ingestion_status"`
	// K8S Namespace
	Namespace *string `json:"namespace"`
	// The Clumio-assigned ID of the organizational unit associated with the
	// AWS environment. If this parameter is not provided, then the value
	// defaults to the first organizational unit assigned to the requesting
	// user. For more information about organizational units, refer to the
	// Organizational-Units documentation.
	OrganizationalUnitId *string `json:"organizational_unit_id"`
	// The configuration of the Clumio Cloud Protect product for this connection.
	// If this connection is not configured for Clumio Cloud Protect, then this field has a
	// value of `null`.
	Protect *ProtectConfig `json:"protect"`
	// The asset types enabled for protect.
	// Valid values are any of ["EBS", "RDS", "DynamoDB", "EC2MSSQL", "S3"].
	ProtectAssetTypesEnabled []*string `json:"protect_asset_types_enabled"`
	// The services to be enabled for this configuration. Valid values are
	// ["discover"], ["discover", "protect"]. This is only set when the
	// registration is created, the enabled services are obtained directly from
	// the installed template after that. (Deprecated as all connections will have
	// both discover and protect enabled)
	ServicesEnabled []*string `json:"services_enabled"`
	// The Amazon Resource Name of the installed CloudFormation stack in this AWS account
	StackArn *string `json:"stack_arn"`
	// The name given to the installed CloudFormation stack on AWS.
	StackName *string `json:"stack_name"`
	// Status denoting whether Target Setup has started for the connection.
	// Valid values are "initial", "in_progress", "failed", "completed".
	TargetSetupStatus *string `json:"target_setup_status"`
	// The 36-character Clumio AWS integration ID token used to identify the
	// installation of the CloudFormation template on the account. This value
	// will be pasted into the ClumioToken field when creating the
	// CloudFormation stack.
	Token *string `json:"token"`
}

AWSConnection represents a custom type struct

type AWSConnectionLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// A resource-specific HATEOAS link.
	DeleteConnectionAws *HateoasLink `json:"delete-connection-aws"`
	// A resource-specific HATEOAS link.
	ReadOrganizationalUnit *HateoasLink `json:"read-organizational-unit"`
}

AWSConnectionLinks represents a custom type struct. URLs to pages related to the resource.

type AWSConnectionListEmbedded

type AWSConnectionListEmbedded struct {
	// TODO: Add struct field description
	Items []*AWSConnection `json:"items"`
}

AWSConnectionListEmbedded represents a custom type struct. Embedded responses related to the resource.

type AWSConnectionListLinks struct {
	// The HATEOAS link to the first page of results.
	First *HateoasFirstLink `json:"_first"`
	// The HATEOAS link to the next page of results.
	Next *HateoasNextLink `json:"_next"`
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// A resource-specific HATEOAS link.
	CreateAwsConnection *HateoasLink `json:"create-aws-connection"`
}

AWSConnectionListLinks represents a custom type struct. URLs to pages related to the resource.

type AWSEnvironment

type AWSEnvironment struct {
	// Embedded responses related to the resource.
	Embedded *AWSEnvironmentEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *AWSEnvironmentLinks `json:"_links"`
	// The name given to the account.
	AccountName *string `json:"account_name"`
	// The AWS-assigned ID of the account associated with the environment.
	AccountNativeId *string `json:"account_native_id"`
	// The valid AWS availability zones for the environment. For example, `us_west-2a`.
	AwsAz []*string `json:"aws_az"`
	// The AWS region associated with the environment. For example, `us-west-2`.
	AwsRegion *string `json:"aws_region"`
	// The consolidated configuration of the Clumio Cloud Protect and Clumio Cloud Discover products for this connection.
	// If this connection is deprecated to use unconsolidated configuration, then this field has a
	// value of `null`.
	Config *ConsolidatedConfig `json:"config"`
	// The Clumio-assigned ID of the connection associated with the environment.
	ConnectionId *string `json:"connection_id"`
	// The status of the connection to the environment, which is mediated by a CloudFormation stack.
	ConnectionStatus *string `json:"connection_status"`
	// The user-provided account description.
	Description *string `json:"description"`
	// The Clumio-assigned ID of the environment.
	Id *string `json:"id"`
	// The Clumio-assigned ID of the organizational unit associated with the environment.
	OrganizationalUnitId *string `json:"organizational_unit_id"`
	// The AWS services enabled for this environment. Possible values include "ebs", "rds" and "dynamodb".
	ServicesEnabled []*string `json:"services_enabled"`
	// The Clumio CloudFormation template version used to deploy the CloudFormation stack.
	TemplateVersion *int64 `json:"template_version"`
}

AWSEnvironment represents a custom type struct

type AWSEnvironmentEmbedded

type AWSEnvironmentEmbedded struct {
	// TODO: Add struct field description
	ReadAwsEnvironmentEbsVolumesComplianceStats interface{} `json:"read-aws-environment-ebs-volumes-compliance-stats"`
}

AWSEnvironmentEmbedded represents a custom type struct. Embedded responses related to the resource.

type AWSEnvironmentLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// A resource-specific HATEOAS link.
	ReadOrganizationalUnit *HateoasLink `json:"read-organizational-unit"`
}

AWSEnvironmentLinks represents a custom type struct. URLs to pages related to the resource.

type AWSEnvironmentListEmbedded

type AWSEnvironmentListEmbedded struct {
	// TODO: Add struct field description
	Items []*AWSEnvironment `json:"items"`
}

AWSEnvironmentListEmbedded represents a custom type struct. Embedded responses related to the resource.

type AWSEnvironmentListLinks struct {
	// The HATEOAS link to the first page of results.
	First *HateoasFirstLink `json:"_first"`
	// The HATEOAS link to the next page of results.
	Next *HateoasNextLink `json:"_next"`
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

AWSEnvironmentListLinks represents a custom type struct. URLs to pages related to the resource.

type AddBucketProtectionGroupV1Request added in v0.1.2

type AddBucketProtectionGroupV1Request struct {
	// TODO: Add struct field description
	BucketId *string `json:"bucket_id"`
}

AddBucketProtectionGroupV1Request represents a custom type struct

type AddBucketToProtectionGroupResponse added in v0.1.2

type AddBucketToProtectionGroupResponse struct {
	// The AWS-assigned ID of the account associated with the DynamoDB table.
	AccountNativeId *string `json:"account_native_id"`
	// Whether this bucket was added to this protection group by the bucket rule
	AddedByBucketRule *bool `json:"added_by_bucket_rule"`
	// Whether this bucket was added to this protection group by the user
	AddedByUser *bool `json:"added_by_user"`
	// The AWS region associated with the DynamoDB table.
	AwsRegion *string `json:"aws_region"`
	// The backup target AWS region associated with the protection group S3 asset.
	BackupTargetAwsRegion *string `json:"backup_target_aws_region"`
	// The Clumio-assigned ID of the bucket
	BucketId *string `json:"bucket_id"`
	// The name of the bucket
	BucketName *string `json:"bucket_name"`
	// Creation time of the protection group in RFC-3339 format.
	CreatedTimestamp *string `json:"created_timestamp"`
	// The Clumio-assigned ID of the AWS environment associated with the protection group.
	EnvironmentId *string `json:"environment_id"`
	// The Clumio-assigned ID of the protection group
	GroupId *string `json:"group_id"`
	// The name of the protection group
	GroupName *string `json:"group_name"`
	// The Clumio-assigned ID that represents the bucket within the protection group.
	Id *string `json:"id"`
	// Determines whether the protection group bucket has been deleted
	IsDeleted *bool `json:"is_deleted"`
	// Time of the last backup in RFC-3339 format.
	LastBackupTimestamp *string `json:"last_backup_timestamp"`
	// Time of the last successful continuous backup in RFC-3339 format.
	LastContinuousBackupTimestamp *string `json:"last_continuous_backup_timestamp"`
	// The Clumio-assigned ID of the organizational unit associated with the protection group.
	OrganizationalUnitId *string `json:"organizational_unit_id"`
	// Cumulative count of all unexpired objects in each backup (any new or updated since
	// the last backup) that have been backed up as part of this protection group
	TotalBackedUpObjectCount *int64 `json:"total_backed_up_object_count"`
	// Cumulative size of all unexpired objects in each backup (any new or updated since
	// the last backup) that have been backed up as part of this protection group
	TotalBackedUpSizeBytes *int64 `json:"total_backed_up_size_bytes"`
	// The unsupported reason for the S3 bucket.
	UnsupportedReason *string `json:"unsupported_reason"`
}

AddBucketToProtectionGroupResponse represents a custom type struct for Success

type AddProtectionGroupInstantAccessEndpointRoleV1Request added in v0.12.0

type AddProtectionGroupInstantAccessEndpointRoleV1Request struct {
	// Allow the addition of a role from an external account. This requires a feature flag to be enabled, contact support@clumio.com.
	IsAllowExternalAccount *bool `json:"is_allow_external_account"`
	// Descriptive alias of the IAM role.
	RoleAlias *string `json:"role_alias"`
	// ARN of the IAM role to allow access the endpoint. The role must be accessible from AWS account
	// registered with Clumio.
	RoleArn *string `json:"role_arn"`
}

AddProtectionGroupInstantAccessEndpointRoleV1Request represents a custom type struct

type AddS3InstantAccessEndpointRoleResponse added in v0.12.0

type AddS3InstantAccessEndpointRoleResponse struct {
	// Embedded responses related to the resource.
	Embedded *S3InstantAccessEndpointEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *S3InstantAccessEndpointLinks `json:"_links"`
	// The issued ID to the added role
	RoleId *string `json:"role_id"`
}

AddS3InstantAccessEndpointRoleResponse represents a custom type struct for Success

type AlertEmbedded

type AlertEmbedded struct {
	// Embeds the associated consolidated alert in the response.
	ReadConsolidatedAlert interface{} `json:"read-consolidated-alert"`
}

AlertEmbedded represents a custom type struct. Embedded responses related to the resource.

type AlertLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// A resource-specific HATEOAS link.
	ReadConsolidatedAlert *HateoasLink `json:"read-consolidated-alert"`
	// A resource-specific HATEOAS link.
	UpdateIndividualAlert *HateoasLink `json:"update-individual-alert"`
}

AlertLinks represents a custom type struct. URLs to pages related to the resource.

type AlertListEmbedded

type AlertListEmbedded struct {
	// TODO: Add struct field description
	Items []*ConsolidatedAlertWithETag `json:"items"`
}

AlertListEmbedded represents a custom type struct. Embedded responses related to the resource.

type AlertListLinks struct {
	// The HATEOAS link to the first page of results.
	First *HateoasFirstLink `json:"_first"`
	// The HATEOAS link to the last page of results.
	Last *HateoasLastLink `json:"_last"`
	// The HATEOAS link to the next page of results.
	Next *HateoasNextLink `json:"_next"`
	// The HATEOAS link to the previous page of results.
	Prev *HateoasPrevLink `json:"_prev"`
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

AlertListLinks represents a custom type struct. URLs to pages related to the resource.

type AlertParentEntity

type AlertParentEntity struct {
	// A system-generated ID assigned to this entity.
	Id *string `json:"id"`
	// Type is mostly an asset type or the type of Entity. Some examples are
	// "restored_file", "vmware_vm",  etc.
	ClumioType *string `json:"type"`
	// A system-generated value assigned to the entity. For example, if the primary entity type is "vmware_vm" for a virtual machine, then the value is the name of the VM.
	Value *string `json:"value"`
}

AlertParentEntity represents a custom type struct. The parent object of the primary entity associated with or affected by the alert. For example, "aws_environment" is the parent entity of primary entity "aws_ebs_volume".

type AlertPrimaryEntity

type AlertPrimaryEntity struct {
	// A system-generated ID assigned to this entity.
	Id *string `json:"id"`
	// Type is mostly an asset type or the type of Entity. Some examples are
	// "restored_file", "vmware_vm",  etc.
	ClumioType *string `json:"type"`
	// A system-generated value assigned to the entity. For example, if the primary entity type is "vmware_vm" for a virtual machine, then the value is the name of the VM.
	Value *string `json:"value"`
}

AlertPrimaryEntity represents a custom type struct. The primary object associated with or affected by the alert. Examples of primary entities include "aws_connection", "aws_ebs_volume" and "vmware_vm".

type AmiModel added in v0.9.0

type AmiModel struct {
	// The AWS-assigned ID of the AMI.
	AmiNativeId *string `json:"ami_native_id"`
	// The architecture of the AMI. Possible values include 'i386', 'x86_64', and 'arm64'.
	Architecture *string `json:"architecture"`
	// Specifies whether enhanced networking with ENA is enabled.
	HasEnaSupport *bool `json:"has_ena_support"`
	// The hypervisor type of the AMI. Possible values include 'ovm' and 'xen'.
	HypervisorType *string `json:"hypervisor_type"`
	// Type of Image (machine | kernel | ramdisk ).
	ImageType *string `json:"image_type"`
	// A Boolean that indicates whether the image is public.
	IsPublic *bool `json:"is_public"`
	// The name of the AMI.
	Name *string `json:"name"`
	// Number of ebs volumes.
	NumberOfEbsVolumes *int64 `json:"number_of_ebs_volumes"`
	// Number of ephemeral volumes.
	NumberOfEphemeralVolumes *int64 `json:"number_of_ephemeral_volumes"`
	// The ID of the Amazon Web Services account that owns the image.
	OwnerId *string `json:"owner_id"`
	// The platform of the AMI. Possible values include "windows" and "linux".
	Platform *string `json:"platform"`
	// The name of the root device used by the AMI.
	RootDeviceName *string `json:"root_device_name"`
	// The type of root device used by the AMI.
	RootDeviceType *string `json:"root_device_type"`
	// A value of simple indicates that enhanced networking with the Intel 82599 VF
	// interface is enabled.
	SriovNetSupport *string `json:"sriov_net_support"`
	// The type of virtualization of the AMI. Possible values include 'hvm' and 'paravirtual.'
	VirtualizationType *string `json:"virtualization_type"`
}

AmiModel represents a custom type struct. An Amazon Machine Image is a supported and maintained image provided by AWS that provides the information required to launch an instance.

type AncestorRefModel

type AncestorRefModel struct {
	// A VMware-assigned ID for this ancestor.
	Id *string `json:"id"`
	// Determines whether this ancestor is a hidden root object. If `true`, this ancestor is a hidden root object.
	IsRoot *bool `json:"is_root"`
	// The name of the ancestor.
	Name *string `json:"name"`
	// The type of vCenter object that this ancestor represents. For example, a data center can be an ancestor of a data center folder.
	ClumioType *string `json:"type"`
}

AncestorRefModel represents a custom type struct

type AssignPolicyAction

type AssignPolicyAction struct {
	// The policy to be applied to the assets.
	PolicyId *string `json:"policy_id"`
}

AssignPolicyAction represents a custom type struct. Apply a policy to assets.

type AssignmentEntity

type AssignmentEntity struct {
	// A system-generated ID assigned of an entity being assigned or unassigned to a policy.
	Id *string `json:"id"`
	//
	// The type of an entity being associated or disassociated with a policy.
	// Valid primary entity types include the following:
	//
	// +---------------------+---------------------+
	// | Primary Entity Type |       Details       |
	// +=====================+=====================+
	// | aws_ebs_volume      | AWS EBS volume.     |
	// +---------------------+---------------------+
	// | aws_ec2_instance    | AWS EC2 instance.   |
	// +---------------------+---------------------+
	// | aws_rds_cluster     | AWS RDS cluster.    |
	// +---------------------+---------------------+
	// | aws_rds_instance    | AWS RDS instance.   |
	// +---------------------+---------------------+
	// | aws_dynamodb_table  | AWS DynamoDB table. |
	// +---------------------+---------------------+
	// | protection_group    | Protection group.   |
	// +---------------------+---------------------+
	//
	ClumioType *string `json:"type"`
}

AssignmentEntity represents a custom type struct. An entity being assigned or unassigned a policy.

type AssignmentInputModel

type AssignmentInputModel struct {
	// The action to be executed by this request.
	// Possible values include "assign" and "unassign".
	Action *string `json:"action"`
	// An entity being assigned or unassigned a policy.
	Entity *AssignmentEntity `json:"entity"`
	// The Clumio-assigned ID of the policy to be applied to the requested entities.
	// If `action: assign`, then this parameter is required.
	// Otherwise, it must not be provided.
	PolicyId *string `json:"policy_id"`
}

AssignmentInputModel represents a custom type struct. The portion of the policy assignment used for updates/creations

type AttachedEBSVolumeFullModel added in v0.9.0

type AttachedEBSVolumeFullModel struct {
	// The Clumio-assigned id for the volume.
	Id *string `json:"id"`
	// Determines whether this device is the root for the instance.
	IsRoot *bool `json:"is_root"`
	// The AWS-assigned id of the KMS key used for encryption of the volume.
	KmsKeyNativeId *string `json:"kms_key_native_id"`
	// The device name for the EBS volume. For example, '/dev/xvda'.
	Name *string `json:"name"`
	// The size of the EBS volume. Measured in bytes (B).
	Size *int64 `json:"size"`
	// The status of the EBS volume. Possible values include 'attaching', 'attached',
	// 'detaching', 'detached'.
	Status *string `json:"status"`
	// A tag created through AWS Console which can be applied to EBS volumes.
	Tags []*AwsTagCommonModel `json:"tags"`
	// The type of the volume. Possible values include 'gp2', 'io1', 'st1', 'sc1', and 'standard'.
	ClumioType *string `json:"type"`
	// The number of bytes written in the EBS volume.
	UtilizedSizeInBytes *uint64 `json:"utilized_size_in_bytes"`
	// The AWS-assigned ID of the EBS volume.
	VolumeNativeId *string `json:"volume_native_id"`
}

AttachedEBSVolumeFullModel represents a custom type struct

type AttributeDefinition added in v0.6.0

type AttributeDefinition struct {
	// TODO: Add struct field description
	Name *string `json:"name"`
	// TODO: Add struct field description
	ClumioType *string `json:"type"`
}

AttributeDefinition represents a custom type struct. Represents the attributes within a DynamoDB table by the name and the data type (`S` for string, `N` for number, `B` for binary).

type AuditParentEntity

type AuditParentEntity struct {
	// A system-generated ID assigned to this entity.
	Id *string `json:"id"`
	// Type is mostly an asset type or the type of Entity. Some examples are
	// "restored_file", "vmware_vm",  etc.
	ClumioType *string `json:"type"`
	// A system-generated value assigned to the entity. For example, if the primary entity type is "vmware_vm" for a virtual machine, then the value is the name of the VM.
	Value *string `json:"value"`
}

AuditParentEntity represents a custom type struct. The parent object of the primary entity associated with or affected by the audit. If the primary entity is not a vmware entity, this field will have a value of null For example, "vmware_vcenter" is the parent entity of primary entity "vmware_vm".

type AuditPrimaryEntity

type AuditPrimaryEntity struct {
	// A system-generated ID assigned to this entity.
	Id *string `json:"id"`
	// Type is mostly an asset type or the type of Entity. Some examples are
	// "restored_file", "vmware_vm",  etc.
	ClumioType *string `json:"type"`
	// A system-generated value assigned to the entity. For example, if the primary entity type is "vmware_vm" for a virtual machine, then the value is the name of the VM.
	Value *string `json:"value"`
}

AuditPrimaryEntity represents a custom type struct. The primary object associated with the audit event. Examples of primary entities include "aws_connection", "aws_ebs_volume" and "vmware_vm". In some cases like global settings, the primary entity may be null.

type AuditTrailListEmbedded

type AuditTrailListEmbedded struct {
	// TODO: Add struct field description
	Items []*AuditTrails `json:"items"`
}

AuditTrailListEmbedded represents a custom type struct. Embedded responses related to the resource.

type AuditTrailListLinks struct {
	// The HATEOAS link to the first page of results.
	First *HateoasFirstLink `json:"_first"`
	// The HATEOAS link to the last page of results.
	Last *HateoasLastLink `json:"_last"`
	// The HATEOAS link to the next page of results.
	Next *HateoasNextLink `json:"_next"`
	// The HATEOAS link to the previous page of results.
	Prev *HateoasPrevLink `json:"_prev"`
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

AuditTrailListLinks represents a custom type struct. URLs to pages related to the resource.

type AuditTrails

type AuditTrails struct {
	// The action performed by the user.
	//
	// +-------------------------+----------------------------------------------------+
	// |         Action          |                      Details                       |
	// +=========================+====================================================+
	// | create                  | Creating or adding new entities like new policy,   |
	// |                         | configuration, user, etc                           |
	// +-------------------------+----------------------------------------------------+
	// | update                  | Updating an existing entity like policy, settings, |
	// |                         | passwords, etc                                     |
	// +-------------------------+----------------------------------------------------+
	// | delete                  | Delete an existing entity like policy, settings,   |
	// |                         | users, etc                                         |
	// +-------------------------+----------------------------------------------------+
	// | enable                  | Enabling a feature like single sign on or multi    |
	// |                         | factor authentication settings                     |
	// +-------------------------+----------------------------------------------------+
	// | disable                 | Disabling features like single sign on or multi    |
	// |                         | factor authentication settings                     |
	// +-------------------------+----------------------------------------------------+
	// | browse                  | Browsing through entities in the system like       |
	// |                         | mailboxes or backups, etc                          |
	// +-------------------------+----------------------------------------------------+
	// | search                  | Searching through entities in the system like      |
	// |                         | mailboxes or backups, etc                          |
	// +-------------------------+----------------------------------------------------+
	// | login                   | User logs in or tries to login                     |
	// +-------------------------+----------------------------------------------------+
	// | logout                  | User explicitly logged out.                        |
	// +-------------------------+----------------------------------------------------+
	// | register                | When new registrations happen like new             |
	// |                         | datasource registration or user registering for    |
	// |                         | MFA                                                |
	// +-------------------------+----------------------------------------------------+
	// | unregister              | When unregistering like unregistering              |
	// |                         | datasource or user unregistering MFA               |
	// +-------------------------+----------------------------------------------------+
	// | apply                   | Apply policy to protect entities, tags, etc        |
	// +-------------------------+----------------------------------------------------+
	// | remove                  | Remove protection for entities, tags, etc          |
	// +-------------------------+----------------------------------------------------+
	// | invite                  | Inviting a user                                    |
	// +-------------------------+----------------------------------------------------+
	// | suspend                 | Suspend an existing user                           |
	// +-------------------------+----------------------------------------------------+
	// | full_restore            | Full restore of the VM, volume, mailbox, database  |
	// |                         | or other entities                                  |
	// +-------------------------+----------------------------------------------------+
	// | granular_retrieval      | Restoring individual files, mails or records       |
	// +-------------------------+----------------------------------------------------+
	// | redirected              | When cross region restore occurs.                  |
	// +-------------------------+----------------------------------------------------+
	// | unapply                 | Assets removed from a rule.                        |
	// +-------------------------+----------------------------------------------------+
	// | batch_activate          | Activate multiple policies.                        |
	// +-------------------------+----------------------------------------------------+
	// | batch_deactivate        | Deactivate multiple policies.                      |
	// +-------------------------+----------------------------------------------------+
	// | grant_email_access      | Grant email access for a file level object. This   |
	// |                         | is mutually exclusive with grant_download_access   |
	// +-------------------------+----------------------------------------------------+
	// | download                | File was download.                                 |
	// +-------------------------+----------------------------------------------------+
	// | validate_tda_passcode   | Validate passcode that is entered for a download.  |
	// +-------------------------+----------------------------------------------------+
	// | regenerate_tda_passcode | Regenerate a new passcode used for download.       |
	// +-------------------------+----------------------------------------------------+
	//
	Action *string `json:"action"`
	// The category of the auditable action performed by the user.
	//
	// +-------------------------+----------------------------------------------------+
	// |        Category         |                      Details                       |
	// +=========================+====================================================+
	// | authentication          | Activities related to Authentication               |
	// +-------------------------+----------------------------------------------------+
	// | data_source             | Data source changes                                |
	// +-------------------------+----------------------------------------------------+
	// | policy                  | Policy related actions                             |
	// +-------------------------+----------------------------------------------------+
	// | protection              | Applying and removing protection                   |
	// +-------------------------+----------------------------------------------------+
	// | restore                 | Restore related operations                         |
	// +-------------------------+----------------------------------------------------+
	// | tasks                   | Tasks                                              |
	// +-------------------------+----------------------------------------------------+
	// | backup                  | Backup related operations                          |
	// +-------------------------+----------------------------------------------------+
	// | users                   | User related operations                            |
	// +-------------------------+----------------------------------------------------+
	// | api_tokens              | API Token related operations like creating,        |
	// |                         | revoking or deleting tokens                        |
	// +-------------------------+----------------------------------------------------+
	// | kms_config              | Key Management Service(KMS) related operations     |
	// +-------------------------+----------------------------------------------------+
	// | sso                     | Single sign-on (SSO) related operations            |
	// +-------------------------+----------------------------------------------------+
	// | mfa                     | Multi Factor Authentication(MFA) related           |
	// |                         | operations                                         |
	// +-------------------------+----------------------------------------------------+
	// | reports                 | Reports related operations                         |
	// +-------------------------+----------------------------------------------------+
	// | alerts                  | Alerts related operations                          |
	// +-------------------------+----------------------------------------------------+
	// | cloud_connector         | Cloud connector related operations                 |
	// +-------------------------+----------------------------------------------------+
	// | cloudformation_template | Cloud Formation Template related operations        |
	// +-------------------------+----------------------------------------------------+
	// | bandwidth_config        | Bandwidth configuration related changes            |
	// +-------------------------+----------------------------------------------------+
	// | partner_ecosystem       | Changes to partner ecosystem                       |
	// +-------------------------+----------------------------------------------------+
	// | ecosystem_changes       | Changes in the ecosystem like adding or removing   |
	// |                         | VMs                                                |
	// +-------------------------+----------------------------------------------------+
	// | organizational_unit     | Changes in the Organizational Unit/Entity group    |
	// |                         | such as creation, deletion, patch.                 |
	// +-------------------------+----------------------------------------------------+
	//
	Category *string `json:"category"`
	// Additional details about the activity provided in JSON format.
	Details *string `json:"details"`
	// The Clumio-assigned ID of the audit event.
	Id *string `json:"id"`
	// The interface used to make the request i.e. 'UI','API'
	ClumioInterface *string `json:"interface"`
	// The IP address from which the activity was requested.
	IpAddress *string `json:"ip_address"`
	// The parent object of the primary entity associated with or affected by the audit.
	// If the primary entity is not a vmware entity, this field will have a value of null
	// For example, "vmware_vcenter" is the parent entity of primary entity "vmware_vm".
	ParentEntity *AuditParentEntity `json:"parent_entity"`
	// The primary object associated with the audit event. Examples of primary entities
	// include "aws_connection", "aws_ebs_volume" and "vmware_vm". In some cases like
	// global settings, the primary entity may be null.
	PrimaryEntity *AuditPrimaryEntity `json:"primary_entity"`
	// The status of the performed action. 'success', 'failure', 'partial_success'
	Status *string `json:"status"`
	// The Timestamp of when the activity began. Represented in RFC-3339 format.
	Timestamp *string `json:"timestamp"`
	// The email address of the logged in user making the request.
	UserEmail *string `json:"user_email"`
}

AuditTrails represents a custom type struct

type AutoUserProvisioningRuleEmbedded added in v0.3.0

type AutoUserProvisioningRuleEmbedded struct {
	// Embeds the associated organizational units for the OU UUIDs in the response
	// if requested using the `embed` query parameter.
	ReadOrganizationalUnit interface{} `json:"read-organizational-unit"`
	// Embeds the associated role for the role UUID in the response if requested using the `embed` query parameter.
	ReadRole interface{} `json:"read-role"`
}

AutoUserProvisioningRuleEmbedded represents a custom type struct. Embedded responses related to the resource.

type AutoUserProvisioningRuleLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// A resource-specific HATEOAS link.
	DeleteAutoUserProvisioningRule *HateoasLink `json:"delete-auto-user-provisioning-rule"`
	// A resource-specific HATEOAS link.
	UpdateAutoUserProvisioningRule *HateoasLink `json:"update-auto-user-provisioning-rule"`
}

AutoUserProvisioningRuleLinks represents a custom type struct. URLs to pages related to the resource.

type AutoUserProvisioningRuleListEmbedded added in v0.3.0

type AutoUserProvisioningRuleListEmbedded struct {
	// AutoUserProvisioningRuleWithETag to support etag string to be calculated
	Items []*AutoUserProvisioningRuleWithETag `json:"items"`
}

AutoUserProvisioningRuleListEmbedded represents a custom type struct. Embedded responses related to the resource.

type AutoUserProvisioningRuleListLinks struct {
	// The HATEOAS link to the first page of results.
	First *HateoasFirstLink `json:"_first"`
	// The HATEOAS link to the next page of results.
	Next *HateoasNextLink `json:"_next"`
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// A resource-specific HATEOAS link.
	CreateAutoUserProvisioningRule *HateoasLink `json:"create-auto-user-provisioning-rule"`
}

AutoUserProvisioningRuleListLinks represents a custom type struct. URLs to pages related to the resource.

type AutoUserProvisioningRuleWithETag added in v0.3.0

type AutoUserProvisioningRuleWithETag struct {
	// Embedded responses related to the resource.
	Embedded *AutoUserProvisioningRuleEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *AutoUserProvisioningRuleLinks `json:"_links"`
	// The following table describes the possible conditions for a rule.
	//
	// +--------------------------+-------------------------+-------------------------+
	// |     Group Selection      |     Rule Condition      |       Description       |
	// +==========================+=========================+=========================+
	// | This group               |                         | User must belong to the |
	// |                          |                         | specified group.        |
	// |                          | {"user.groups":{"$eq":" |                         |
	// |                          | Admin"}}                |                         |
	// |                          |                         |                         |
	// |                          |                         |                         |
	// +--------------------------+-------------------------+-------------------------+
	// | ANY of these groups      |                         | User must belong to at  |
	// |                          |                         | least one of the        |
	// |                          | {"user.groups":{"$in":[ | specified groups.       |
	// |                          | "Admin", "Eng",         |                         |
	// |                          | "Sales"]}}              |                         |
	// |                          |                         |                         |
	// |                          |                         |                         |
	// +--------------------------+-------------------------+-------------------------+
	// | ALL of these groups      |                         | User must belong to all |
	// |                          |                         | the specified groups.   |
	// |                          | {"user.groups":{"$all": |                         |
	// |                          | ["Admin", "Eng",        |                         |
	// |                          | "Sales"]}}              |                         |
	// |                          |                         |                         |
	// |                          |                         |                         |
	// +--------------------------+-------------------------+-------------------------+
	// | Group CONTAINS this      |                         | User's group must       |
	// | keyword                  |                         | contain the specified   |
	// |                          | {"user.groups":{"$conta | keyword.                |
	// |                          | ins":{"$in":["Admin"]}} |                         |
	// |                          | }                       |                         |
	// |                          |                         |                         |
	// |                          |                         |                         |
	// +--------------------------+-------------------------+-------------------------+
	// | Group CONTAINS ANY of    |                         | User's group must       |
	// | these keywords           |                         | contain at least one of |
	// |                          | {"user.groups":{"$conta | the specified keywords. |
	// |                          | ins":{"$in":["Admin",   |                         |
	// |                          | "Eng", "Sales"]}}}      |                         |
	// |                          |                         |                         |
	// |                          |                         |                         |
	// +--------------------------+-------------------------+-------------------------+
	// | Group CONTAINS ALL of    |                         | User's group must       |
	// | these keywords           |                         | contain all the         |
	// |                          | {"user.groups":{"$conta | specified keywords.     |
	// |                          | ins":{"$all":["Admin",  |                         |
	// |                          | "Eng", "Sales"]}}}      |                         |
	// |                          |                         |                         |
	// |                          |                         |                         |
	// +--------------------------+-------------------------+-------------------------+
	//
	Condition *string `json:"condition"`
	// Unique name assigned to the rule.
	Name *string `json:"name"`
	// Specifies the role and the organizational units to be assigned to the user subject to the rule criteria.
	Provision *RuleProvision `json:"provision"`
	// The Clumio-assigned ID of the rule.
	RuleId *string `json:"rule_id"`
}

AutoUserProvisioningRuleWithETag represents a custom type struct. AutoUserProvisioningRuleWithETag to support etag string to be calculated

type AutoUserProvisioningSettingLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// A resource-specific HATEOAS link.
	UpdateAutoUserProvisioningSetting *HateoasLink `json:"update-auto-user-provisioning-setting"`
}

AutoUserProvisioningSettingLinks represents a custom type struct. URLs to pages related to the resource.

type AwsDsGroupingCriteria

type AwsDsGroupingCriteria struct {
	// Determines whether or not this data group is editable. If false, then an
	// organizational unit uses this data group.
	// To edit this data group, all organizational units using it must be deleted.
	IsEditable *bool `json:"is_editable"`
	//
	// +-----------------+-------------------------+
	// |   Entity Type   |         Details         |
	// +=================+=========================+
	// | aws_environment | AWS account and region. |
	// +-----------------+-------------------------+
	//
	ClumioType *string `json:"type"`
}

AwsDsGroupingCriteria represents a custom type struct. The entity type used to group organizational units for AWS resources.

type AwsTag

type AwsTag struct {
	// Embedded responses related to the resource.
	Embedded *AwsTagEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *AwsTagLinks `json:"_links"`
	// The Clumio-assigned ID of the AWS tag.
	Id *string `json:"id"`
	// The AWS-assigned tag key.
	Key *string `json:"key"`
	// The Clumio-assigned ID of the AWS key.
	KeyId *string `json:"key_id"`
	// The Clumio-assigned ID of the organizational unit associated with the tag.
	OrganizationalUnitId *string `json:"organizational_unit_id"`
	// The protection policy applied to this resource. If the resource is not protected, then this field has a value of `null`.
	ProtectionInfo *ProtectionInfo `json:"protection_info"`
	// The protection status of the EBS volume. Possible values include "protected" and "unprotected".
	ProtectionStatus *string `json:"protection_status"`
	// The AWS-assigned tag value.
	Value *string `json:"value"`
}

AwsTag represents a custom type struct

type AwsTagCommonModel

type AwsTagCommonModel struct {
	// The AWS-assigned tag key.
	Key *string `json:"key"`
	// The AWS-assigned tag value.
	Value *string `json:"value"`
}

AwsTagCommonModel represents a custom type struct. A tag created through AWS Console which can be applied to EBS volumes.

type AwsTagEmbedded

type AwsTagEmbedded struct {
	// TODO: Add struct field description
	ReadAwsEnvironmentTagEbsVolumesComplianceStats interface{} `json:"read-aws-environment-tag-ebs-volumes-compliance-stats"`
	// Embeds the associated policy of a protected resource in the response if requested using the `embed` query parameter. Unprotected resources will not have an associated policy.
	ReadPolicyDefinition interface{} `json:"read-policy-definition"`
}

AwsTagEmbedded represents a custom type struct. Embedded responses related to the resource.

type AwsTagLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// A HATEOAS link to protect the entities.
	ProtectEntities *ProtectEntitiesHateoasLink `json:"protect-entities"`
	// A resource-specific HATEOAS link.
	ReadAwsEnvironmentTagEbsVolumesComplianceStats *HateoasLink `json:"read-aws-environment-tag-ebs-volumes-compliance-stats"`
	// A HATEOAS link to the policy protecting this resource. Will be omitted for unprotected entities.
	ReadPolicyDefinition *ReadPolicyDefinitionHateoasLink `json:"read-policy-definition"`
	// A HATEOAS link to unprotect the entities.
	UnprotectEntities *UnprotectEntitiesHateoasLink `json:"unprotect-entities"`
}

AwsTagLinks represents a custom type struct. URLs to pages related to the resource.

type AwsTagListEmbedded

type AwsTagListEmbedded struct {
	// TODO: Add struct field description
	Items []*AwsTag `json:"items"`
}

AwsTagListEmbedded represents a custom type struct. Embedded responses related to the resource.

type AwsTagListLinks struct {
	// The HATEOAS link to the first page of results.
	First *HateoasFirstLink `json:"_first"`
	// The HATEOAS link to the last page of results.
	Last *HateoasLastLink `json:"_last"`
	// The HATEOAS link to the next page of results.
	Next *HateoasNextLink `json:"_next"`
	// The HATEOAS link to the previous page of results.
	Prev *HateoasPrevLink `json:"_prev"`
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

AwsTagListLinks represents a custom type struct. URLs to pages related to the resource.

type AwsTagModel

type AwsTagModel struct {
	// The Clumio-assigned ID of the AWS tag.
	Id *string `json:"id"`
	// The AWS-assigned tag key.
	Key *string `json:"key"`
	// The Clumio-assigned ID of the AWS key.
	KeyId *string `json:"key_id"`
	// The AWS-assigned tag value.
	Value *string `json:"value"`
}

AwsTagModel represents a custom type struct. A tag created through AWS console which can be applied to EBS volumes.

type BackupSLA

type BackupSLA struct {
	// The retention time for this SLA. For example, to retain the backup for 1 month, set `unit="months"` and `value=1`.
	RetentionDuration *RetentionBackupSLAParam `json:"retention_duration"`
	// The minimum frequency between backups for this SLA. Also known as the recovery point objective (RPO) interval.
	// For example, to configure the minimum frequency between backups to be every 2 days, set `unit="days"` and `value=2`.
	// To configure the SLA for on-demand backups, set `unit="on_demand"` and leave the `value` field empty.
	RpoFrequency *RPOBackupSLAParam `json:"rpo_frequency"`
}

BackupSLA represents a custom type struct. backup_sla captures the SLA parameters backup_sla captures the SLA parameters

type BackupWindow

type BackupWindow struct {
	// The time when the backup window closes. Specify the end time in the format `hh:mm`, where `hh` represents the hour of the day and `mm` represents the minute of the day, based on a 24 hour clock. Leave empty if you do not want to specify an end time. If the backup window closes while a backup is in progress, the entire backup process is aborted. Clumio will perform the next backup when the backup window re-opens.
	EndTime *string `json:"end_time"`
	// The time when the backup window opens. Specify the start time in the format `hh:mm`, where `hh` represents the hour of the day and `mm` represents the minute of the day based on the 24 hour clock.
	StartTime *string `json:"start_time"`
}

BackupWindow represents a custom type struct. The start and end times of the customized backup window. Use of `backup_window` is deprecated, use `backup_window_tz` instead.

type Bucket added in v0.1.2

type Bucket struct {
	// Embedded responses related to the resource.
	Embedded interface{} `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *BucketLinks `json:"_links"`
	// The AWS-assigned ID of the account associated with the S3 bucket.
	AccountNativeId *string `json:"account_native_id"`
	// The AWS region associated with the S3 bucket.
	AwsRegion *string `json:"aws_region"`
	// The total size breakdown of S3 buckets in bytes per storage class. This parameter aggregates relevant fields from cloudwatch_metrics > size_bytes_per_storage_class
	BucketSizeBytesBreakdown *S3BucketsInventorySummaryBucketSizeBreakdown `json:"bucket_size_bytes_breakdown"`
	// The Cloudwatch metrics of the bucket.
	CloudwatchMetrics *S3CloudwatchMetrics `json:"cloudwatch_metrics"`
	// The timestamp of when the bucket was created. Represented in RFC-3339 format.
	CreationTimestamp *string `json:"creation_timestamp"`
	// The AWS encryption output of the bucket.
	EncryptionSetting *S3EncryptionOutput `json:"encryption_setting"`
	// The Clumio-assigned ID of the AWS environment associated with the S3 bucket.
	EnvironmentId *string `json:"environment_id"`
	// The EventBridge enablement state for the S3 bucket.
	EventBridgeEnabled *bool `json:"event_bridge_enabled"`
	// The Clumio-assigned ID of the bucket.
	Id *string `json:"id"`
	// The Encryption enablement state for the S3 bucket.
	IsEncryptionEnabled *bool `json:"is_encryption_enabled"`
	// The Replication enablement state for the S3 bucket.
	IsReplicationEnabled *bool `json:"is_replication_enabled"`
	// The Versioning enablement state for the S3 bucket.
	IsVersioningEnabled *bool `json:"is_versioning_enabled"`
	// Time of the last backup in RFC-3339 format.
	LastBackupTimestamp *string `json:"last_backup_timestamp"`
	// Time of the last continuous backup in RFC-3339 format.
	LastContinuousBackupTimestamp *string `json:"last_continuous_backup_timestamp"`
	// The AWS-assigned name of the bucket.
	Name *string `json:"name"`
	// Number of objects in bucket.
	ObjectCount *int64 `json:"object_count"`
	// The Clumio-assigned ID of the organizational unit associated with the S3 bucket.
	OrganizationalUnitId *string `json:"organizational_unit_id"`
	// Protection group count reflects how many protection groups are linked to this
	// bucket.
	ProtectionGroupCount *int64 `json:"protection_group_count"`
	// The AWS replication output of the bucket.
	ReplicationSetting *S3ReplicationOutput `json:"replication_setting"`
	// Size of bucket in bytes.
	SizeBytes *int64 `json:"size_bytes"`
	// A tag created through AWS console which can be applied to EBS volumes.
	Tags []*AwsTagModel `json:"tags"`
	// The AWS versioning output of the bucket.
	VersioningSetting *S3VersioningOutput `json:"versioning_setting"`
}

Bucket represents a custom type struct

type BucketLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

BucketLinks represents a custom type struct. URLs to pages related to the resource.

type BucketListEmbedded added in v0.1.2

type BucketListEmbedded struct {
	// TODO: Add struct field description
	Items []*Bucket `json:"items"`
}

BucketListEmbedded represents a custom type struct. Embedded responses related to the resource.

type BucketListLinks struct {
	// The HATEOAS link to the first page of results.
	First *HateoasFirstLink `json:"_first"`
	// The HATEOAS link to the last page of results.
	Last *HateoasLastLink `json:"_last"`
	// The HATEOAS link to the next page of results.
	Next *HateoasNextLink `json:"_next"`
	// The HATEOAS link to the previous page of results.
	Prev *HateoasPrevLink `json:"_prev"`
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

BucketListLinks represents a custom type struct. URLs to pages related to the resource.

type CategorisedResources added in v0.13.0

type CategorisedResources struct {
	// TODO: Add struct field description
	Policies map[string]*PolicyDetails `json:"policies"`
	// Details for the IAM Role
	Roles map[string]*ClumioRoleResource `json:"roles"`
	// TODO: Add struct field description
	Rules map[string]*ClumioRuleResource `json:"rules"`
	// Details for the ssm document attached to any resource
	SsmDocuments map[string]*ClumioSsmDocumentResource `json:"ssm_documents"`
	// Details for the SNS Topic
	Topics map[string]*ClumioTopicResource `json:"topics"`
}

CategorisedResources represents a custom type struct. Categorised Resources, based on the generated template, to be created manually by the user

type ChangePasswordResponse added in v0.8.0

type ChangePasswordResponse struct {
	// HateoasCommonLinks are the common fields for HATEOAS response.
	Links *HateoasCommonLinks `json:"_links"`
}

ChangePasswordResponse represents a custom type struct for Success

type ChangePasswordV1Request

type ChangePasswordV1Request struct {
	// The user's current password.
	CurrentPassword *string `json:"current_password"`
	// The new password that is to replace the user's current password. Passwords must be between 14 and 64 characters
	// and include the following: one uppercase character, one lowercase character, one number, and one special character.
	// Spaces are not allowed.
	NewPassword *string `json:"new_password"`
}

ChangePasswordV1Request represents a custom type struct

type ChangePasswordV2Request added in v0.8.0

type ChangePasswordV2Request struct {
	// The user's current password.
	CurrentPassword *string `json:"current_password"`
	// The new password that is to replace the user's current password. Passwords must be between 14 and 64 characters
	// and include the following: one uppercase character, one lowercase character, one number, and one special character.
	// Spaces are not allowed.
	NewPassword *string `json:"new_password"`
}

ChangePasswordV2Request represents a custom type struct

type CloudConnectorCountByStatus

type CloudConnectorCountByStatus struct {
	// The number of degraded cloud connectors in this subgroup.
	Degraded *int64 `json:"degraded"`
	// The number of healthy cloud connectors in this subgroup.
	Healthy *int64 `json:"healthy"`
}

CloudConnectorCountByStatus represents a custom type struct. The number of cloud connectors in this subgroup, aggregated by their status.

type ClumioRoleResource added in v0.13.0

type ClumioRoleResource struct {
	// TODO: Add struct field description
	Description *string `json:"description"`
	// TODO: Add struct field description
	InlinePolicies []*PolicyDetails `json:"inline_policies"`
	// TODO: Add struct field description
	ManagedPolicies []*PolicyDetails `json:"managed_policies"`
	// TODO: Add struct field description
	Steps *string `json:"steps"`
	// "trust_policy" stores the Trust Relationship policy for the role. It is a stringified JSON blob.
	// The user has to JSONify it and then paste the JSONified blob in aws console while creating the role.
	TrustPolicy interface{} `json:"trust_policy"`
}

ClumioRoleResource represents a custom type struct. Details for the IAM Role

type ClumioRuleResource added in v0.13.0

type ClumioRuleResource struct {
	// "description" is optional
	Description *string `json:"description"`
	// "event_pattern" has stringified JSON blob. The user has to JSONify it and then paste
	// the JSONified blob in aws console while creating the rule.
	EventPattern interface{} `json:"event_pattern"`
	// "steps" refers to commands to be executed
	Steps *string `json:"steps"`
	// "targets" is a string that essentially stores the target for the rule. It generally is an ARN.
	Targets []interface{} `json:"targets"`
}

ClumioRuleResource represents a custom type struct

type ClumioSsmDocumentInputs added in v0.13.0

type ClumioSsmDocumentInputs struct {
	// "runCommand" is an array of stringified commands.
	Runcommand []*string `json:"runCommand"`
	// "timeoutSeconds" is a stringified number denoting the timeout for command execution
	Timeoutseconds *string `json:"timeoutSeconds"`
}

ClumioSsmDocumentInputs represents a custom type struct

type ClumioSsmDocumentParameterValue added in v0.13.0

type ClumioSsmDocumentParameterValue struct {
	// "allowedPattern" refers to the pattern that must be satisfied by the parameter
	Allowedpattern *string `json:"allowedPattern"`
	// "default" refers to the default value for that paramter
	ClumioDefault *string `json:"default"`
	// "description" is optional
	Description *string `json:"description"`
	// "type" refers to the parameter type
	ClumioType *string `json:"type"`
}

ClumioSsmDocumentParameterValue represents a custom type struct. Details for each parameters of the ssm document

type ClumioSsmDocumentResource added in v0.13.0

type ClumioSsmDocumentResource struct {
	// "description" must contain the version being followed
	Description *string `json:"description"`
	// Details for each step present inside an ssm document
	Mainsteps []*ClumioSsmDocumentStep `json:"mainSteps"`
	// Details for each parameters of the ssm document
	Parameters map[string]*ClumioSsmDocumentParameterValue `json:"parameters"`
	// "schemaVersion" is an AWS value for versioning
	Schemaversion *string `json:"schemaVersion"`
}

ClumioSsmDocumentResource represents a custom type struct. Details for the ssm document attached to any resource

type ClumioSsmDocumentStep added in v0.13.0

type ClumioSsmDocumentStep struct {
	// "action" refers to a unique action identified for this step
	Action *string `json:"action"`
	// TODO: Add struct field description
	Inputs *ClumioSsmDocumentInputs `json:"inputs"`
	// "name" refers to name of that step
	Name *string `json:"name"`
	// "preconditon" is used for targeting a OS or validating input parameters
	Precondition map[string]*[]string `json:"precondition"`
}

ClumioSsmDocumentStep represents a custom type struct. Details for each step present inside an ssm document

type ClumioTopicResource added in v0.13.0

type ClumioTopicResource struct {
	// TODO: Add struct field description
	Policies []*PolicyDetails `json:"policies"`
	// "steps" refers to commands to be executed
	Steps *string `json:"steps"`
}

ClumioTopicResource represents a custom type struct. Details for the SNS Topic

type ComplianceStatsDeprecated

type ComplianceStatsDeprecated struct {
	// Compliant count.
	Compliant *uint32 `json:"COMPLIANT"`
	// Deactivated count.
	Deactivated *uint32 `json:"DEACTIVATED"`
	// Non-Compliant count.
	NonCompliant *uint32 `json:"NON_COMPLIANT"`
	// Seeding count.
	Seeding *uint32 `json:"SEEDING"`
	// Wait-for-seeding count.
	WaitForSeeding *uint32 `json:"WAIT_FOR_SEEDING"`
}

ComplianceStatsDeprecated represents a custom type struct. ComplianceStatsDeprecated denotes compliance metrics for all entities associated with a given type

type ComputeResourceEmbedded

type ComputeResourceEmbedded struct {
	// Embeds the associated policy of a protected resource in the response if requested using the `embed` query parameter. Unprotected resources will not have an associated policy.
	ReadPolicyDefinition interface{} `json:"read-policy-definition"`
	// Embeds the compliance statistics of VMs into each vCenter resource in the response, if requested using the `_embed` query parameter.
	ReadVmwareVcenterComputeResourceComplianceStats interface{} `json:"read-vmware-vcenter-compute-resource-compliance-stats"`
	// TODO: Add struct field description
	ReadVmwareVcenterComputeResourceConnectionStats interface{} `json:"read-vmware-vcenter-compute-resource-connection-stats"`
}

ComputeResourceEmbedded represents a custom type struct. Embedded responses related to the resource.

type ComputeResourceIDModel

type ComputeResourceIDModel struct {
	// The VMware-assigned Managed Object Reference (MoRef) ID of the compute resource.
	Id *string `json:"id"`
}

ComputeResourceIDModel represents a custom type struct

type ComputeResourceLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// A HATEOAS link to protect the entities.
	ProtectEntities *ProtectEntitiesHateoasLink `json:"protect-entities"`
	// A HATEOAS link to the policy protecting this resource. Will be omitted for unprotected entities.
	ReadPolicyDefinition *ReadPolicyDefinitionHateoasLink `json:"read-policy-definition"`
	// A HATEOAS link to the compliance statistics of VMs in the folders and subfolders of this vCenter resource.
	ReadVmwareVcenterComputeResourceComplianceStats *ReadVCenterObjectProtectionStatsHateoasLink `json:"read-vmware-vcenter-compute-resource-compliance-stats"`
	// A resource-specific HATEOAS link.
	ReadVmwareVcenterComputeResourceConnectionStats *HateoasLink `json:"read-vmware-vcenter-compute-resource-connection-stats"`
	// A HATEOAS link to unprotect the entities.
	UnprotectEntities *UnprotectEntitiesHateoasLink `json:"unprotect-entities"`
}

ComputeResourceLinks represents a custom type struct. URLs to pages related to the resource.

type ConnectionRegion

type ConnectionRegion struct {
	// The ID of the aws region.
	Id *string `json:"id"`
	// Boolean that notes which regions can be designated as targets
	IsDataPlaneRegion *bool `json:"is_data_plane_region"`
	// Name is a user friendly name of the AWS region.
	Name *string `json:"name"`
}

ConnectionRegion represents a custom type struct

type ConnectionRegionListEmbedded

type ConnectionRegionListEmbedded struct {
	// TODO: Add struct field description
	Items []*ConnectionRegion `json:"items"`
}

ConnectionRegionListEmbedded represents a custom type struct. Embedded responses related to the resource.

type ConnectionRegionListLinks struct {
	// The HATEOAS link to the first page of results.
	First *HateoasFirstLink `json:"_first"`
	// The HATEOAS link to the next page of results.
	Next *HateoasNextLink `json:"_next"`
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

ConnectionRegionListLinks represents a custom type struct. URLs to pages related to the resource.

type ConsolidatedAlertDetails

type ConsolidatedAlertDetails struct {
	// A brief description of the condition that caused the alert. Examples include "Size Limit Exceeded" and "Insufficient Cloud Connector Capacity".
	Cause *string `json:"cause"`
	// The general alert category. Examples include "Policy Violated" and "Restore Failed".
	ClumioType *string `json:"type"`
}

ConsolidatedAlertDetails represents a custom type struct. Additional information about the consolidated alert.

type ConsolidatedAlertLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// A resource-specific HATEOAS link.
	UpdateConsolidatedAlert *HateoasLink `json:"update-consolidated-alert"`
}

ConsolidatedAlertLinks represents a custom type struct. URLs to pages related to the resource.

type ConsolidatedAlertListEmbedded

type ConsolidatedAlertListEmbedded struct {
	// TODO: Add struct field description
	Items []*ConsolidatedAlertWithETag `json:"items"`
}

ConsolidatedAlertListEmbedded represents a custom type struct. Embedded responses related to the resource.

type ConsolidatedAlertListLinks struct {
	// The HATEOAS link to the first page of results.
	First *HateoasFirstLink `json:"_first"`
	// The HATEOAS link to the last page of results.
	Last *HateoasLastLink `json:"_last"`
	// The HATEOAS link to the next page of results.
	Next *HateoasNextLink `json:"_next"`
	// The HATEOAS link to the previous page of results.
	Prev *HateoasPrevLink `json:"_prev"`
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

ConsolidatedAlertListLinks represents a custom type struct. URLs to pages related to the resource.

type ConsolidatedAlertParentEntity

type ConsolidatedAlertParentEntity struct {
	// A system-generated ID assigned to this entity.
	Id *string `json:"id"`
	// Type is mostly an asset type or the type of Entity. Some examples are
	// "restored_file", "vmware_vm",  etc.
	ClumioType *string `json:"type"`
	// A system-generated value assigned to the entity. For example, if the primary entity type is "vmware_vm" for a virtual machine, then the value is the name of the VM.
	Value *string `json:"value"`
}

ConsolidatedAlertParentEntity represents a custom type struct. The entity associated with or affected by the alert.

type ConsolidatedAlertWithETag added in v0.8.0

type ConsolidatedAlertWithETag struct {
	// The ETag value.
	Etag *string `json:"_etag"`
	// URLs to pages related to the resource.
	Links *ConsolidatedAlertLinks `json:"_links"`
	// The number of currently active individual alerts associated with the consolidated alert.
	ActiveEntityCount *int64 `json:"active_entity_count"`
	// The issue that generated the alert. Each alert cause is associated with an alert type.
	Cause *string `json:"cause"`
	// The number of cleared individual alerts associated with the consolidated alert.
	ClearedEntityCount *int64 `json:"cleared_entity_count"`
	// The timestamp of when the consolidated alert was cleared, if ever. Represented in RFC-3339 format. If this alert has not been cleared, this field will have a value of `null`.
	// A consolidated alert goes into "cleared" status when all of its associated individual alerts are in "cleared" status or when a Clumio user manually clears it.
	ClearedTimestamp *string `json:"cleared_timestamp"`
	// Additional information about the consolidated alert.
	Details *ConsolidatedAlertDetails `json:"details"`
	// The Clumio-assigned ID of the consolidated alert.
	Id *string `json:"id"`
	// A record of user-provided information about the alert.
	Notes *string `json:"notes"`
	// The entity associated with or affected by the alert.
	ParentEntity *ConsolidatedAlertParentEntity `json:"parent_entity"`
	// The timestamp of when the consolidated alert was initially raised. Represented in RFC-3339 format.
	RaisedTimestamp *string `json:"raised_timestamp"`
	// The alert severity level. Values include "error" and "warning".
	Severity *string `json:"severity"`
	// The consolidated alert status. A consolidated alert is in "active" status if one or more of its associated individual alerts is in "active" status.
	// A consolidated alert goes into "cleared" status when all of its associated individual alerts are in "cleared" status or when a Clumio user manually clears it.
	Status *string `json:"status"`
	// The general alert category. An alert type may be associated with multiple alert causes. Examples of alert types include "tag_conflict" and "policy_violated".
	// Refer to the Alert Type table for a complete list of alert types.
	ClumioType *string `json:"type"`
	// The timestamp of when the consolidated alert was last updated. Represented in RFC-3339 format.
	// Raising a new individual alert will update its associated consolidated alert.
	UpdatedTimestamp *string `json:"updated_timestamp"`
}

ConsolidatedAlertWithETag represents a custom type struct

type ConsolidatedConfig added in v0.2.5

type ConsolidatedConfig struct {
	// The asset types supported on the current version of the feature
	AssetTypesEnabled []*string `json:"asset_types_enabled"`
	// DynamodbAssetInfo
	// The installed information for the DynamoDB feature.
	Dynamodb *DynamodbAssetInfo `json:"dynamodb"`
	// EbsAssetInfo
	// The installed information for the EBS feature.
	Ebs *EbsAssetInfo `json:"ebs"`
	// EC2MSSQLProtectConfig
	// The installed information for the EC2_MSSQL feature.
	Ec2Mssql *EC2MSSQLProtectConfig `json:"ec2_mssql"`
	// The current version of the feature.
	InstalledTemplateVersion *string `json:"installed_template_version"`
	// RdsAssetInfo
	// The installed information for the RDS feature.
	Rds *RdsAssetInfo `json:"rds"`
	// S3AssetInfo
	// The installed information for the S3 feature.
	S3 *S3AssetInfo `json:"s3"`
	// The configuration of the Clumio Cloud Warm-Tier Protect product for this connection.
	WarmTierProtect *WarmTierProtectConfig `json:"warm_tier_protect"`
}

ConsolidatedConfig represents a custom type struct. The consolidated configuration of the Clumio Cloud Protect and Clumio Cloud Discover products for this connection. If this connection is deprecated to use unconsolidated configuration, then this field has a value of `null`.

type CostEstimatesProtectionGroupInstantAccessEndpointResponseWrapper added in v0.12.0

type CostEstimatesProtectionGroupInstantAccessEndpointResponseWrapper struct {
	// HTTP status code of response
	StatusCode int
	// EstimateCostS3InstantAccessEndpointSyncResponse represents Success response of status code Http200
	Http200 *EstimateCostS3InstantAccessEndpointSyncResponse
	// EstimateCostS3InstantAccessEndpointAsyncResponse represents Success response of status code Http202
	Http202 *EstimateCostS3InstantAccessEndpointAsyncResponse
}

CostEstimatesProtectionGroupInstantAccessEndpointResponseWrapper represents a custom type struct wrapper for different success responses

type CostEstimatesProtectionGroupInstantAccessEndpointV1Request added in v0.12.0

type CostEstimatesProtectionGroupInstantAccessEndpointV1Request struct {
	// The Clumio-assigned ID of the protection group S3 asset backup or protection group backup to
	// be restored. Use the endpoints
	// [GET /backups/protection-groups/s3-assets](#operation/list-backup-protection-group-s3-assets)
	// for protection group S3 asset backup, and
	// [GET /backups/protection-groups](#operation/list-backup-protection-groups)
	// for protection group backups to fetch valid values.
	// Note that only one of either `backup_id` or `pitr` must be provided.
	BackupId *string `json:"backup_id"`
	// Whether to wait for the operation to complete.
	IsSync *bool `json:"is_sync"`
	// Search for or restore only objects that pass the source object filter.
	ObjectFilters *SourceObjectFilters `json:"object_filters"`
	// The parameters to initiate a point-in-time creation of S3 instant access endpoint.
	// Note that only one of either `backup_id` or `pitr` must be provided.
	Pitr *S3InstantAccessSourcePitrOptions `json:"pitr"`
	// Clumio-assigned ID of protection group S3 asset, representing the
	// bucket within the protection group to restore from. Use the
	// [GET /datasources/protection-groups/s3-assets](#operation/list-protection-group-s3-assets)
	// endpoint to fetch valid values.
	ProtectionGroupS3AssetId *string `json:"protection_group_s3_asset_id"`
}

CostEstimatesProtectionGroupInstantAccessEndpointV1Request represents a custom type struct

type CreateAWSConnectionResponse

type CreateAWSConnectionResponse struct {
	// URLs to pages related to the resource.
	Links *AWSConnectionLinks `json:"_links"`
	// The alias given to the account on AWS.
	AccountName *string `json:"account_name"`
	// The AWS-assigned ID of the account associated with the connection.
	AccountNativeId *string `json:"account_native_id"`
	// The AWS region associated with the connection. For example, `us-east-1`.
	AwsRegion *string `json:"aws_region"`
	// AWS account ID of the Clumio control plane.
	ClumioAwsAccountId *string `json:"clumio_aws_account_id"`
	// AWS region of the Clumio control plane
	ClumioAwsRegion *string `json:"clumio_aws_region"`
	// The consolidated configuration of the Clumio Cloud Protect and Clumio Cloud Discover products for this connection.
	// If this connection is deprecated to use unconsolidated configuration, then this field has a
	// value of `null`.
	Config *ConsolidatedConfig `json:"config"`
	// The status of the connection. Possible values include "connecting",
	// "connected", and "unlinked".
	ConnectionStatus *string `json:"connection_status"`
	// The timestamp of when the connection was created.
	CreatedTimestamp *string `json:"created_timestamp"`
	// AWS account ID of the data plane for the connection.
	DataPlaneAccountId *string `json:"data_plane_account_id"`
	// The user-provided description for this connection.
	Description *string `json:"description"`
	// The configuration of the Clumio Discover product for this connection.
	// If this connection is not configured for Clumio Discover, then this field has a
	// value of `null`.
	Discover *DiscoverConfig `json:"discover"`
	// Clumio assigned external ID of the connection or of the associated connection group.
	ExternalId *string `json:"external_id"`
	// The Clumio-assigned ID of the connection.
	Id *string `json:"id"`
	// Status denoting whether Ingestion has started for the connection.
	// Valid values are "initial", "in_progress", "failed", "completed".
	IngestionStatus *string `json:"ingestion_status"`
	// K8S Namespace
	Namespace *string `json:"namespace"`
	// The Clumio-assigned ID of the organizational unit associated with the
	// AWS environment. If this parameter is not provided, then the value
	// defaults to the first organizational unit assigned to the requesting
	// user. For more information about organizational units, refer to the
	// Organizational-Units documentation.
	OrganizationalUnitId *string `json:"organizational_unit_id"`
	// The configuration of the Clumio Cloud Protect product for this connection.
	// If this connection is not configured for Clumio Cloud Protect, then this field has a
	// value of `null`.
	Protect *ProtectConfig `json:"protect"`
	// The asset types enabled for protect.
	// Valid values are any of ["EBS", "RDS", "DynamoDB", "EC2MSSQL", "S3"].
	ProtectAssetTypesEnabled []*string `json:"protect_asset_types_enabled"`
	// The services to be enabled for this configuration. Valid values are
	// ["discover"], ["discover", "protect"]. This is only set when the
	// registration is created, the enabled services are obtained directly from
	// the installed template after that. (Deprecated as all connections will have
	// both discover and protect enabled)
	ServicesEnabled []*string `json:"services_enabled"`
	// The Amazon Resource Name of the installed CloudFormation stack in this AWS account
	StackArn *string `json:"stack_arn"`
	// The name given to the installed CloudFormation stack on AWS.
	StackName *string `json:"stack_name"`
	// Status denoting whether Target Setup has started for the connection.
	// Valid values are "initial", "in_progress", "failed", "completed".
	TargetSetupStatus *string `json:"target_setup_status"`
	// The 36-character Clumio AWS integration ID token used to identify the
	// installation of the CloudFormation template on the account. This value
	// will be pasted into the ClumioToken field when creating the
	// CloudFormation stack.
	Token *string `json:"token"`
}

CreateAWSConnectionResponse represents a custom type struct for Success

type CreateAWSTemplateV2Response

type CreateAWSTemplateV2Response struct {
	// URLs to pages related to the resource.
	Links *TemplateLinks `json:"_links"`
	// The latest available URL for the template.
	CloudformationUrl *string `json:"cloudformation_url"`
	// The configuration of the given template
	Config *TemplateConfigurationV2 `json:"config"`
	// The latest available URL for the deployable template.
	DeployableCloudformationUrl *string `json:"deployable_cloudformation_url"`
	// Categorised Resources, based on the generated template, to be created manually by the user
	Resources *CategorisedResources `json:"resources"`
	// The latest available URL for the terraform template.
	TerraformUrl *string `json:"terraform_url"`
}

CreateAWSTemplateV2Response represents a custom type struct for Success

type CreateAutoUserProvisioningRuleResponse added in v0.3.0

type CreateAutoUserProvisioningRuleResponse struct {
	// Embedded responses related to the resource.
	Embedded *AutoUserProvisioningRuleEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *AutoUserProvisioningRuleLinks `json:"_links"`
	// The following table describes the possible conditions for a rule.
	//
	// +--------------------------+-------------------------+-------------------------+
	// |     Group Selection      |     Rule Condition      |       Description       |
	// +==========================+=========================+=========================+
	// | This group               |                         | User must belong to the |
	// |                          |                         | specified group.        |
	// |                          | {"user.groups":{"$eq":" |                         |
	// |                          | Admin"}}                |                         |
	// |                          |                         |                         |
	// |                          |                         |                         |
	// +--------------------------+-------------------------+-------------------------+
	// | ANY of these groups      |                         | User must belong to at  |
	// |                          |                         | least one of the        |
	// |                          | {"user.groups":{"$in":[ | specified groups.       |
	// |                          | "Admin", "Eng",         |                         |
	// |                          | "Sales"]}}              |                         |
	// |                          |                         |                         |
	// |                          |                         |                         |
	// +--------------------------+-------------------------+-------------------------+
	// | ALL of these groups      |                         | User must belong to all |
	// |                          |                         | the specified groups.   |
	// |                          | {"user.groups":{"$all": |                         |
	// |                          | ["Admin", "Eng",        |                         |
	// |                          | "Sales"]}}              |                         |
	// |                          |                         |                         |
	// |                          |                         |                         |
	// +--------------------------+-------------------------+-------------------------+
	// | Group CONTAINS this      |                         | User's group must       |
	// | keyword                  |                         | contain the specified   |
	// |                          | {"user.groups":{"$conta | keyword.                |
	// |                          | ins":{"$in":["Admin"]}} |                         |
	// |                          | }                       |                         |
	// |                          |                         |                         |
	// |                          |                         |                         |
	// +--------------------------+-------------------------+-------------------------+
	// | Group CONTAINS ANY of    |                         | User's group must       |
	// | these keywords           |                         | contain at least one of |
	// |                          | {"user.groups":{"$conta | the specified keywords. |
	// |                          | ins":{"$in":["Admin",   |                         |
	// |                          | "Eng", "Sales"]}}}      |                         |
	// |                          |                         |                         |
	// |                          |                         |                         |
	// +--------------------------+-------------------------+-------------------------+
	// | Group CONTAINS ALL of    |                         | User's group must       |
	// | these keywords           |                         | contain all the         |
	// |                          | {"user.groups":{"$conta | specified keywords.     |
	// |                          | ins":{"$all":["Admin",  |                         |
	// |                          | "Eng", "Sales"]}}}      |                         |
	// |                          |                         |                         |
	// |                          |                         |                         |
	// +--------------------------+-------------------------+-------------------------+
	//
	Condition *string `json:"condition"`
	// Unique name assigned to the rule.
	Name *string `json:"name"`
	// Specifies the role and the organizational units to be assigned to the user subject to the rule criteria.
	Provision *RuleProvision `json:"provision"`
	// The Clumio-assigned ID of the rule.
	RuleId *string `json:"rule_id"`
}

CreateAutoUserProvisioningRuleResponse represents a custom type struct for Success

type CreateAutoUserProvisioningRuleV1Request added in v0.3.0

type CreateAutoUserProvisioningRuleV1Request struct {
	// The following table describes the possible conditions for a rule.
	//
	// +--------------------------+-------------------------+-------------------------+
	// |     Group Selection      |     Rule Condition      |       Description       |
	// +==========================+=========================+=========================+
	// | This group               |                         | User must belong to the |
	// |                          |                         | specified group.        |
	// |                          | {"user.groups":{"$eq":" |                         |
	// |                          | Admin"}}                |                         |
	// |                          |                         |                         |
	// |                          |                         |                         |
	// +--------------------------+-------------------------+-------------------------+
	// | ANY of these groups      |                         | User must belong to at  |
	// |                          |                         | least one of the        |
	// |                          | {"user.groups":{"$in":[ | specified groups.       |
	// |                          | "Admin", "Eng",         |                         |
	// |                          | "Sales"]}}              |                         |
	// |                          |                         |                         |
	// |                          |                         |                         |
	// +--------------------------+-------------------------+-------------------------+
	// | ALL of these groups      |                         | User must belong to all |
	// |                          |                         | the specified groups.   |
	// |                          | {"user.groups":{"$all": |                         |
	// |                          | ["Admin", "Eng",        |                         |
	// |                          | "Sales"]}}              |                         |
	// |                          |                         |                         |
	// |                          |                         |                         |
	// +--------------------------+-------------------------+-------------------------+
	// | Group CONTAINS this      |                         | User's group must       |
	// | keyword                  |                         | contain the specified   |
	// |                          | {"user.groups":{"$conta | keyword.                |
	// |                          | ins":{"$in":["Admin"]}} |                         |
	// |                          | }                       |                         |
	// |                          |                         |                         |
	// |                          |                         |                         |
	// +--------------------------+-------------------------+-------------------------+
	// | Group CONTAINS ANY of    |                         | User's group must       |
	// | these keywords           |                         | contain at least one of |
	// |                          | {"user.groups":{"$conta | the specified keywords. |
	// |                          | ins":{"$in":["Admin",   |                         |
	// |                          | "Eng", "Sales"]}}}      |                         |
	// |                          |                         |                         |
	// |                          |                         |                         |
	// +--------------------------+-------------------------+-------------------------+
	// | Group CONTAINS ALL of    |                         | User's group must       |
	// | these keywords           |                         | contain all the         |
	// |                          | {"user.groups":{"$conta | specified keywords.     |
	// |                          | ins":{"$all":["Admin",  |                         |
	// |                          | "Eng", "Sales"]}}}      |                         |
	// |                          |                         |                         |
	// |                          |                         |                         |
	// +--------------------------+-------------------------+-------------------------+
	//
	Condition *string `json:"condition"`
	// Unique name assigned to the rule.
	Name *string `json:"name"`
	// Specifies the role and the organizational units to be assigned to the user subject to the rule criteria.
	Provision *RuleProvision `json:"provision"`
}

CreateAutoUserProvisioningRuleV1Request represents a custom type struct

type CreateAwsConnectionV1Request

type CreateAwsConnectionV1Request struct {
	// The AWS-assigned ID of the account associated with the connection.
	AccountNativeId *string `json:"account_native_id"`
	// The AWS region associated with the connection. For example, `us-east-1`.
	AwsRegion *string `json:"aws_region"`
	// The user-provided description for this connection.
	Description *string `json:"description"`
	// The Clumio-assigned ID of the organizational unit associated with the
	// AWS environment. If this parameter is not provided, then the value
	// defaults to the first organizational unit assigned to the requesting
	// user. For more information about organizational units, refer to the
	// Organizational-Units documentation.
	OrganizationalUnitId *string `json:"organizational_unit_id"`
	// The asset types enabled for protect.
	// Valid values are any of ["EBS", "RDS", "DynamoDB", "EC2MSSQL", "S3"].
	ProtectAssetTypesEnabled []*string `json:"protect_asset_types_enabled"`
	// The services to be enabled for this configuration. Valid values are
	// ["discover"], ["discover", "protect"]. This is only set when the
	// registration is created, the enabled services are obtained directly from
	// the installed template after that. (Deprecated as all connections will have
	// both discover and protect enabled)
	ServicesEnabled []*string `json:"services_enabled"`
}

CreateAwsConnectionV1Request represents a custom type struct

type CreateBackupAwsDynamodbTableV1Request added in v0.5.0

type CreateBackupAwsDynamodbTableV1Request struct {
	// Settings for requesting on-demand backup directly.
	Settings *OnDemandSetting `json:"settings"`
	// Performs the operation on the DynamoDB table with the specified Clumio-assigned ID.
	TableId *string `json:"table_id"`
	// The type of the backup. Possible values - `clumio_backup`, `aws_snapshot`. The
	// type will be assumed as `aws_snapshot` if the field is left empty.
	ClumioType *string `json:"type"`
}

CreateBackupAwsDynamodbTableV1Request represents a custom type struct

type CreateBackupAwsEbsVolumeV1Request

type CreateBackupAwsEbsVolumeV1Request struct {
	// Settings for requesting on-demand backup directly.
	Settings *OnDemandSetting `json:"settings"`
	// Performs the operation on the EBS volume with the specified Clumio-assigned ID.
	VolumeId *string `json:"volume_id"`
}

CreateBackupAwsEbsVolumeV1Request represents a custom type struct

type CreateBackupAwsEbsVolumeV2Request added in v0.8.0

type CreateBackupAwsEbsVolumeV2Request struct {
	// Settings for requesting on-demand backup directly.
	Settings *OnDemandSetting `json:"settings"`
	// The type of the backup. Possible values - `clumio_backup`, `aws_snapshot`. The
	// type will be assumed as `clumio_backup` if the field is left empty.
	ClumioType *string `json:"type"`
	// Performs the operation on the EBS volume with the specified Clumio-assigned ID.
	VolumeId *string `json:"volume_id"`
}

CreateBackupAwsEbsVolumeV2Request represents a custom type struct

type CreateBackupAwsEc2InstanceV1Request added in v0.9.0

type CreateBackupAwsEc2InstanceV1Request struct {
	// Performs the operation on the EC2 instance with the specified Clumio-assigned ID.
	InstanceId *string `json:"instance_id"`
	// Settings for requesting on-demand backup directly.
	Settings *OnDemandSetting `json:"settings"`
	// The type of the backup. Possible values - `clumio_backup`, `aws_snapshot`. The
	// type will be assumed as `clumio_backup` if the field is left empty.
	ClumioType *string `json:"type"`
}

CreateBackupAwsEc2InstanceV1Request represents a custom type struct

type CreateBackupEc2MssqlDatabaseV1Request added in v0.6.0

type CreateBackupEc2MssqlDatabaseV1Request struct {
	// Performs the operation on the MSSQL asset with the specified Clumio-assigned ID.
	AssetId *string `json:"asset_id"`
	// Settings for requesting on-demand backup directly.
	Settings *OnDemandSetting `json:"settings"`
	// The type of the backup.
	ClumioType *string `json:"type"`
}

CreateBackupEc2MssqlDatabaseV1Request represents a custom type struct

type CreateBackupMssqlDatabaseV1Request

type CreateBackupMssqlDatabaseV1Request struct {
	// Performs the operation on the Mssql asset with the specified Clumio-assigned ID.
	AssetId *string `json:"asset_id"`
	// Settings for requesting on-demand backup directly.
	Settings *OnDemandSetting `json:"settings"`
	// The type of the backup. Possible values - `mssql_database_backup`, `mssql_log_backup`.
	ClumioType *string `json:"type"`
}

CreateBackupMssqlDatabaseV1Request represents a custom type struct

type CreateBackupVmwareVmV1Request

type CreateBackupVmwareVmV1Request struct {
	// Settings for requesting on-demand backup directly.
	Settings *OnDemandSetting `json:"settings"`
	// Performs the operation on a VM within the specified vCenter server.
	VcenterId *string `json:"vcenter_id"`
	// Performs the operation on the VM with the specified VMware-assigned Managed Object Reference (MoRef) ID.
	VmId *string `json:"vm_id"`
}

CreateBackupVmwareVmV1Request represents a custom type struct

type CreateConnectionTemplateV1Request

type CreateConnectionTemplateV1Request struct {
	// The asset types for which the template is to be generated. Possible
	// asset types are ["EBS", "RDS", "DynamoDB", "EC2MSSQL", "S3"].
	AssetTypesEnabled []*string `json:"asset_types_enabled"`
	// Account ID for the AWS environment to be connected
	// Mandatory to pass a 12 digit string if show_manual_resources is set to true
	AwsAccountId *string `json:"aws_account_id"`
	// AWS Region of the AWS environment to be connected
	// Mandatory to pass a non-empty string if show_manual_resources is set to true
	AwsRegion *string `json:"aws_region"`
	// Returns the resources to be created manually if set to true
	ShowManualResources *bool `json:"show_manual_resources"`
}

CreateConnectionTemplateV1Request represents a custom type struct

type CreateEC2MSSQLDatabaseRestoreResponse added in v0.6.0

type CreateEC2MSSQLDatabaseRestoreResponse struct {
	// Embedded responses related to the resource.
	Embedded *ReadTaskHateoasOuterEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *CreateEC2MSSQLDatabaseRestoreResponseLinks `json:"_links"`
	// The Clumio-assigned ID of the task created by this restore request.
	// The progress of the task can be monitored using the
	// `GET /tasks/{task_id}` endpoint.
	TaskId *string `json:"task_id"`
}

CreateEC2MSSQLDatabaseRestoreResponse represents a custom type struct for Success

type CreateEC2MSSQLDatabaseRestoreResponseLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// A HATEOAS link to the task associated with this resource.
	ReadTask *ReadTaskHateoasLink `json:"read-task"`
}

CreateEC2MSSQLDatabaseRestoreResponseLinks represents a custom type struct. URLs to pages related to the resource.

type CreateHcmHostResponse

type CreateHcmHostResponse struct {
	// HateoasCommonLinks are the common fields for HATEOAS response.
	Links *HateoasCommonLinks `json:"_links"`
	// TODO: Add struct field description
	Hosts []*Host `json:"hosts"`
}

CreateHcmHostResponse represents a custom type struct for Success

type CreateHostECCredentialsResponse

type CreateHostECCredentialsResponse struct {
	// URLs to pages related to the resource.
	Links *HostLinks `json:"_links"`
	// The edge connector credentials for the host. This token is required during the installation of the MSI.
	EdgeConnectorCredentials *string `json:"edge_connector_credentials"`
	// The user-provided endpoint used to connect the host.
	Endpoint *string `json:"endpoint"`
	// The Clumio-assigned ID of the management group associated with the host.
	GroupId *string `json:"group_id"`
	// The Clumio-assigned ID of the Host.
	Id *string `json:"id"`
	// The timestamp of the last successful heartbeat of this host. Represented in RFC-3339 format.
	LastHeartbeatTimestamp *string `json:"last_heartbeat_timestamp"`
	// Name of the Host.
	Name *string `json:"name"`
	// The connection status of the Host. Possible values include `connected`, `disconnected`, `connection_pending`, and `invalid_token`.
	Status *string `json:"status"`
	// The Clumio-assigned ID of the management subgroup associated with the host.
	SubgroupId *string `json:"subgroup_id"`
	// The Clumio-assigned UUID of the host. This UUID is used for filtering hosts during list operations.
	Uuid *string `json:"uuid"`
}

CreateHostECCredentialsResponse represents a custom type struct for Success

type CreateMssqlDatabaseRestoreResponse

type CreateMssqlDatabaseRestoreResponse struct {
	// Embedded responses related to the resource.
	Embedded *ReadTaskHateoasOuterEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *ReadTaskHateoasLinks `json:"_links"`
}

CreateMssqlDatabaseRestoreResponse represents a custom type struct for Success

type CreateMssqlHostConnectionCredentialsV1Request

type CreateMssqlHostConnectionCredentialsV1Request struct {
	// Performs the operation on a host within the specified endpoint.
	Endpoint *string `json:"endpoint"`
	// TODO: Add struct field description
	GroupId *string `json:"group_id"`
	// Performs the operation on a host within the specified subgroup.
	SubgroupId *string `json:"subgroup_id"`
}

CreateMssqlHostConnectionCredentialsV1Request represents a custom type struct

type CreateMssqlHostConnectionsV1Request

type CreateMssqlHostConnectionsV1Request struct {
	// The fully-qualified domain names or IP addresses of hosts to be connected.
	Endpoints []*string `json:"endpoints"`
	// TODO: Add struct field description
	GroupId *string `json:"group_id"`
	// The Clumio-assigned ID of the organizational unit associated with the host.
	OrganizationalUnitId *string `json:"organizational_unit_id"`
	// Performs the operation on a host within the specified management subgroup.
	SubgroupId *string `json:"subgroup_id"`
}

CreateMssqlHostConnectionsV1Request represents a custom type struct

type CreateOnDemandEC2MSSQLDatabaseBackupResponseLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// A HATEOAS link to the task associated with this resource.
	ReadTask *ReadTaskHateoasLink `json:"read-task"`
}

CreateOnDemandEC2MSSQLDatabaseBackupResponseLinks represents a custom type struct. URLs to pages related to the resource.

type CreateOnDemandMSSQLDatabaseBackupResponseLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// A HATEOAS link to the task associated with this resource.
	ReadTask *ReadTaskHateoasLink `json:"read-task"`
}

CreateOnDemandMSSQLDatabaseBackupResponseLinks represents a custom type struct. URLs to pages related to the resource.

type CreateOrganizationalUnitNoTaskResponse added in v0.6.0

type CreateOrganizationalUnitNoTaskResponse struct {
	// URLs to pages related to the resource.
	Links *OULinks `json:"_links"`
	// Number of immediate children of the organizational unit.
	ChildrenCount *int64 `json:"children_count"`
	// Datasource types configured in this organizational unit. Possible values include `aws`, `microsoft365`, `vmware`, or `mssql`.
	ConfiguredDatasourceTypes []*string `json:"configured_datasource_types"`
	// List of all recursive descendant organizational units of this OU.
	DescendantIds []*string `json:"descendant_ids"`
	// A description of the organizational unit.
	Description *string `json:"description"`
	// The Clumio assigned ID of the organizational unit.
	Id *string `json:"id"`
	// Unique name assigned to the organizational unit.
	Name *string `json:"name"`
	// The Clumio assigned ID of the parent organizational unit.
	// The parent organizational unit contains the entities in this organizational unit and can update this organizational unit.
	// If this organizational unit is the global organizational unit, then this field has a value of `null`.
	ParentId *string `json:"parent_id"`
	// Number of users to whom this organizational unit or any of its descendants have been assigned.
	UserCount *int64 `json:"user_count"`
	// A user along with a role.
	Users []*UserWithRole `json:"users"`
}

CreateOrganizationalUnitNoTaskResponse represents a custom type struct for Success

type CreateOrganizationalUnitNoTaskResponseV1 added in v0.7.0

type CreateOrganizationalUnitNoTaskResponseV1 struct {
	// URLs to pages related to the resource.
	Links *OULinks `json:"_links"`
	// Number of immediate children of the organizational unit.
	ChildrenCount *int64 `json:"children_count"`
	// Datasource types configured in this organizational unit. Possible values include `aws`, `microsoft365`, `vmware`, or `mssql`.
	ConfiguredDatasourceTypes []*string `json:"configured_datasource_types"`
	// List of all recursive descendant organizational units of this OU.
	DescendantIds []*string `json:"descendant_ids"`
	// A description of the organizational unit.
	Description *string `json:"description"`
	// The Clumio assigned ID of the organizational unit.
	Id *string `json:"id"`
	// Unique name assigned to the organizational unit.
	Name *string `json:"name"`
	// The Clumio assigned ID of the parent organizational unit.
	// The parent organizational unit contains the entities in this organizational unit and can update this organizational unit.
	// If this organizational unit is the global organizational unit, then this field has a value of `null`.
	ParentId *string `json:"parent_id"`
	// Number of users to whom this organizational unit or any of its descendants have been assigned.
	UserCount *int64 `json:"user_count"`
	// Users IDs to whom the organizational unit has been assigned.
	// This attribute will be available when reading a single OU and not when listing OUs.
	Users []*string `json:"users"`
}

CreateOrganizationalUnitNoTaskResponseV1 represents a custom type struct for Success

type CreateOrganizationalUnitResponse

type CreateOrganizationalUnitResponse struct {
	// Embedded responses related to the resource.
	Embedded *EntityGroupEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *OrganizationalUnitLinks `json:"_links"`
	// Number of immediate children of the organizational unit.
	ChildrenCount *int64 `json:"children_count"`
	// Datasource types configured in this organizational unit. Possible values include `aws`, `microsoft365`, `vmware`, or `mssql`.
	ConfiguredDatasourceTypes []*string `json:"configured_datasource_types"`
	// List of all recursive descendant organizational units of this OU.
	DescendantIds []*string `json:"descendant_ids"`
	// A description of the organizational unit.
	Description *string `json:"description"`
	// The Clumio assigned ID of the organizational unit.
	Id *string `json:"id"`
	// Unique name assigned to the organizational unit.
	Name *string `json:"name"`
	// The Clumio assigned ID of the parent organizational unit.
	// The parent organizational unit contains the entities in this organizational unit and can update this organizational unit.
	// If this organizational unit is the global organizational unit, then this field has a value of `null`.
	ParentId *string `json:"parent_id"`
	// The Clumio-assigned ID of the task associated with this organizational unit.
	// The progress of the task can be monitored using the
	// [GET /tasks/{task_id}](#operation/read-task) endpoint.
	TaskId *string `json:"task_id"`
	// Number of users to whom this organizational unit or any of its descendants have been assigned.
	UserCount *int64 `json:"user_count"`
	// A user along with a role.
	Users []*UserWithRole `json:"users"`
}

CreateOrganizationalUnitResponse represents a custom type struct. Accepted

type CreateOrganizationalUnitResponseV1 added in v0.7.0

type CreateOrganizationalUnitResponseV1 struct {
	// Embedded responses related to the resource.
	Embedded *EntityGroupEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *OrganizationalUnitLinks `json:"_links"`
	// Number of immediate children of the organizational unit.
	ChildrenCount *int64 `json:"children_count"`
	// Datasource types configured in this organizational unit. Possible values include `aws`, `microsoft365`, `vmware`, or `mssql`.
	ConfiguredDatasourceTypes []*string `json:"configured_datasource_types"`
	// List of all recursive descendant organizational units of this OU.
	DescendantIds []*string `json:"descendant_ids"`
	// A description of the organizational unit.
	Description *string `json:"description"`
	// The Clumio assigned ID of the organizational unit.
	Id *string `json:"id"`
	// Unique name assigned to the organizational unit.
	Name *string `json:"name"`
	// The Clumio assigned ID of the parent organizational unit.
	// The parent organizational unit contains the entities in this organizational unit and can update this organizational unit.
	// If this organizational unit is the global organizational unit, then this field has a value of `null`.
	ParentId *string `json:"parent_id"`
	// The Clumio-assigned ID of the task associated with this organizational unit.
	// The progress of the task can be monitored using the
	// [GET /tasks/{task_id}](#operation/read-task) endpoint.
	TaskId *string `json:"task_id"`
	// Number of users to whom this organizational unit or any of its descendants have been assigned.
	UserCount *int64 `json:"user_count"`
	// Users IDs to whom the organizational unit has been assigned.
	// This attribute will be available when reading a single OU and not when listing OUs.
	Users []*string `json:"users"`
}

CreateOrganizationalUnitResponseV1 represents a custom type struct. Accepted

type CreateOrganizationalUnitResponseWrapper added in v0.6.0

type CreateOrganizationalUnitResponseWrapper struct {
	// HTTP status code of response
	StatusCode int
	// CreateOrganizationalUnitNoTaskResponse represents Success response of status code Http200
	Http200 *CreateOrganizationalUnitNoTaskResponse
	// CreateOrganizationalUnitResponse represents Success response of status code Http202
	Http202 *CreateOrganizationalUnitResponse
}

CreateOrganizationalUnitResponseWrapper represents a custom type struct wrapper for different success responses

type CreateOrganizationalUnitV1Request

type CreateOrganizationalUnitV1Request struct {
	// A description of the organizational unit.
	Description *string `json:"description"`
	// entityModel denotes the entityModel
	Entities []*EntityModel `json:"entities"`
	// Unique name assigned to the organizational unit.
	Name *string `json:"name"`
	// The Clumio-assigned ID of the parent organizational unit under which the new organizational unit is to be created.
	// If absent, the new organizational unit is created under the current organizational unit.
	ParentId *string `json:"parent_id"`
	// List of user IDs to assign this organizational unit.
	Users []*string `json:"users"`
}

CreateOrganizationalUnitV1Request represents a custom type struct

type CreateOrganizationalUnitV1ResponseWrapper added in v0.7.0

type CreateOrganizationalUnitV1ResponseWrapper struct {
	// HTTP status code of response
	StatusCode int
	// CreateOrganizationalUnitNoTaskResponseV1 represents Success response of status code Http200
	Http200 *CreateOrganizationalUnitNoTaskResponseV1
	// CreateOrganizationalUnitResponseV1 represents Success response of status code Http202
	Http202 *CreateOrganizationalUnitResponseV1
}

CreateOrganizationalUnitV1ResponseWrapper represents a custom type struct wrapper for different success responses

type CreateOrganizationalUnitV2Request added in v0.8.0

type CreateOrganizationalUnitV2Request struct {
	// A description of the organizational unit.
	Description *string `json:"description"`
	// entityModel denotes the entityModel
	Entities []*EntityModel `json:"entities"`
	// Unique name assigned to the organizational unit.
	Name *string `json:"name"`
	// The Clumio-assigned ID of the parent organizational unit under which the new organizational unit is to be created.
	// If absent, the new organizational unit is created under the current organizational unit.
	ParentId *string `json:"parent_id"`
	// A user along with a role.
	Users []*UserWithRole `json:"users"`
}

CreateOrganizationalUnitV2Request represents a custom type struct

type CreatePolicyDefinitionV1Request

type CreatePolicyDefinitionV1Request struct {
	// The status of the policy.
	// Refer to the Policy Activation Status table for a complete list of policy statuses.
	ActivationStatus *string `json:"activation_status"`
	// The user-provided name of the policy.
	Name *string `json:"name"`
	// TODO: Add struct field description
	Operations []*PolicyOperationInput `json:"operations"`
	// The Clumio-assigned ID of the organizational unit associated with the policy.
	OrganizationalUnitId *string `json:"organizational_unit_id"`
	// The policy-level timezone is deprecated, as the operation-level timezone should be used instead.
	// The timezone must be a valid location name from the IANA Time Zone database.
	// For instance, "America/New_York", "US/Central", "UTC".
	// Deprecated: true
	Timezone *string `json:"timezone"`
}

CreatePolicyDefinitionV1Request represents a custom type struct

type CreatePolicyResponse

type CreatePolicyResponse struct {
	// If the `embed` query parameter is set, displays the responses of the related resource,
	// as defined by the embeddable link specified.
	Embedded *PolicyEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *PolicyLinks `json:"_links"`
	// The status of the policy.
	// Refer to the Policy Activation Status table for a complete list of policy statuses.
	ActivationStatus *string `json:"activation_status"`
	// The created time of the policy in unix time.
	CreatedTime *int64 `json:"created_time"`
	// The Clumio-assigned ID of the policy.
	Id *string `json:"id"`
	// The following table describes the possible lock statuses of a policy.
	//
	// +----------+-------------------------------------------------------------------+
	// |  Status  |                            Description                            |
	// +==========+===================================================================+
	// | unlocked | Policies are unlocked until an update or deletion task is queued. |
	// +----------+-------------------------------------------------------------------+
	// | updating | During a policy edit, concurrent edits or deletion requests will  |
	// |          | be rejected.                                                      |
	// +----------+-------------------------------------------------------------------+
	// | deleting | During policy deletion, concurrent edits or deletion requests     |
	// |          | will be rejected.                                                 |
	// +----------+-------------------------------------------------------------------+
	//
	LockStatus *string `json:"lock_status"`
	// The user-provided name of the policy.
	Name *string `json:"name"`
	// TODO: Add struct field description
	Operations []*PolicyOperation `json:"operations"`
	// The Clumio-assigned ID of the organizational unit associated with the policy.
	OrganizationalUnitId *string `json:"organizational_unit_id"`
	// The policy-level timezone is deprecated, as the operation-level timezone should be used instead.
	// The timezone must be a valid location name from the IANA Time Zone database.
	// For instance, "America/New_York", "US/Central", "UTC".
	// Deprecated: true
	Timezone *string `json:"timezone"`
	// The updated time of the policy in unix time.
	UpdatedTime *int64 `json:"updated_time"`
}

CreatePolicyResponse represents a custom type struct for Success

type CreatePolicyRuleV1Request

type CreatePolicyRuleV1Request struct {
	// An action to be applied subject to the rule criteria.
	Action *RuleAction `json:"action"`
	// The following table describes the possible conditions for a rule.
	//
	// +-----------------------+---------------------------+--------------------------+
	// |         Field         |      Rule Condition       |       Description        |
	// +=======================+===========================+==========================+
	// | aws_account_native_id | $eq, $in                  | Denotes the AWS account  |
	// |                       |                           | to conditionalize on     |
	// |                       |                           |                          |
	// |                       |                           | {"aws_account_native_id" |
	// |                       |                           | :{"$eq":"111111111111"}} |
	// |                       |                           |                          |
	// |                       |                           |                          |
	// |                       |                           | {"aws_account_native_id" |
	// |                       |                           | :{"$in":["111111111111", |
	// |                       |                           | "222222222222"]}}        |
	// |                       |                           |                          |
	// |                       |                           |                          |
	// +-----------------------+---------------------------+--------------------------+
	// | aws_region            | $eq, $in                  | Denotes the AWS region   |
	// |                       |                           | to conditionalize on     |
	// |                       |                           |                          |
	// |                       |                           | {"aws_region":{"$eq":"us |
	// |                       |                           | -west-2"}}               |
	// |                       |                           |                          |
	// |                       |                           |                          |
	// |                       |                           | {"aws_region":{"$in":["u |
	// |                       |                           | s-west-2", "us-          |
	// |                       |                           | east-1"]}}               |
	// |                       |                           |                          |
	// |                       |                           |                          |
	// +-----------------------+---------------------------+--------------------------+
	// | aws_tag               | $eq, $in, $all, $contains | Denotes the AWS tag(s)   |
	// |                       |                           | to conditionalize on.    |
	// |                       |                           | Max 100 tags allowed in  |
	// |                       |                           | each rule                |
	// |                       |                           | and tag key can be upto  |
	// |                       |                           | 128 characters and value |
	// |                       |                           | can be upto 256          |
	// |                       |                           | characters long.         |
	// |                       |                           |                          |
	// |                       |                           | {"aws_tag":{"$eq":{"key" |
	// |                       |                           | :"Environment",          |
	// |                       |                           | "value":"Prod"}}}        |
	// |                       |                           |                          |
	// |                       |                           |                          |
	// |                       |                           | {"aws_tag":{"$in":[{"key |
	// |                       |                           | ":"Environment",         |
	// |                       |                           | "value":"Prod"},         |
	// |                       |                           | {"key":"Hello",          |
	// |                       |                           | "value":"World"}]}}      |
	// |                       |                           |                          |
	// |                       |                           |                          |
	// |                       |                           | {"aws_tag":{"$all":[{"ke |
	// |                       |                           | y":"Environment",        |
	// |                       |                           | "value":"Prod"},         |
	// |                       |                           | {"key":"Hello",          |
	// |                       |                           | "value":"World"}]}}      |
	// |                       |                           |                          |
	// |                       |                           |                          |
	// |                       |                           | {"aws_tag":{"$contains": |
	// |                       |                           | {"key":"Environment",    |
	// |                       |                           | "value":"Prod"}}}        |
	// |                       |                           |                          |
	// |                       |                           |                          |
	// +-----------------------+---------------------------+--------------------------+
	// | entity_type           | $eq, $in                  | Denotes the AWS entity   |
	// |                       |                           | type to conditionalize   |
	// |                       |                           | on. (Required)           |
	// |                       |                           |                          |
	// |                       |                           | {"entity_type":{"$eq":"a |
	// |                       |                           | ws_rds_instance"}}       |
	// |                       |                           |                          |
	// |                       |                           |                          |
	// |                       |                           | {"entity_type":{"$in":[" |
	// |                       |                           | aws_rds_instance",       |
	// |                       |                           | "aws_ebs_volume", "aws_e |
	// |                       |                           | c2_instance","aws_dynamo |
	// |                       |                           | db_table",               |
	// |                       |                           | "aws_rds_cluster"]}}     |
	// |                       |                           |                          |
	// |                       |                           |                          |
	// +-----------------------+---------------------------+--------------------------+
	//
	Condition *string `json:"condition"`
	// Name of the rule. Max 100 characters.
	Name *string `json:"name"`
	// A priority relative to other rules.
	Priority *RulePriority `json:"priority"`
}

CreatePolicyRuleV1Request represents a custom type struct

type CreateProtectionGroupInstantAccessEndpointV1Request added in v0.12.0

type CreateProtectionGroupInstantAccessEndpointV1Request struct {
	// The time that this endpoint expires at in RFC-3339 format.
	ExpiryTimestamp *string `json:"expiry_timestamp"`
	// The user-assigned name of the S3 instant access endpoint.
	Name *string `json:"name"`
	// The parameters for creating a S3 instant access endpoint.
	Source *S3InstantAccessSource `json:"source"`
}

CreateProtectionGroupInstantAccessEndpointV1Request represents a custom type struct

type CreateProtectionGroupResponse added in v0.1.2

type CreateProtectionGroupResponse struct {
	// Embedded responses related to the resource.
	Embedded interface{} `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *ProtectionGroupVersionLinks `json:"_links"`
	// The backup target AWS region associated with the protection group, empty if
	// in-region or not configured.
	BackupTargetAwsRegion *string `json:"backup_target_aws_region"`
	// Number of buckets
	BucketCount *int64 `json:"bucket_count"`
	// The following table describes the possible conditions for a bucket to be
	// automatically added to a protection group.
	//
	// +---------+----------------+---------------------------------------------------+
	// |  Field  | Rule Condition |                    Description                    |
	// +=========+================+===================================================+
	// | aws_tag | $eq            | Denotes the AWS tag(s) to conditionalize on       |
	// |         |                |                                                   |
	// |         |                | {"aws_tag":{"$eq":{"key":"Environment",           |
	// |         |                | "value":"Prod"}}}                                 |
	// |         |                |                                                   |
	// |         |                |                                                   |
	// +---------+----------------+---------------------------------------------------+
	//
	BucketRule *string `json:"bucket_rule"`
	// Creation time of the protection group in RFC-3339 format.
	CreatedTimestamp *string `json:"created_timestamp"`
	// The user-assigned description of the protection group.
	Description *string `json:"description"`
	// The Clumio-assigned ID of the protection group.
	Id *string `json:"id"`
	// Whether the protection group already has a backup target configured by a policy, or
	// is open to be protected by an in-region or out-of-region S3 policy.
	IsBackupTargetRegionConfigured *bool `json:"is_backup_target_region_configured"`
	// Determines whether the protection group is active or has been deleted. Deleted protection
	// groups may be purged after some time once there are no active backups associated with it.
	IsDeleted *bool `json:"is_deleted"`
	// Time of the last backup in RFC-3339 format.
	LastBackupTimestamp *string `json:"last_backup_timestamp"`
	// Time of the last successful continuous backup in RFC-3339 format.
	LastContinuousBackupTimestamp *string `json:"last_continuous_backup_timestamp"`
	// Modified time of the protection group in RFC-3339 format.
	ModifiedTimestamp *string `json:"modified_timestamp"`
	// The user-assigned name of the protection group.
	Name *string `json:"name"`
	// ObjectFilter
	// defines which objects will be backed up.
	ObjectFilter *ObjectFilter `json:"object_filter"`
	// The Clumio-assigned ID of the organizational unit associated with the Protection Group.
	OrganizationalUnitId *string `json:"organizational_unit_id"`
	// Cumulative count of all unexpired objects in each backup (any new or updated since
	// the last backup) that have been backed up as part of this protection group
	TotalBackedUpObjectCount *int64 `json:"total_backed_up_object_count"`
	// Cumulative size of all unexpired objects in each backup (any new or updated since
	// the last backup) that have been backed up as part of this protection group
	TotalBackedUpSizeBytes *int64 `json:"total_backed_up_size_bytes"`
	// Version of the protection group. The version number is incremented every time
	// a change is made to the protection group.
	Version *int64 `json:"version"`
}

CreateProtectionGroupResponse represents a custom type struct for Success

type CreateProtectionGroupV1Request added in v0.1.2

type CreateProtectionGroupV1Request struct {
	// The following table describes the possible conditions for a bucket to be
	// automatically added to a protection group.
	//
	// +---------+----------------+---------------------------------------------------+
	// |  Field  | Rule Condition |                    Description                    |
	// +=========+================+===================================================+
	// | aws_tag | $eq            | Denotes the AWS tag(s) to conditionalize on       |
	// |         |                |                                                   |
	// |         |                | {"aws_tag":{"$eq":{"key":"Environment",           |
	// |         |                | "value":"Prod"}}}                                 |
	// |         |                |                                                   |
	// |         |                |                                                   |
	// +---------+----------------+---------------------------------------------------+
	//
	BucketRule *string `json:"bucket_rule"`
	// The user-assigned description of the protection group.
	Description *string `json:"description"`
	// The user-assigned name of the protection group.
	Name *string `json:"name"`
	// ObjectFilter
	// defines which objects will be backed up.
	ObjectFilter *ObjectFilter `json:"object_filter"`
}

CreateProtectionGroupV1Request represents a custom type struct

type CreateRdsDatabaseRestoreResponseLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// A HATEOAS link to the task associated with this resource.
	ReadTask *ReadTaskHateoasLink `json:"read-task"`
}

CreateRdsDatabaseRestoreResponseLinks represents a custom type struct. URLs to pages related to the resource.

type CreateRdsResourceRestoreResponse added in v0.5.0

type CreateRdsResourceRestoreResponse struct {
	// Embedded responses related to the resource.
	Embedded *ReadTaskHateoasOuterEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *CreateRdsDatabaseRestoreResponseLinks `json:"_links"`
	// The Clumio-assigned ID of the task created by this restore request.
	// The progress of the task can be monitored using the `GET /tasks/{task_id}` endpoint.
	TaskId *string `json:"task_id"`
}

CreateRdsResourceRestoreResponse represents a custom type struct for Success

type CreateReportDownloadResponse

type CreateReportDownloadResponse struct {
	// _links provides URLs to the related resources of a report CSV download
	Links *ReportDownloadLinks `json:"_links"`
	// The Clumio-assigned ID of the task created by the request.
	// The progress of the task can be monitored using the
	// [`GET /tasks/{task_id}`](#operation/list-tasks) endpoint.
	TaskId *string `json:"task_id"`
}

CreateReportDownloadResponse represents a custom type struct for Success

type CreateReportDownloadV1Request

type CreateReportDownloadV1Request struct {
	// The name of the report. Field cannot be empty.
	FileName *string `json:"file_name"`
	//
	// +-------------------+------------------+-------------------+-------------------+
	// |       Field       | Filter Condition |    Report Type    |    Description    |
	// +===================+==================+===================+===================+
	// | backup_timestamp  | $gte, $lt, $eq   | Compliance        | Backup timestamp  |
	// |                   |                  |                   | denotes the time  |
	// |                   |                  |                   | filter for        |
	// |                   |                  |                   | Compliance        |
	// |                   |                  |                   | reports.          |
	// |                   |                  |                   | $gte and $lt      |
	// |                   |                  |                   | accept RFC-3339   |
	// |                   |                  |                   | timestamps and    |
	// |                   |                  |                   | $eq accepts a     |
	// |                   |                  |                   | unix timestamp    |
	// |                   |                  |                   | denoting the      |
	// |                   |                  |                   | offset from the   |
	// |                   |                  |                   | current time. $eq |
	// |                   |                  |                   | takes precedence  |
	// |                   |                  |                   | over both         |
	// |                   |                  |                   | $gte and $lt so   |
	// |                   |                  |                   | if $eq is used,   |
	// |                   |                  |                   | the backend will  |
	// |                   |                  |                   | use the relative  |
	// |                   |                  |                   | time              |
	// |                   |                  |                   | filter instead of |
	// |                   |                  |                   | absolute time     |
	// |                   |                  |                   | filters. For      |
	// |                   |                  |                   | example,          |
	// |                   |                  |                   |                   |
	// |                   |                  |                   | "filter":"{"backu |
	// |                   |                  |                   | p_timestamp":{"$e |
	// |                   |                  |                   | q":86400}}"       |
	// |                   |                  |                   |                   |
	// |                   |                  |                   |                   |
	// +-------------------+------------------+-------------------+-------------------+
	// | activity_start_ti | $gte, $lt, $eq   | Activity          | Activity start    |
	// | mestamp           |                  |                   | timestamp denotes |
	// |                   |                  |                   | the time filter   |
	// |                   |                  |                   | for Activity      |
	// |                   |                  |                   | reports.          |
	// |                   |                  |                   | $gte and $lt      |
	// |                   |                  |                   | accept RFC-3339   |
	// |                   |                  |                   | timestamps and    |
	// |                   |                  |                   | $eq accepts a     |
	// |                   |                  |                   | unix timestamp    |
	// |                   |                  |                   | denoting the      |
	// |                   |                  |                   | offset from the   |
	// |                   |                  |                   | current time. $eq |
	// |                   |                  |                   | takes precedence  |
	// |                   |                  |                   | over both         |
	// |                   |                  |                   | $gte and $lt so   |
	// |                   |                  |                   | if $eq is used,   |
	// |                   |                  |                   | the backend will  |
	// |                   |                  |                   | use the relative  |
	// |                   |                  |                   | time filter       |
	// |                   |                  |                   | instead of        |
	// |                   |                  |                   | absolute time     |
	// |                   |                  |                   | filters.For       |
	// |                   |                  |                   | example,          |
	// |                   |                  |                   |                   |
	// |                   |                  |                   | "filter":"{"activ |
	// |                   |                  |                   | ity_start_timesta |
	// |                   |                  |                   | mp":{"$eq":86400} |
	// |                   |                  |                   | }"                |
	// |                   |                  |                   |                   |
	// |                   |                  |                   |                   |
	// +-------------------+------------------+-------------------+-------------------+
	// | timestamp         | $gte, $lte, $eq  | Consumption       | timestamp denotes |
	// |                   |                  |                   | the time filter   |
	// |                   |                  |                   | for Consumption   |
	// |                   |                  |                   | reports.          |
	// |                   |                  |                   | $gte and $lte     |
	// |                   |                  |                   | accept RFC-3339   |
	// |                   |                  |                   | timestamps and    |
	// |                   |                  |                   | $eq accepts a     |
	// |                   |                  |                   | duration in       |
	// |                   |                  |                   | seconds           |
	// |                   |                  |                   | denoting the      |
	// |                   |                  |                   | offset from the   |
	// |                   |                  |                   | current time. $eq |
	// |                   |                  |                   | takes precedence  |
	// |                   |                  |                   | over both         |
	// |                   |                  |                   | $gte and $lte so  |
	// |                   |                  |                   | if $eq is used,   |
	// |                   |                  |                   | the backend will  |
	// |                   |                  |                   | use the relative  |
	// |                   |                  |                   | time filter       |
	// |                   |                  |                   | instead of        |
	// |                   |                  |                   | absolute time     |
	// |                   |                  |                   | filters.          |
	// |                   |                  |                   |                   |
	// |                   |                  |                   | "filter": "{\"tim |
	// |                   |                  |                   | estamp\":{\"$gte\ |
	// |                   |                  |                   | ":\"2022-07-      |
	// |                   |                  |                   | 27T14:35:33.735Z\ |
	// |                   |                  |                   | ",\"$lte\":\"2022 |
	// |                   |                  |                   | -08-              |
	// |                   |                  |                   | 03T14:35:33.735Z\ |
	// |                   |                  |                   | "}}"              |
	// |                   |                  |                   |                   |
	// |                   |                  |                   |                   |
	// +-------------------+------------------+-------------------+-------------------+
	// | organizational_un | $in              | Consumption       | Organizational    |
	// | it_id             |                  |                   | Unit ID (OU ID)   |
	// |                   |                  |                   | filters the       |
	// |                   |                  |                   | consumption data  |
	// |                   |                  |                   | generated for the |
	// |                   |                  |                   | report to the     |
	// |                   |                  |                   | given OU IDs and  |
	// |                   |                  |                   | its children.     |
	// |                   |                  |                   |                   |
	// |                   |                  |                   | "filter": "{\"org |
	// |                   |                  |                   | anizational_unit_ |
	// |                   |                  |                   | id\":{\"$in\":[\" |
	// |                   |                  |                   | 00000000-0000-    |
	// |                   |                  |                   | 0000-0000-        |
	// |                   |                  |                   | 000000000000\"]}} |
	// |                   |                  |                   | "                 |
	// |                   |                  |                   |                   |
	// |                   |                  |                   |                   |
	// +-------------------+------------------+-------------------+-------------------+
	// | entity_type       | $in              | Consumption       |                   |
	// |                   |                  |                   | Entity type       |
	// |                   |                  |                   | filters the       |
	// |                   |                  |                   | consumption data  |
	// |                   |                  |                   | generated for the |
	// |                   |                  |                   | report to the     |
	// |                   |                  |                   | given entity      |
	// |                   |                  |                   | types.            |
	// |                   |                  |                   | If filter is      |
	// |                   |                  |                   | empty, it shows   |
	// |                   |                  |                   | consumption       |
	// |                   |                  |                   | report of the all |
	// |                   |                  |                   | entity types.     |
	// |                   |                  |                   |                   |
	// |                   |                  |                   | filter={"entity_t |
	// |                   |                  |                   | ype":{"$in":["Loc |
	// |                   |                  |                   | alProtectionGroup |
	// |                   |                  |                   | , DynamoDB"]}}    |
	// |                   |                  |                   |                   |
	// |                   |                  |                   |                   |
	// +-------------------+------------------+-------------------+-------------------+
	// | task              | $in              | Activity          |  Possible values  |
	// |                   |                  |                   | for task include  |
	// |                   |                  |                   | backup and        |
	// |                   |                  |                   | restore.          |
	// |                   |                  |                   | For example,      |
	// |                   |                  |                   |                   |
	// |                   |                  |                   | "filter":"{"task" |
	// |                   |                  |                   | :{"$in":["ebs_inc |
	// |                   |                  |                   | remental_backup"] |
	// |                   |                  |                   | }}"               |
	// |                   |                  |                   |                   |
	// |                   |                  |                   |                   |
	// +-------------------+------------------+-------------------+-------------------+
	// | status            | $in              | Activity,         |  Filter on        |
	// |                   |                  | Compliance        | compliance status |
	// |                   |                  |                   | of entity.        |
	// |                   |                  |                   | Possible values   |
	// |                   |                  |                   | for compliance    |
	// |                   |                  |                   | status            |
	// |                   |                  |                   | include compliant |
	// |                   |                  |                   | and non_compliant |
	// |                   |                  |                   | For example,      |
	// |                   |                  |                   |                   |
	// |                   |                  |                   | "filter": "{"stat |
	// |                   |                  |                   | us":{"$in":["non_ |
	// |                   |                  |                   | compliant"]}}"    |
	// |                   |                  |                   |                   |
	// |                   |                  |                   |                   |
	// +-------------------+------------------+-------------------+-------------------+
	// | primary_entity.id | $in              | Any               | The system-       |
	// |                   |                  |                   | generated IDs of  |
	// |                   |                  |                   | the primary       |
	// |                   |                  |                   | entities affected |
	// |                   |                  |                   | by the activity.  |
	// |                   |                  |                   | For example,      |
	// |                   |                  |                   |                   |
	// |                   |                  |                   | filter={"primary_ |
	// |                   |                  |                   | entity.id":{"$in" |
	// |                   |                  |                   | :["9c2934fc-ff4d- |
	// |                   |                  |                   | 11e9-8e11-        |
	// |                   |                  |                   | 76706df7fe01"]}}  |
	// |                   |                  |                   |                   |
	// |                   |                  |                   |                   |
	// +-------------------+------------------+-------------------+-------------------+
	// | primary_entity.ty | $eq              | Any               | The type of       |
	// | pe                |                  |                   | primary entities  |
	// |                   |                  |                   | affected by the   |
	// |                   |                  |                   | activity.         |
	// |                   |                  |                   | Examples of       |
	// |                   |                  |                   | primary entity    |
	// |                   |                  |                   | types include     |
	// |                   |                  |                   | "aws_ebs_volume", |
	// |                   |                  |                   | "vmware_vm",      |
	// |                   |                  |                   | "microsoft365_mai |
	// |                   |                  |                   | lbox". For        |
	// |                   |                  |                   | example,          |
	// |                   |                  |                   |                   |
	// |                   |                  |                   | filter={"primary_ |
	// |                   |                  |                   | entity.type":{"$i |
	// |                   |                  |                   | n":["aws_ebs_volu |
	// |                   |                  |                   | me"]}}            |
	// |                   |                  |                   |                   |
	// |                   |                  |                   |                   |
	// +-------------------+------------------+-------------------+-------------------+
	// | primary_entity.va | $in              | Any               | The value or name |
	// | lue               |                  |                   | associated with   |
	// |                   |                  |                   | the primary       |
	// |                   |                  |                   | entities affected |
	// |                   |                  |                   | by                |
	// |                   |                  |                   | the compliance    |
	// |                   |                  |                   | event. For        |
	// |                   |                  |                   | example, the      |
	// |                   |                  |                   | primary entity    |
	// |                   |                  |                   | value associated  |
	// |                   |                  |                   | with              |
	// |                   |                  |                   | primary entity    |
	// |                   |                  |                   | type              |
	// |                   |                  |                   | "aws_ebs_volume"  |
	// |                   |                  |                   | is "vol-          |
	// |                   |                  |                   | 0a5f2e52d6decd664 |
	// |                   |                  |                   | " representing    |
	// |                   |                  |                   | the name of the   |
	// |                   |                  |                   | EBS volume. The   |
	// |                   |                  |                   | filter supports   |
	// |                   |                  |                   | substring search  |
	// |                   |                  |                   | for all           |
	// |                   |                  |                   | elements in the   |
	// |                   |                  |                   | array For         |
	// |                   |                  |                   | example,          |
	// |                   |                  |                   |                   |
	// |                   |                  |                   | filter={"primary_ |
	// |                   |                  |                   | entity.value":{"$ |
	// |                   |                  |                   | in":["vol-0a"]}}  |
	// |                   |                  |                   |                   |
	// |                   |                  |                   |                   |
	// +-------------------+------------------+-------------------+-------------------+
	// | parent_entity.typ | $in              | Any               |  The types of the |
	// | e                 |                  |                   | parent entities   |
	// |                   |                  |                   | which are         |
	// |                   |                  |                   | associated        |
	// |                   |                  |                   | with the primary  |
	// |                   |                  |                   | entity affected   |
	// |                   |                  |                   | by the activity.  |
	// |                   |                  |                   | Examples of the   |
	// |                   |                  |                   | parent entity     |
	// |                   |                  |                   | types include     |
	// |                   |                  |                   | "vmware_vcenter", |
	// |                   |                  |                   | "aws_environment" |
	// |                   |                  |                   | , "microsoft365_d |
	// |                   |                  |                   | omain". For       |
	// |                   |                  |                   | example,          |
	// |                   |                  |                   |                   |
	// |                   |                  |                   | filter={"parent_e |
	// |                   |                  |                   | ntity.type":{"$in |
	// |                   |                  |                   | ":["aws_environme |
	// |                   |                  |                   | nt"]}}            |
	// |                   |                  |                   |                   |
	// |                   |                  |                   |                   |
	// +-------------------+------------------+-------------------+-------------------+
	// | parent_entity.id  | $in              | Any               |                   |
	// |                   |                  |                   | The value or name |
	// |                   |                  |                   | associated with   |
	// |                   |                  |                   | the parent        |
	// |                   |                  |                   | entities affected |
	// |                   |                  |                   | by                |
	// |                   |                  |                   | the compliance    |
	// |                   |                  |                   | event. For        |
	// |                   |                  |                   | example, the      |
	// |                   |                  |                   | parent entity     |
	// |                   |                  |                   | value associated  |
	// |                   |                  |                   | with              |
	// |                   |                  |                   | primary entity    |
	// |                   |                  |                   | type              |
	// |                   |                  |                   | "aws_ebs_volume"  |
	// |                   |                  |                   | is                |
	// |                   |                  |                   | "891106093485/us- |
	// |                   |                  |                   | west-2"           |
	// |                   |                  |                   | representing      |
	// |                   |                  |                   | the name of the   |
	// |                   |                  |                   | AWS Account       |
	// |                   |                  |                   | Region. For       |
	// |                   |                  |                   | example,          |
	// |                   |                  |                   |                   |
	// |                   |                  |                   | filter={"parent_e |
	// |                   |                  |                   | ntity.id":{"$in": |
	// |                   |                  |                   | ["9c2934fc-ff4d-  |
	// |                   |                  |                   | 11e9-8e11-        |
	// |                   |                  |                   | 76706df7fe01"]}}  |
	// |                   |                  |                   |                   |
	// |                   |                  |                   |                   |
	// +-------------------+------------------+-------------------+-------------------+
	//
	// For more information about filtering, refer to the
	// Filtering section of this guide.
	Filter *string `json:"filter"`
	// The report type. Examples of report types include, "activity",
	// "compliance", "audit", and "consumption".
	ClumioType *string `json:"type"`
}

CreateReportDownloadV1Request represents a custom type struct

type CreateRestoreRecordResponseLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// A HATEOAS link to the task associated with this resource.
	ReadTask *ReadTaskHateoasLink `json:"read-task"`
}

CreateRestoreRecordResponseLinks represents a custom type struct. URLs to pages related to the resource.

type CreateRuleResponse

type CreateRuleResponse struct {
	// URLs to pages related to the resource.
	Links *CreateRuleResponseLinks `json:"_links"`
	// A rule applies an action subject to a condition criteria.
	Rule *Rule `json:"rule"`
	// The Clumio-assigned ID of the task generated by this request.
	TaskId *string `json:"task_id"`
}

CreateRuleResponse represents a custom type struct for Success

type CreateRuleResponseLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// A HATEOAS link to the task associated with this resource.
	ReadTask *ReadTaskHateoasLink `json:"read-task"`
}

CreateRuleResponseLinks represents a custom type struct. URLs to pages related to the resource.

type CreateS3InstantAccessEndpointResponse added in v0.12.0

type CreateS3InstantAccessEndpointResponse struct {
	// Embedded responses related to the resource.
	Embedded *CreateS3InstantAccessEndpointResponseEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *CreateS3InstantAccessEndpointResponseLinks `json:"_links"`
	// The Clumio-assigned ID of the S3 instant access endpoint.
	Id *string `json:"id"`
	// The Clumio-assigned ID of the task created by this instant access creation request.
	// The progress of the task can be monitored using the `GET /tasks/{task_id}` endpoint.
	TaskId *string `json:"task_id"`
}

CreateS3InstantAccessEndpointResponse represents a custom type struct for Success

type CreateS3InstantAccessEndpointResponseEmbedded added in v0.12.0

type CreateS3InstantAccessEndpointResponseEmbedded struct {
	// Embeds the associated task of a resource in the response if requested using the `embed` query parameter.
	ReadTask interface{} `json:"read-task"`
}

CreateS3InstantAccessEndpointResponseEmbedded represents a custom type struct. Embedded responses related to the resource.

type CreateS3InstantAccessEndpointResponseLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// URL to the detailed information of the instant access endpoint
	ReadProtectionGroupInstantAccessEndpoint interface{} `json:"read-protection-group-instant-access-endpoint"`
	// A HATEOAS link to the task associated with this resource.
	ReadTask *ReadTaskHateoasLink `json:"read-task"`
}

CreateS3InstantAccessEndpointResponseLinks represents a custom type struct. URLs to pages related to the resource.

type CreateUserResponse

type CreateUserResponse struct {
	// Embedded responses related to the resource.
	Embedded *UserEmbedded `json:"_embedded"`
	// ETag value
	Etag *string `json:"_etag"`
	// URLs to pages related to the resource.
	Links *UserLinks `json:"_links"`
	// The organizational units assigned to the user, with the specified role.
	AccessControlConfiguration []*RoleForOrganizationalUnits `json:"access_control_configuration"`
	// The email address of the Clumio user.
	Email *string `json:"email"`
	// The first and last name of the Clumio user. The name appears in the User Management screen and is used to identify the user.
	FullName *string `json:"full_name"`
	// The Clumio-assigned ID of the Clumio user.
	Id *string `json:"id"`
	// The ID number of the user who sent the email invitation.
	Inviter *string `json:"inviter"`
	// Determines whether the user has activated their Clumio account.
	// If `true`, the user has activated the account.
	IsConfirmed *bool `json:"is_confirmed"`
	// Determines whether the user is enabled (in "Activated" or "Invited" status) in Clumio.
	// If `true`, the user is in "Activated" or "Invited" status in Clumio.
	// Users in "Activated" status can log in to Clumio.
	// Users in "Invited" status have been invited to log in to Clumio via an email invitation and the invitation
	// is pending acceptance from the user.
	// If `false`, the user has been manually suspended and cannot log in to Clumio
	// until another Clumio user reactivates the account.
	IsEnabled *bool `json:"is_enabled"`
	// The timestamp of when the user was last active in the Clumio system. Represented in RFC-3339 format.
	LastActivityTimestamp *string `json:"last_activity_timestamp"`
	// The number of organizational units accessible to the user.
	OrganizationalUnitCount *int64 `json:"organizational_unit_count"`
}

CreateUserResponse represents a custom type struct for Success

type CreateUserResponseV1 added in v0.6.0

type CreateUserResponseV1 struct {
	// Embedded responses related to the resource.
	Embedded *UserEmbeddedV1 `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *UserLinks `json:"_links"`
	// The list of organizational unit IDs assigned to the user.
	// This attribute will be available when reading a single user and not when listing users.
	AssignedOrganizationalUnitIds []*string `json:"assigned_organizational_unit_ids"`
	// Assigned Role for the user.
	AssignedRole *string `json:"assigned_role"`
	// The email address of the Clumio user.
	Email *string `json:"email"`
	// The first and last name of the Clumio user. The name appears in the User Management screen and is used to identify the user.
	FullName *string `json:"full_name"`
	// The Clumio-assigned ID of the Clumio user.
	Id *string `json:"id"`
	// The ID number of the user who sent the email invitation.
	Inviter *string `json:"inviter"`
	// Determines whether the user has activated their Clumio account.
	// If `true`, the user has activated the account.
	IsConfirmed *bool `json:"is_confirmed"`
	// Determines whether the user is enabled (in "Activated" or "Invited" status) in Clumio.
	// If `true`, the user is in "Activated" or "Invited" status in Clumio.
	// Users in "Activated" status can log in to Clumio.
	// Users in "Invited" status have been invited to log in to Clumio via an email invitation and the invitation
	// is pending acceptance from the user.
	// If `false`, the user has been manually suspended and cannot log in to Clumio
	// until another Clumio user reactivates the account.
	IsEnabled *bool `json:"is_enabled"`
	// The timestamp of when the user was last active in the Clumio system. Represented in RFC-3339 format.
	LastActivityTimestamp *string `json:"last_activity_timestamp"`
	// The number of organizational units accessible to the user.
	OrganizationalUnitCount *int64 `json:"organizational_unit_count"`
}

CreateUserResponseV1 represents a custom type struct for Success

type CreateUserV1Request

type CreateUserV1Request struct {
	// The Clumio-assigned ID of the role to assign to the user.
	// The available roles can be retrieved via the [GET /roles](#operation/list-roles) API.
	// When not set, the role is determined as follows
	//
	// +-------------+---------------------------+----------------+
	// |   Inviter   |       Assigned OUs        | Resulting Role |
	// +=============+===========================+================+
	// | Super Admin | Global OU is assigned     | Super Admin    |
	// +-------------+---------------------------+----------------+
	// | Super Admin | Global OU is not assigned | OU Admin       |
	// +-------------+---------------------------+----------------+
	// | OU Admin    | Any                       | OU Admin       |
	// +-------------+---------------------------+----------------+
	//
	AssignedRole *string `json:"assigned_role"`
	// The email address of the user to be added to Clumio.
	Email *string `json:"email"`
	// The full name of the user to be added to Clumio. For example, type the user's first name and last name.
	// The name displays on the User Management screen and in the body of the email invitation.
	FullName *string `json:"full_name"`
	// The Clumio-assigned IDs of the organizational units to be assigned to the user.
	OrganizationalUnitIds []*string `json:"organizational_unit_ids"`
}

CreateUserV1Request represents a custom type struct

type CreateUserV2Request added in v0.8.0

type CreateUserV2Request struct {
	// The organizational units assigned to the user, with the specified role.
	AccessControlConfiguration []*RoleForOrganizationalUnits `json:"access_control_configuration"`
	// The email address of the user to be added to Clumio.
	Email *string `json:"email"`
	// The full name of the user to be added to Clumio. For example, type the user's first name and last name.
	// The name displays on the User Management screen and in the body of the email invitation.
	FullName *string `json:"full_name"`
}

CreateUserV2Request represents a custom type struct

type CreateWalletResponse added in v0.2.7

type CreateWalletResponse struct {
	// Embedded responses related to the resource.
	Embedded interface{} `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *WalletLinks `json:"_links"`
	// AWS Account ID associated with the wallet.
	AccountNativeId *string `json:"account_native_id"`
	// Version of the template available
	AvailableVersion *int64 `json:"available_version"`
	// Clumio AWS Account ID.
	ClumioAwsAccountId *string `json:"clumio_aws_account_id"`
	// DeploymentURL is an (external) link to an AWS console page for quick-creation
	// of the stack.
	DeploymentUrl *string `json:"deployment_url"`
	// ErrorCode is a short string describing the error, if any.
	ErrorCode *string `json:"error_code"`
	// ErrorMessage is a longer description explaining the error, if any, and how to
	// fix it.
	ErrorMessage *string `json:"error_message"`
	// The Clumio-assigned ID of the wallet.
	Id *string `json:"id"`
	// The regions where the wallet is installed.
	InstalledRegions []*string `json:"installed_regions"`
	// TODO: Add struct field description
	KeyErrors map[string]*ErrorModel `json:"key_errors"`
	// RoleArn is the AWS Resource Name of the IAM Role created by the stack.
	RoleArn *string `json:"role_arn"`
	// The version of the stack used or being used.
	StackVersion *int64 `json:"stack_version"`
	// State describes the state of the wallet. Valid states are:
	// Waiting: The wallet has been created, but a stack hasn't been created. The
	// wallet can't be used in this state.
	// Enabled: The wallet has been created and a stack has been created for the
	// wallet. This is the normal expected state of a wallet in use.
	// Error:   The wallet is inaccessible. See ErrorCode and ErrorMessage fields for
	// additional details.
	State *string `json:"state"`
	// The supported regions for the wallet.
	SupportedRegions []*string `json:"supported_regions"`
	// TemplateURL is the URL to the CloudFormation template to be used to create the
	// CloudFormation stack.
	TemplateUrl *string `json:"template_url"`
	// Token is used to identify and authenticate the CloudFormation stack creation.
	Token *string `json:"token"`
}

CreateWalletResponse represents a custom type struct for Success

type CreateWalletV1Request added in v0.2.7

type CreateWalletV1Request struct {
	// AWS Account ID to associate with the wallet.
	AccountNativeId *string `json:"account_native_id"`
}

CreateWalletV1Request represents a custom type struct

type DataAccessObject

type DataAccessObject struct {
	// The details used to access the restored file if it was shared by direct download. If
	// the restored file was shared by email (and not by direct download), then this field
	// has a value of `null`.
	DirectDownload *DirectDownloadDataAccessObject `json:"direct_download"`
	// The details used to access the restored file, if it was shared by email. If the
	// restored file was shared by direct download (and not email), then this field has a
	// value of `null`.
	Email *EmailDownloadDataAccessObject `json:"email"`
}

DataAccessObject represents a custom type struct. Specifies information about the data-access method for accessing the restored file.

type DatabaseLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// A resource-specific HATEOAS link.
	CreateBackupMssqlDatabase *HateoasLink `json:"create-backup-mssql-database"`
	// A resource-specific HATEOAS link.
	ListBackupMssqlDatabases *HateoasLink `json:"list-backup-mssql-databases"`
	// A resource-specific HATEOAS link.
	ReadManagementGroup *HateoasLink `json:"read-management-group"`
	// A resource-specific HATEOAS link.
	ReadManagementSubgroup *HateoasLink `json:"read-management-subgroup"`
}

DatabaseLinks represents a custom type struct. URLs to pages related to the resource.

type DatacenterEmbedded

type DatacenterEmbedded struct {
	// Embeds the associated policy of a protected resource in the response if requested using the `embed` query parameter. Unprotected resources will not have an associated policy.
	ReadPolicyDefinition interface{} `json:"read-policy-definition"`
	// Embeds the compliance statistics of VMs into each vCenter resource in the response, if requested using the `_embed` query parameter.
	ReadVmwareVcenterDatacenterComplianceStats interface{} `json:"read-vmware-vcenter-datacenter-compliance-stats"`
}

DatacenterEmbedded represents a custom type struct. Embedded responses related to the resource.

type DatacenterLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// A HATEOAS link to protect the entities.
	ProtectEntities *ProtectEntitiesHateoasLink `json:"protect-entities"`
	// A HATEOAS link to the policy protecting this resource. Will be omitted for unprotected entities.
	ReadPolicyDefinition *ReadPolicyDefinitionHateoasLink `json:"read-policy-definition"`
	// A HATEOAS link to the compliance statistics of VMs in the folders and subfolders of this vCenter resource.
	ReadVmwareVcenterDatacenterComplianceStats *ReadVCenterObjectProtectionStatsHateoasLink `json:"read-vmware-vcenter-datacenter-compliance-stats"`
	// A HATEOAS link to unprotect the entities.
	UnprotectEntities *UnprotectEntitiesHateoasLink `json:"unprotect-entities"`
}

DatacenterLinks represents a custom type struct. URLs to pages related to the resource.

type DatacenterListEmbedded

type DatacenterListEmbedded struct {
	// DatacenterWithETag to support etag string to be calculated
	Items []*DatacenterWithETag `json:"items"`
}

DatacenterListEmbedded represents a custom type struct. Embedded responses related to the resource.

type DatacenterListLinks struct {
	// The HATEOAS link to the first page of results.
	First *HateoasFirstLink `json:"_first"`
	// The HATEOAS link to the last page of results.
	Last *HateoasLastLink `json:"_last"`
	// The HATEOAS link to the next page of results.
	Next *HateoasNextLink `json:"_next"`
	// The HATEOAS link to the previous page of results.
	Prev *HateoasPrevLink `json:"_prev"`
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

DatacenterListLinks represents a custom type struct. URLs to pages related to the resource.

type DatacenterWithETag

type DatacenterWithETag struct {
	// Embedded responses related to the resource.
	Embedded *DatacenterEmbedded `json:"_embedded"`
	// The ETag value.
	Etag *string `json:"_etag"`
	// URLs to pages related to the resource.
	Links *DatacenterLinks `json:"_links"`
	// TODO: Add struct field description
	AncestorRefs []*AncestorRefModel `json:"ancestor_refs"`
	// The data center folder in which the data center resides.
	DatacenterFolder *VMwareDatacenterFolderIDModel `json:"datacenter_folder"`
	// Determines whether compute resources exist directly under the hidden root compute resource folder. If `true`, then compute resources exist directly under the root compute resource folder.
	HasComputeResources *bool `json:"has_compute_resources"`
	// Determines whether VMs exist directly under the hidden root VM folder. If `true`, then VMs exist directly under the root VM folder.
	HasVmFolders *bool `json:"has_vm_folders"`
	// The VMware-assigned Managed Object Reference (MoRef) ID of the data center.
	Id *string `json:"id"`
	// The VMware-assigned name of this data center.
	Name *string `json:"name"`
	// The Clumio-assigned ID of the organizational unit associated with the datacenter.
	OrganizationalUnitId *string `json:"organizational_unit_id"`
	// The protection policy applied to this resource. If the resource is not protected, then this field has a value of `null`.
	ProtectionInfo *ProtectionInfo `json:"protection_info"`
	// The protection status of this data center. Refer to the Protection Status table for a complete list of protection statuses.
	ProtectionStatus *string `json:"protection_status"`
	// The hidden root compute resource folder of the data center.
	RootComputeResourceFolder *VMwareRootComputeResourceFolderIDModel `json:"root_compute_resource_folder"`
	// The hidden root virtual machine folder of the data center.
	RootVmFolder *VMwareRootVMFolderIDModel `json:"root_vm_folder"`
}

DatacenterWithETag represents a custom type struct. DatacenterWithETag to support etag string to be calculated

type DeleteBucketFromProtectionGroupResponse added in v0.1.2

type DeleteBucketFromProtectionGroupResponse struct {
	// The AWS-assigned ID of the account associated with the DynamoDB table.
	AccountNativeId *string `json:"account_native_id"`
	// Whether this bucket was added to this protection group by the bucket rule
	AddedByBucketRule *bool `json:"added_by_bucket_rule"`
	// Whether this bucket was added to this protection group by the user
	AddedByUser *bool `json:"added_by_user"`
	// The AWS region associated with the DynamoDB table.
	AwsRegion *string `json:"aws_region"`
	// The backup target AWS region associated with the protection group S3 asset.
	BackupTargetAwsRegion *string `json:"backup_target_aws_region"`
	// The Clumio-assigned ID of the bucket
	BucketId *string `json:"bucket_id"`
	// The name of the bucket
	BucketName *string `json:"bucket_name"`
	// Creation time of the protection group in RFC-3339 format.
	CreatedTimestamp *string `json:"created_timestamp"`
	// The Clumio-assigned ID of the AWS environment associated with the protection group.
	EnvironmentId *string `json:"environment_id"`
	// The Clumio-assigned ID of the protection group
	GroupId *string `json:"group_id"`
	// The name of the protection group
	GroupName *string `json:"group_name"`
	// The Clumio-assigned ID that represents the bucket within the protection group.
	Id *string `json:"id"`
	// Determines whether the protection group bucket has been deleted
	IsDeleted *bool `json:"is_deleted"`
	// Time of the last backup in RFC-3339 format.
	LastBackupTimestamp *string `json:"last_backup_timestamp"`
	// Time of the last successful continuous backup in RFC-3339 format.
	LastContinuousBackupTimestamp *string `json:"last_continuous_backup_timestamp"`
	// The Clumio-assigned ID of the organizational unit associated with the protection group.
	OrganizationalUnitId *string `json:"organizational_unit_id"`
	// Cumulative count of all unexpired objects in each backup (any new or updated since
	// the last backup) that have been backed up as part of this protection group
	TotalBackedUpObjectCount *int64 `json:"total_backed_up_object_count"`
	// Cumulative size of all unexpired objects in each backup (any new or updated since
	// the last backup) that have been backed up as part of this protection group
	TotalBackedUpSizeBytes *int64 `json:"total_backed_up_size_bytes"`
	// The unsupported reason for the S3 bucket.
	UnsupportedReason *string `json:"unsupported_reason"`
}

DeleteBucketFromProtectionGroupResponse represents a custom type struct for Success

type DeleteHcmHostResponse

type DeleteHcmHostResponse struct {
	// Embedded responses related to the resource.
	Embedded *ReadTaskHateoasOuterEmbedded `json:"_embedded"`
	// DeleteHostResponseLinks describes the Links response for the delete host response
	Links *DeleteHostResponseLinks `json:"_links"`
	// TaskID for DeleteHostsReq
	TaskId *string `json:"task_id"`
}

DeleteHcmHostResponse represents a custom type struct for Success

type DeleteHostResponseLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// A HATEOAS link to the task associated with this resource.
	ReadTask *ReadTaskHateoasLink `json:"read-task"`
}

DeleteHostResponseLinks represents a custom type struct. DeleteHostResponseLinks describes the Links response for the delete host response

type DeleteMssqlHostConnectionsV1Request

type DeleteMssqlHostConnectionsV1Request struct {
	// The endpoints of hosts to be deleted.
	Endpoints []*string `json:"endpoints"`
	// TODO: Add struct field description
	GroupId *string `json:"group_id"`
	// Performs the operation on a host within the specified management subgroup.
	SubgroupId *string `json:"subgroup_id"`
}

DeleteMssqlHostConnectionsV1Request represents a custom type struct

type DeleteOrganizationalUnitResponse

type DeleteOrganizationalUnitResponse struct {
	// Embedded responses related to the resource.
	Embedded *EntityGroupEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *OrganizationalUnitLinksForDelete `json:"_links"`
	// The Clumio-assigned ID of the task associated with this organizational unit.
	// The progress of the task can be monitored using the
	// [GET /tasks/{task_id}](#operation/read-task) endpoint.
	TaskId *string `json:"task_id"`
}

DeleteOrganizationalUnitResponse represents a custom type struct. Accepted

type DeletePolicyResponse added in v0.2.5

type DeletePolicyResponse struct {
	// URLs to pages related to the resource.
	Links *DeletePolicyResponseLinks `json:"_links"`
	// The Clumio-assigned ID of the task generated by this request.
	TaskId *string `json:"task_id"`
}

DeletePolicyResponse represents a custom type struct for Success

type DeletePolicyResponseLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// A HATEOAS link to the task associated with this resource.
	ReadTask *ReadTaskHateoasLink `json:"read-task"`
}

DeletePolicyResponseLinks represents a custom type struct. URLs to pages related to the resource.

type DeleteRuleResponse

type DeleteRuleResponse struct {
	// URLs to pages related to the resource.
	Links *DeleteRuleResponseLinks `json:"_links"`
	// The Clumio-assigned ID of the preview generated by this request. Only valid if
	// `execution_type` is set to `dryrun`.
	PreviewId *string `json:"preview_id"`
	// The Clumio-assigned ID of the task generated by this request.
	TaskId *string `json:"task_id"`
}

DeleteRuleResponse represents a custom type struct for Success

type DeleteRuleResponseLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// A HATEOAS link to the task associated with this resource.
	ReadTask *ReadTaskHateoasLink `json:"read-task"`
}

DeleteRuleResponseLinks represents a custom type struct. URLs to pages related to the resource.

type DeleteS3InstantAccessEndpointRoleResponse added in v0.12.0

type DeleteS3InstantAccessEndpointRoleResponse struct {
	// Embedded responses related to the resource.
	Embedded *S3InstantAccessEndpointEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *S3InstantAccessEndpointLinks `json:"_links"`
}

DeleteS3InstantAccessEndpointRoleResponse represents a custom type struct for Success

type DeleteUserResponseV1 added in v0.8.0

type DeleteUserResponseV1 struct {
	// HateoasCommonLinks are the common fields for HATEOAS response.
	Links *HateoasCommonLinks `json:"_links"`
}

DeleteUserResponseV1 represents a custom type struct for Success

type DirectDownloadDataAccessObject

type DirectDownloadDataAccessObject struct {
	// The download link used to access the restored file through direct download.
	DownloadLink *string `json:"download_link"`
	// The email address of the user who initiated the file level restore.
	RetrievedBy *string `json:"retrieved_by"`
}

DirectDownloadDataAccessObject represents a custom type struct. The details used to access the restored file if it was shared by direct download. If the restored file was shared by email (and not by direct download), then this field has a value of `null`.

type Directory

type Directory struct {
	// URLs to pages related to the resource.
	Links *DirectoryLinks `json:"_links"`
	// The directory ID of the file. If the file is not a directory, then this field has
	// a value of `null`.
	DirectoryId *string `json:"directory_id"`
	// Determines whether or not this file is a directory. If true, then this file
	// is a directory.
	IsDirectory *bool `json:"is_directory"`
	// The timestamp of when this file was last modified.
	ModifiedTimestamp *string `json:"modified_timestamp"`
	// Name of this file.
	Name *string `json:"name"`
	// Size of this file, in bytes.
	Size *uint64 `json:"size"`
}

Directory represents a custom type struct

type DirectoryBrowseEmbedded

type DirectoryBrowseEmbedded struct {
	// TODO: Add struct field description
	Items []*Directory `json:"items"`
}

DirectoryBrowseEmbedded represents a custom type struct. Embedded responses related to the resource.

type DirectoryBrowseLinks struct {
	// The HATEOAS link to the first page of results.
	First *HateoasFirstLink `json:"_first"`
	// The HATEOAS link to the next page of results.
	Next *HateoasNextLink `json:"_next"`
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

DirectoryBrowseLinks represents a custom type struct. URLs to pages related to the resource.

type DirectoryLinks struct {
	// The HATEOAS link to the first page of results.
	First *HateoasFirstLink `json:"_first"`
	// The HATEOAS link to the next page of results.
	Next *HateoasNextLink `json:"_next"`
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

DirectoryLinks represents a custom type struct. URLs to pages related to the resource.

type DiscoverConfig

type DiscoverConfig struct {
	// The asset types supported on the current version of the feature
	AssetTypesEnabled []*string `json:"asset_types_enabled"`
	// The current version of the feature.
	InstalledTemplateVersion *string `json:"installed_template_version"`
}

DiscoverConfig represents a custom type struct. The configuration of the Clumio Discover product for this connection. If this connection is not configured for Clumio Discover, then this field has a value of `null`.

type DownloadSharedFileLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

DownloadSharedFileLinks represents a custom type struct. URLs to pages related to the resource.

type DownloadSharedFileResponse added in v0.5.0

type DownloadSharedFileResponse struct {
	// URLs to pages related to the resource.
	Links *DownloadSharedFileLinks `json:"_links"`
	// A download link that lets you directly download the file. The link expires
	// 24 hours after file restore.
	DownloadUrl *string `json:"download_url"`
}

DownloadSharedFileResponse represents a custom type struct for Success

type DownloadSharedFileV1Request added in v0.5.0

type DownloadSharedFileV1Request struct {
	// The download link that was sent to you by email. To get the download link,
	// open the email message, click "Download File" to launch the Clumio "Access
	// Requested File" page, and copy the URL.
	EmailLink *string `json:"email_link"`
	// The passcode used to access the restored file. Obtain the passcode from the
	// user who generated the restored file.
	Passcode *string `json:"passcode"`
}

DownloadSharedFileV1Request represents a custom type struct

type DynamoDBGRRAttributeFilter added in v0.5.0

type DynamoDBGRRAttributeFilter struct {
	// Filter condition on the DynamoDB attribute.
	//
	// +----------------------+-------------------------------------------------------+
	// |      Condition       |                         Usage                         |
	// +======================+=======================================================+
	// | EqualTo              | Compares the filter attribute to be equal to the      |
	// |                      | operand value.                                        |
	// |                      | It expects only one operand value. Supported types    |
	// |                      | are: String, Number, Binary and Boolean.              |
	// |                      |                                                       |
	// +----------------------+-------------------------------------------------------+
	// | NotEqualTo           | Compares the filter attribute to not be equal to the  |
	// |                      | operand value.                                        |
	// |                      | It expects only one operand value. Supported types    |
	// |                      | are: String, Number, Binary and Boolean.              |
	// |                      |                                                       |
	// +----------------------+-------------------------------------------------------+
	// | LessThanOrEqualTo    | Compares the filter attribute to be less than or      |
	// |                      | equal to the operand value.                           |
	// |                      | It expects only one operand value. Supported types    |
	// |                      | are: String, Number and Binary.                       |
	// |                      |                                                       |
	// +----------------------+-------------------------------------------------------+
	// | LessThan             | Compares the filter attribute to be less than the     |
	// |                      | operand value.                                        |
	// |                      | It expects only one operand value. Supported types    |
	// |                      | are: String, Number and Binary.                       |
	// |                      |                                                       |
	// +----------------------+-------------------------------------------------------+
	// | GreaterThanOrEqualTo | Compares the filter attribute to be greater than or   |
	// |                      | equal to the operand value.                           |
	// |                      | It expects only one operand value. Supported types    |
	// |                      | are: String, Number and Binary.                       |
	// |                      |                                                       |
	// +----------------------+-------------------------------------------------------+
	// | GreaterThan          | Compares the filter attribute to be greater than the  |
	// |                      | operand value.                                        |
	// |                      | It expects only one operand value. Supported types    |
	// |                      | are: String, Number and Binary.                       |
	// |                      |                                                       |
	// +----------------------+-------------------------------------------------------+
	// | Between              | Compares the filter attribute to be between the       |
	// |                      | operand values.                                       |
	// |                      | It expects two operand values. Supported types are:   |
	// |                      | String, Number and Binary.                            |
	// |                      |                                                       |
	// +----------------------+-------------------------------------------------------+
	// | Exists               | Checks the filter attribute to exist.                 |
	// |                      | It does not expect any operand value. Supported types |
	// |                      | are: String, Number, Binary, Boolean and Null.        |
	// |                      |                                                       |
	// +----------------------+-------------------------------------------------------+
	// | NotExists            | Checks the filter attribute to not exist.             |
	// |                      | It does not expect any operand value. Supported types |
	// |                      | are: String, Number, Binary, Boolean and Null.        |
	// |                      |                                                       |
	// +----------------------+-------------------------------------------------------+
	// | Contains             | Checks the filter attribute to contain the operand    |
	// |                      | value.                                                |
	// |                      | It expects only one operand value. Supported types    |
	// |                      | are: String and Binary.                               |
	// |                      |                                                       |
	// +----------------------+-------------------------------------------------------+
	// | NotContains          | Checks the filter attribute to not contain the        |
	// |                      | operand value.                                        |
	// |                      | It expects only one operand value. Supported types    |
	// |                      | are: String and Binary.                               |
	// |                      |                                                       |
	// +----------------------+-------------------------------------------------------+
	// | BeginsWith           | Checks the filter attribute to begin with the operand |
	// |                      | value.                                                |
	// |                      | It expects only one operand value. Supported types    |
	// |                      | are: String and Binary.                               |
	// |                      |                                                       |
	// +----------------------+-------------------------------------------------------+
	//
	Condition *string `json:"condition"`
	// DynamoDB attribute name.
	Name *string `json:"name"`
	// Data-type of the DynamoDB attribute.
	//
	// +----------------+
	// | Allowed values |
	// +================+
	// | String         |
	// +----------------+
	// | Number         |
	// +----------------+
	// | Binary         |
	// +----------------+
	// | Boolean        |
	// +----------------+
	// | Null           |
	// +----------------+
	//
	ClumioType *string `json:"type"`
	// Values for the attribute filter.
	Values []*string `json:"values"`
}

DynamoDBGRRAttributeFilter represents a custom type struct

type DynamoDBGRRQueryFilter added in v0.5.0

type DynamoDBGRRQueryFilter struct {
	// TODO: Add struct field description
	AttributeFilters []*DynamoDBGRRAttributeFilter `json:"attribute_filters"`
	// Partition Key value of the DynamoDB table.
	PartitionKey *string `json:"partition_key"`
	// Sort Key filter of the DynamoDB table.
	SortKeyFilter *DynamoDBGRRSortKeyFilter `json:"sort_key_filter"`
}

DynamoDBGRRQueryFilter represents a custom type struct. Filters based on which DynamoDB backup records are filtered in the query.

type DynamoDBGRRSortKeyFilter added in v0.5.0

type DynamoDBGRRSortKeyFilter struct {
	// Filter condition on the DynamoDB sort key.
	//
	// +----------------------+-------------------------------------------------------+
	// |      Condition       |                         Usage                         |
	// +======================+=======================================================+
	// | EqualTo              | Compares the filter attribute to be equal to the      |
	// |                      | operand value.                                        |
	// |                      | It expects only one operand value. Supported types    |
	// |                      | are: String, Number and Binary.                       |
	// |                      |                                                       |
	// +----------------------+-------------------------------------------------------+
	// | NotEqualTo           | Compares the filter attribute to not be equal to the  |
	// |                      | operand value.                                        |
	// |                      | It expects only one operand value. Supported types    |
	// |                      | are: String, Number and Binary.                       |
	// |                      |                                                       |
	// +----------------------+-------------------------------------------------------+
	// | LessThanOrEqualTo    | Compares the filter attribute to be less than or      |
	// |                      | equal to the operand value.                           |
	// |                      | It expects only one operand value. Supported types    |
	// |                      | are: String, Number and Binary.                       |
	// |                      |                                                       |
	// +----------------------+-------------------------------------------------------+
	// | LessThan             | Compares the filter attribute to be less than the     |
	// |                      | operand value.                                        |
	// |                      | It expects only one operand value. Supported types    |
	// |                      | are: String, Number and Binary.                       |
	// |                      |                                                       |
	// +----------------------+-------------------------------------------------------+
	// | GreaterThanOrEqualTo | Compares the filter attribute to be greater than or   |
	// |                      | equal to the operand value.                           |
	// |                      | It expects only one operand value. Supported types    |
	// |                      | are: String, Number and Binary.                       |
	// |                      |                                                       |
	// +----------------------+-------------------------------------------------------+
	// | GreaterThan          | Compares the filter attribute to be greater than the  |
	// |                      | operand value.                                        |
	// |                      | It expects only one operand value. Supported types    |
	// |                      | are: String, Number and Binary.                       |
	// |                      |                                                       |
	// +----------------------+-------------------------------------------------------+
	// | Between              | Compares the filter attribute to be between the       |
	// |                      | operand values.                                       |
	// |                      | It expects two operand values. Supported types are:   |
	// |                      | String, Number and Binary.                            |
	// |                      |                                                       |
	// +----------------------+-------------------------------------------------------+
	// | Exists               | Checks the filter attribute to exist.                 |
	// |                      | It does not expect any operand value. Supported types |
	// |                      | are: String, Number and Binary.                       |
	// |                      |                                                       |
	// +----------------------+-------------------------------------------------------+
	// | NotExists            | Checks the filter attribute to not exist.             |
	// |                      | It does not expect any operand value. Supported types |
	// |                      | are: String, Number and Binary.                       |
	// |                      |                                                       |
	// +----------------------+-------------------------------------------------------+
	// | Contains             | Checks the filter attribute to contain the operand    |
	// |                      | value.                                                |
	// |                      | It expects only one operand value. Supported types    |
	// |                      | are: String and Binary.                               |
	// |                      |                                                       |
	// +----------------------+-------------------------------------------------------+
	// | NotContains          | Checks the filter attribute to not contain the        |
	// |                      | operand value.                                        |
	// |                      | It expects only one operand value. Supported types    |
	// |                      | are: String and Binary.                               |
	// |                      |                                                       |
	// +----------------------+-------------------------------------------------------+
	// | BeginsWith           | Checks the filter attribute to begin with the operand |
	// |                      | value.                                                |
	// |                      | It expects only one operand value. Supported types    |
	// |                      | are: String and Binary.                               |
	// |                      |                                                       |
	// +----------------------+-------------------------------------------------------+
	//
	Condition *string `json:"condition"`
	// Values for the attribute filter.
	Values []*string `json:"values"`
}

DynamoDBGRRSortKeyFilter represents a custom type struct. Sort Key filter of the DynamoDB table.

type DynamoDBGrrSource added in v0.5.0

type DynamoDBGrrSource struct {
	// Performs the operation on a DynamoDB table within the specified backup.
	// Use the [GET /backups/aws/dynamodb-tables](#operation/list-backup-aws-dynamodb-tables)
	// endpoint to fetch valid values.
	BackupId *string `json:"backup_id"`
}

DynamoDBGrrSource represents a custom type struct. The parameters for initiating a DynamoDB table backup query from a backup.

type DynamoDBGrrTarget added in v0.5.0

type DynamoDBGrrTarget struct {
	// Specifies the Clumio UI as the restore target for direct download. Optionally set
	// `direct_download: {}`. If a target is not specified, then `target` defaults to
	// `direct_download`.
	DirectDownload interface{} `json:"direct_download"`
	// Specifies a download link (accessible via emails) as the restore target. If not
	// specified, `target` defaults to `direct_download`.
	Email *EmailRecipientsDataAccessOption `json:"email"`
	// Determines whether the query is preview only. If `true`, a preview of the
	// query results will be provided in the response immediately.
	// If `false` or omitted, a task will be queued to make results
	// of the query available for asynchronous download.
	Preview *bool `json:"preview"`
}

DynamoDBGrrTarget represents a custom type struct. The destination information for the operation, representing the access option for the query results. Users can access the query results by direct download or by email. The direct download (`direct_download`) option allows users to directly download the restored file from the Clumio UI. The email (`email`) option allows users to access the restored file using a downloadable link they receive by email. If a target is not specified, then `target` defaults to `direct_download`.

type DynamoDBKeys added in v0.6.0

type DynamoDBKeys struct {
	// Represents the attributes within a DynamoDB table by the name
	// and the data type (`S` for string, `N` for number, `B` for binary).
	PartitionKey *AttributeDefinition `json:"partition_key"`
	// Represents the attributes within a DynamoDB table by the name
	// and the data type (`S` for string, `N` for number, `B` for binary).
	SortKey *AttributeDefinition `json:"sort_key"`
}

DynamoDBKeys represents a custom type struct. Represents the DynamoDB table keys.

type DynamoDBQueryPreviewResult added in v0.5.0

type DynamoDBQueryPreviewResult struct {
	// The columns of the previewed query result.
	Attributes []*string `json:"attributes"`
	// The rows of the previewed query result.
	Items []*[]string `json:"items"`
}

DynamoDBQueryPreviewResult represents a custom type struct. If preview was not set to true in the request, then the result of the query will be available for download asynchronously and this field has a value of `null`.

type DynamoDBRestoreSourceBackupOptions added in v0.5.0

type DynamoDBRestoreSourceBackupOptions struct {
	// The Clumio-assigned ID of the DynamoDB table backup to be restored. Use the
	// [GET /backups/aws/dynamodb-tables](#operation/list-backup-aws-dynamodb-tables)
	// endpoint to fetch valid values.
	BackupId *string `json:"backup_id"`
}

DynamoDBRestoreSourceBackupOptions represents a custom type struct. The parameters for initiating a DynamoDB table restore from a backup.

type DynamoDBRestoreSourcePitrOptions added in v0.5.0

type DynamoDBRestoreSourcePitrOptions struct {
	// The Clumio-assigned ID of the DynamoDB table to be restored.
	// Use the [GET /datasources/aws/dynamodb-tables](#operation/list-aws-dynamodb-tables)
	// endpoint to fetch valid values.
	TableId *string `json:"table_id"`
	// A point in time to be restored in RFC-3339 format.
	Timestamp *string `json:"timestamp"`
	// Restore the table to the latest possible time.
	UseLatestRestorableTime *bool `json:"use_latest_restorable_time"`
}

DynamoDBRestoreSourcePitrOptions represents a custom type struct. The parameters for initiating a DynamoDB table point-in-time restore. Only one of `timestamp` or `use_latest_restorable_time` should be set.

type DynamoDBTable added in v0.6.0

type DynamoDBTable struct {
	// Embedded responses related to the resource.
	Embedded *DynamoDBTableEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *DynamoDBTableLinks `json:"_links"`
	// The AWS-assigned ID of the account associated with the DynamoDB table.
	AccountNativeId *string `json:"account_native_id"`
	// The AWS region associated with the DynamoDB table.
	AwsRegion *string `json:"aws_region"`
	// The billing mode of the DynamoDB table. Possible values are PROVISIONED or PAY_PER_REQUEST.
	// For [POST /restores/aws/dynamodb](#operation/restore-aws-dynamodb-table), this is defaulted to the
	// configuration of source table if both 'billing_mode' and 'provisioned_throughput' are empty or `null`.
	BillingMode *string `json:"billing_mode"`
	// The compliance status of the protected DynamoDB table. Possible values include
	// "compliant" and "noncompliant". If the table is not protected, then this field has
	// a value of `null`.
	ComplianceStatus *string `json:"compliance_status"`
	// The timestamp of when the table was deleted. Represented in RFC-3339 format.
	// If this table has not been deleted, then this field has a value of `null`.
	DeletionTimestamp *string `json:"deletion_timestamp"`
	// The Clumio-assigned ID of the policy directly assigned to the entity.
	DirectAssignmentPolicyId *string `json:"direct_assignment_policy_id"`
	// The earliest continuous snapshot restorable time of the DynamoDB table for Point-in-time restore.
	// Represented in RFC-3339 format. If PITR is not enabled for the table, then this field has a value of `null`.
	EarliestContinuousSnapshotRestorableTimestamp *string `json:"earliest_continuous_snapshot_restorable_timestamp"`
	// The Clumio-assigned ID of the AWS environment associated with the DynamoDB table.
	EnvironmentId *string `json:"environment_id"`
	// Represents the properties of a global secondary index.
	GlobalSecondaryIndexes []*GlobalSecondaryIndex `json:"global_secondary_indexes"`
	// Describes the version of global tables in use, if the table is replicated across AWS Regions. If the table
	// is not a global table, then this field has a value of `null`. Possible values are 2017.11.29 or 2019.11.21.
	// For [POST /restores/aws/dynamodb](#operation/restore-aws-dynamodb-table), the version is defaulted to 2019.11.21.
	GlobalTableVersion *string `json:"global_table_version"`
	// Determines whether the table has a direct assignment.
	HasDirectAssignment *bool `json:"has_direct_assignment"`
	// The Clumio-assigned ID of the DynamoDB table.
	Id *string `json:"id"`
	// Determines whether the DynamoDB table has been deleted. If `true`, the table has been deleted.
	IsDeleted *bool `json:"is_deleted"`
	// Determines whether the DynamoDB table is supported for backups.
	IsSupported *bool `json:"is_supported"`
	// The number of items in the DynamoDB table.
	ItemCount *int64 `json:"item_count"`
	// The timestamp of the most recent snapshot of the DynamoDB table taken as part of
	// AwsSnapMgr. Represented in RFC-3339 format. If the table has never been
	// snapshotted, then this field has a value of `null`.
	LastSnapshotTimestamp *string `json:"last_snapshot_timestamp"`
	// The latest continuous snapshot restorable time of the DynamoDB table for Point-in-time restore.
	// Represented in RFC-3339 format. If PITR is not enabled for the table, then this field has a value of `null`.
	LatestContinuousSnapshotRestorableTimestamp *string `json:"latest_continuous_snapshot_restorable_timestamp"`
	// Represents the properties of a local secondary index.
	LocalSecondaryIndexes []*LocalSecondaryIndex `json:"local_secondary_indexes"`
	// The AWS-assigned name of the DynamoDB table.
	Name *string `json:"name"`
	// The Clumio-assigned ID of the organizational unit associated with the DynamoDB table.
	OrganizationalUnitId *string `json:"organizational_unit_id"`
	// The protection policy applied to this resource. If the resource is not protected, then this field has a value of `null`.
	ProtectionInfo *ProtectionInfoWithRule `json:"protection_info"`
	// The protection status of the DynamoDB table. Possible values include "protected",
	// "unprotected", and "unsupported". If the DynamoDB table does not support backups, then
	// this field has a value of `unsupported`.
	ProtectionStatus *string `json:"protection_status"`
	// Represents the provisioned throughput settings for a DynamoDB table.
	ProvisionedThroughput *ProvisionedThroughput `json:"provisioned_throughput"`
	// Contains the details of the replica.
	Replicas []*ReplicaDescription `json:"replicas"`
	// The size of the DynamoDB table. Measured in bytes (B).
	Size *int64 `json:"size"`
	// Represents the server-side encryption settings for a table.
	SseSpecification *SSESpecification `json:"sse_specification"`
	// The AWS-assigned ARN of the DynamoDB table.
	TableArn *string `json:"table_arn"`
	// The table class of the DynamoDB table. Possible values are STANDARD or STANDARD_INFREQUENT_ACCESS.
	// For [POST /restores/aws/dynamodb](#operation/restore-aws-dynamodb-table), this is defaulted to the
	// STANDARD storage class if empty.
	TableClass *string `json:"table_class"`
	// Represents the DynamoDB table keys.
	TableKeys *DynamoDBKeys `json:"table_keys"`
	// The AWS-assigned ID of the DynamoDB table.
	TableNativeId *string `json:"table_native_id"`
	// The current state of the table.
	TableStatus *string `json:"table_status"`
	// A tag created through AWS console which can be applied to EBS volumes.
	Tags []*AwsTagModel `json:"tags"`
	// The reason why protection is not available. If the table is supported,
	// then this field has a value of `null`.
	UnsupportedReason *string `json:"unsupported_reason"`
}

DynamoDBTable represents a custom type struct

type DynamoDBTableBackupLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// A resource-specific HATEOAS link.
	RestoreAwsDynamodbRecords *HateoasLink `json:"restore-aws-dynamodb-records"`
	// A resource-specific HATEOAS link.
	RestoreAwsDynamodbTable *HateoasLink `json:"restore-aws-dynamodb-table"`
}

DynamoDBTableBackupLinks represents a custom type struct. URLs to pages related to the resource.

type DynamoDBTableBackupListEmbedded added in v0.5.0

type DynamoDBTableBackupListEmbedded struct {
	// TODO: Add struct field description
	Items []*DynamoDBTableBackupWithETag `json:"items"`
}

DynamoDBTableBackupListEmbedded represents a custom type struct. Embedded responses related to the resource.

type DynamoDBTableBackupListLinks struct {
	// The HATEOAS link to the first page of results.
	First *HateoasFirstLink `json:"_first"`
	// The HATEOAS link to the last page of results.
	Last *HateoasLastLink `json:"_last"`
	// The HATEOAS link to the next page of results.
	Next *HateoasNextLink `json:"_next"`
	// The HATEOAS link to the previous page of results.
	Prev *HateoasPrevLink `json:"_prev"`
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

DynamoDBTableBackupListLinks represents a custom type struct. URLs to pages related to the resource.

type DynamoDBTableBackupWithETag added in v0.5.0

type DynamoDBTableBackupWithETag struct {
	// The ETag value.
	Etag *string `json:"_etag"`
	// URLs to pages related to the resource.
	Links *DynamoDBTableBackupLinks `json:"_links"`
	// The AWS-assigned ID of the account associated with this database at the time of backup.
	AccountNativeId *string `json:"account_native_id"`
	// The AWS region associated with this environment.
	AwsRegion *string `json:"aws_region"`
	// The billing mode of the DynamoDB table. Possible values are PROVISIONED or PAY_PER_REQUEST.
	// For [POST /restores/aws/dynamodb](#operation/restore-aws-dynamodb-table), this is defaulted to the
	// configuration of source table if both 'billing_mode' and 'provisioned_throughput' are empty or `null`.
	BillingMode *string `json:"billing_mode"`
	// The timestamp of when this backup expires. Represented in RFC-3339 format.
	ExpirationTimestamp *string `json:"expiration_timestamp"`
	// Represents the properties of a global secondary index.
	GlobalSecondaryIndexes []*GlobalSecondaryIndex `json:"global_secondary_indexes"`
	// Describes the version of global tables in use, if the table is replicated across AWS Regions. If the table
	// is not a global table, then this field has a value of `null`. Possible values are 2017.11.29 or 2019.11.21.
	// For [POST /restores/aws/dynamodb](#operation/restore-aws-dynamodb-table), the version is defaulted to 2019.11.21.
	GlobalTableVersion *string `json:"global_table_version"`
	// The Clumio-assigned ID of the backup.
	Id *string `json:"id"`
	// The number of items in DynamoDB table backup.
	ItemCount *int64 `json:"item_count"`
	// Represents the properties of a local secondary index.
	LocalSecondaryIndexes []*LocalSecondaryIndex `json:"local_secondary_indexes"`
	// Represents the provisioned throughput settings for a DynamoDB table.
	ProvisionedThroughput *ProvisionedThroughput `json:"provisioned_throughput"`
	// Contains the details of the replica.
	Replicas []*ReplicaDescription `json:"replicas"`
	// The size of the DynamoDB table backup in bytes.
	Size *int64 `json:"size"`
	// Represents the server-side encryption settings for a table.
	SseSpecification *SSESpecification `json:"sse_specification"`
	// The timestamp of when this backup started. Represented in RFC-3339 format.
	StartTimestamp *string `json:"start_timestamp"`
	// The table class of the DynamoDB table. Possible values are STANDARD or STANDARD_INFREQUENT_ACCESS.
	// For [POST /restores/aws/dynamodb](#operation/restore-aws-dynamodb-table), this is defaulted to the
	// STANDARD storage class if empty.
	TableClass *string `json:"table_class"`
	// The Clumio-assigned ID of the DynamoDB table.
	TableId *string `json:"table_id"`
	// The name of the DynamoDB table.
	TableName *string `json:"table_name"`
	// A tag created through AWS Console which can be applied to EBS volumes.
	Tags []*AwsTagCommonModel `json:"tags"`
	// The type of backup. Possible values include `clumio_backup` and `aws_snapshot`.
	ClumioType *string `json:"type"`
}

DynamoDBTableBackupWithETag represents a custom type struct

type DynamoDBTableEmbedded added in v0.6.0

type DynamoDBTableEmbedded struct {
	// Embeds the associated policy of a protected resource in the response if requested using the `embed` query parameter. Unprotected resources will not have an associated policy.
	ReadPolicyDefinition interface{} `json:"read-policy-definition"`
}

DynamoDBTableEmbedded represents a custom type struct. Embedded responses related to the resource.

type DynamoDBTableLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// A resource-specific HATEOAS link.
	CreateBackupAwsDynamodbTable *HateoasLink `json:"create-backup-aws-dynamodb-table"`
	// A resource-specific HATEOAS link.
	ListBackupAwsDynamodbTables *HateoasLink `json:"list-backup-aws-dynamodb-tables"`
	// A HATEOAS link to the policy protecting this resource. Will be omitted for unprotected entities.
	ReadPolicyDefinition *ReadPolicyDefinitionHateoasLink `json:"read-policy-definition"`
	// A resource-specific HATEOAS link.
	RestoreAwsDynamodbTable *HateoasLink `json:"restore-aws-dynamodb-table"`
}

DynamoDBTableLinks represents a custom type struct. URLs to pages related to the resource.

type DynamoDBTableListEmbedded added in v0.6.0

type DynamoDBTableListEmbedded struct {
	// TODO: Add struct field description
	Items []*DynamoDBTable `json:"items"`
}

DynamoDBTableListEmbedded represents a custom type struct. Embedded responses related to the resource.

type DynamoDBTableListLinks struct {
	// The HATEOAS link to the first page of results.
	First *HateoasFirstLink `json:"_first"`
	// The HATEOAS link to the last page of results.
	Last *HateoasLastLink `json:"_last"`
	// The HATEOAS link to the next page of results.
	Next *HateoasNextLink `json:"_next"`
	// The HATEOAS link to the previous page of results.
	Prev *HateoasPrevLink `json:"_prev"`
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

DynamoDBTableListLinks represents a custom type struct. URLs to pages related to the resource.

type DynamoDBTableRestoreSource added in v0.5.0

type DynamoDBTableRestoreSource struct {
	// The parameters for initiating a DynamoDB table point-in-time restore.
	// Only one of `timestamp` or `use_latest_restorable_time` should be set.
	ContinuousBackup *DynamoDBRestoreSourcePitrOptions `json:"continuous_backup"`
	// The parameters for initiating a DynamoDB table restore from a backup.
	SecurevaultBackup *DynamoDBRestoreSourceBackupOptions `json:"securevault_backup"`
}

DynamoDBTableRestoreSource represents a custom type struct. The DynamoDB table restore backup or point-in-time restore options. Only one of these fields should be set.

type DynamoDBTableRestoreTarget added in v0.5.0

type DynamoDBTableRestoreTarget struct {
	// The billing mode of the DynamoDB table. Possible values are PROVISIONED or PAY_PER_REQUEST.
	// For [POST /restores/aws/dynamodb](#operation/restore-aws-dynamodb-table), this is defaulted to the
	// configuration of source table if both 'billing_mode' and 'provisioned_throughput' are empty or `null`.
	BillingMode *string `json:"billing_mode"`
	// The Clumio-assigned ID of the AWS environment to be used as the restore destination.
	// Use the [GET /datasources/aws/environments](#operation/list-aws-environments) endpoint
	// to fetch valid values.
	EnvironmentId *string `json:"environment_id"`
	// Represents the properties of a global secondary index.
	GlobalSecondaryIndexes []*GlobalSecondaryIndex `json:"global_secondary_indexes"`
	// Describes the version of global tables in use, if the table is replicated across AWS Regions. If the table
	// is not a global table, then this field has a value of `null`. Possible values are 2017.11.29 or 2019.11.21.
	// For [POST /restores/aws/dynamodb](#operation/restore-aws-dynamodb-table), the version is defaulted to 2019.11.21.
	GlobalTableVersion *string `json:"global_table_version"`
	// Represents the properties of a local secondary index.
	LocalSecondaryIndexes []*LocalSecondaryIndex `json:"local_secondary_indexes"`
	// Represents the provisioned throughput settings for a DynamoDB table.
	ProvisionedThroughput *ProvisionedThroughput `json:"provisioned_throughput"`
	// Contains the details of the replica.
	Replicas []*ReplicaDescription `json:"replicas"`
	// Represents the server-side encryption settings for a table.
	SseSpecification *SSESpecification `json:"sse_specification"`
	// The table class of the DynamoDB table. Possible values are STANDARD or STANDARD_INFREQUENT_ACCESS.
	// For [POST /restores/aws/dynamodb](#operation/restore-aws-dynamodb-table), this is defaulted to the
	// STANDARD storage class if empty.
	TableClass *string `json:"table_class"`
	// The name of the new table to which the backup must be restored.
	TableName *string `json:"table_name"`
	// A tag created through AWS Console which can be applied to EBS volumes.
	Tags []*AwsTagCommonModel `json:"tags"`
}

DynamoDBTableRestoreTarget represents a custom type struct. The configuration of the restored DynamoDB table. For restore from snapshot, use the DynamoDB table configurations present at time of snapshot obtained from [GET /backups/aws/dynamodb-tables/{backup_id}](#operation/read-backup-aws-dynamodb-table) and for restoring point-in-time, use the current configuration of the table from [GET /datasources/aws/dynamodb-tables/{table_id}](#operation/read-aws-dynamodb-table). The table properties are set to empty or to their default values if they are specified as `null`.

type DynamodbAssetInfo added in v0.6.0

type DynamodbAssetInfo struct {
	// The current version of the feature.
	InstalledTemplateVersion *string `json:"installed_template_version"`
}

DynamodbAssetInfo represents a custom type struct. DynamodbAssetInfo The installed information for the DynamoDB feature.

type DynamodbTemplateInfo added in v0.6.0

type DynamodbTemplateInfo struct {
	// The latest available feature version for the asset.
	AvailableTemplateVersion *string `json:"available_template_version"`
}

DynamodbTemplateInfo represents a custom type struct. The latest available information for the DynamoDB feature.

type EBS

type EBS struct {
	// Embedded responses related to the resource.
	Embedded *EbsVolumeEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *EbsVolumeLinks `json:"_links"`
	// The AWS-assigned ID of the account associated with the EBS volume.
	AccountNativeId *string `json:"account_native_id"`
	// The AWS availability zone in which the EBS volume resides. For example,
	// `us-west-2a`.
	AwsAz *string `json:"aws_az"`
	// The AWS region associated with the EBS volume.
	AwsRegion *string `json:"aws_region"`
	// The compliance status of the protected EBS volume. Possible values include
	// "compliant" and "noncompliant". If the volume is not protected, then this field has
	// a value of `null`.
	ComplianceStatus *string `json:"compliance_status"`
	// The timestamp of when the volume was deleted. Represented in RFC-3339 format. If
	// this volume has not been deleted, then this field has a value of `null`.
	DeletionTimestamp *string `json:"deletion_timestamp"`
	// The Clumio-assigned ID of the policy directly assigned to the entity.
	DirectAssignmentPolicyId *string `json:"direct_assignment_policy_id"`
	// The Clumio-assigned ID of the AWS environment associated with the EBS volume.
	EnvironmentId *string `json:"environment_id"`
	// Determines whether the table has a direct assignment.
	HasDirectAssignment *bool `json:"has_direct_assignment"`
	// The Clumio-assigned ID of the EBS volume.
	Id *string `json:"id"`
	// Iops of the volume.
	Iops *int64 `json:"iops"`
	// Determines whether the EBS volume has been deleted. If `true`, the volume has been
	// deleted.
	IsDeleted *bool `json:"is_deleted"`
	// Determines whether the EBS volume is encrypted. If `true`, the volume is encrypted.
	IsEncrypted *bool `json:"is_encrypted"`
	// Determines whether the EBS volume is supported for backups.
	IsSupported *bool `json:"is_supported"`
	// The AWS-assigned ID of the KMS key encrypting the EBS volume. If the volume is
	// unencrypted, then this field has a value of `null`.
	KmsKeyNativeId *string `json:"kms_key_native_id"`
	// The timestamp of the most recent backup of the EBS volume. Represented in RFC-3339
	// format. If the volume has never been backed up, then this field has a value of
	// `null`.
	LastBackupTimestamp *string `json:"last_backup_timestamp"`
	// The timestamp of the most recent snapshot of the EBS volume taken as part of
	// Snapshot Manager. Represented in RFC-3339 format. If the volume has never been
	// snapshotted, then this field has a value of `null`.
	LastSnapshotTimestamp *string `json:"last_snapshot_timestamp"`
	// The AWS-assigned name of the EBS volume.
	Name *string `json:"name"`
	// The Clumio-assigned ID of the organizational unit associated with the EBS volume.
	OrganizationalUnitId *string `json:"organizational_unit_id"`
	// The protection policy applied to this resource. If the resource is not protected, then this field has a value of `null`.
	ProtectionInfo *ProtectionInfoWithRule `json:"protection_info"`
	// The protection status of the EBS volume. Possible values include "protected",
	// "unprotected", and "unsupported". If the EBS volume does not support backups, then
	// this field has a value of `unsupported`. If the volume has been deleted, then this
	// field has a value of `null`.
	ProtectionStatus *string `json:"protection_status"`
	// The size of the EBS volume. Measured in bytes (B).
	Size *int64 `json:"size"`
	// A tag created through AWS console which can be applied to EBS volumes.
	Tags []*AwsTagModel `json:"tags"`
	// The type of EBS volume. Possible values include "gp2", "io1", "st1", "sc1", and
	// "standard".
	ClumioType *string `json:"type"`
	// The reason why protection is not available. If the volume is supported, then this
	// field has a value of `null`.
	UnsupportedReason *string `json:"unsupported_reason"`
	// The AWS-assigned ID of the EBS volume.
	VolumeNativeId *string `json:"volume_native_id"`
}

EBS represents a custom type struct

type EBSBackup added in v0.8.0

type EBSBackup struct {
	// URLs to pages related to the resource.
	Links *EBSBackupLinks `json:"_links"`
	// The AWS-assigned ID of the account associated with the backup.
	AccountNativeId *string `json:"account_native_id"`
	// The availability zone associated with the volume backup. For example, `us-west-2a`.
	AwsAz *string `json:"aws_az"`
	// The AWS region in which the volume backup resides. For example, `us-west-2`.
	AwsRegion *string `json:"aws_region"`
	// Backup Tier
	BackupTier *string `json:"backup_tier"`
	// The reason that browsing is unavailable for the backup. Possible values include "file_limit_exceeded" and
	// "browsing_unavailable". If browse indexing is successful, then this field has a value of `null`.
	BrowsingFailedReason *string `json:"browsing_failed_reason"`
	// The timestamp of when this backup expires. Represented in RFC-3339 format.
	ExpirationTimestamp *string `json:"expiration_timestamp"`
	// The Clumio-assigned ID of the volume backup.
	Id *string `json:"id"`
	// Iops of the volume.
	Iops *int64 `json:"iops"`
	// Determines whether browsing is available for the backup. If `true`, then browsing is available for the backup.
	IsBrowsable *bool `json:"is_browsable"`
	// Determines whether the EBS volume backup is encrypted. If `true`, the volume backup is encrypted.
	IsEncrypted *bool `json:"is_encrypted"`
	// The AWS-assigned ID of the KMS key encrypting this EBS volume backup. If the volume is not encrypted, this field has a value of `null`.
	KmsKeyNativeId *string `json:"kms_key_native_id"`
	// The timestamp of when the migration was triggered. This field will be set only for
	// migration backups. Represented in RFC-3339 format.
	MigrationTimestamp *string `json:"migration_timestamp"`
	// The size of the volume backup. Measured in gigabytes (GB).
	Size *int64 `json:"size"`
	// The timestamp of when this backup started. Represented in RFC-3339 format.
	StartTimestamp *string `json:"start_timestamp"`
	// A tag created through AWS Console which can be applied to EBS volumes.
	Tags []*AwsTagCommonModel `json:"tags"`
	// The type of the backup. Possible values - `clumio_backup`, `aws_snapshot`.
	ClumioType *string `json:"type"`
	// Utilized size
	UtilizedSizeInBytes *uint64 `json:"utilized_size_in_bytes"`
	// The Clumio-assigned ID of the EBS volume associated with the volume backup.
	VolumeId *string `json:"volume_id"`
	// The AWS-assigned ID of the EBS volume associated with the volume backup.
	VolumeNativeId *string `json:"volume_native_id"`
	// The volume type of the original EBS volume before backup. Possible values include `gp2`, `io1`, `st1`, `sc1`, `standard`.
	VolumeType *string `json:"volume_type"`
}

EBSBackup represents a custom type struct

type EBSBackupAdvancedSetting added in v0.2.9

type EBSBackupAdvancedSetting struct {
	// Backup tier to store the backup in. Valid values are: (empty) equivalent to standard, `standard`, and `lite`.
	BackupTier *string `json:"backup_tier"`
}

EBSBackupAdvancedSetting represents a custom type struct. Advanced settings for EBS backup.

type EBSBackupLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// A resource-specific HATEOAS link.
	RestoreAwsEbsVolume *HateoasLink `json:"restore-aws-ebs-volume"`
}

EBSBackupLinks represents a custom type struct. URLs to pages related to the resource.

type EBSBackupLinksV1

type EBSBackupLinksV1 struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

EBSBackupLinksV1 represents a custom type struct. URLs to pages related to the resource.

type EBSBackupListEmbedded added in v0.8.0

type EBSBackupListEmbedded struct {
	// TODO: Add struct field description
	Items []*EBSBackup `json:"items"`
}

EBSBackupListEmbedded represents a custom type struct. Embedded responses related to the resource.

type EBSBackupListEmbeddedV1

type EBSBackupListEmbeddedV1 struct {
	// TODO: Add struct field description
	Items []*EBSBackupV1 `json:"items"`
}

EBSBackupListEmbeddedV1 represents a custom type struct. Embedded responses related to the resource.

type EBSBackupListLinks struct {
	// The HATEOAS link to the first page of results.
	First *HateoasFirstLink `json:"_first"`
	// The HATEOAS link to the last page of results.
	Last *HateoasLastLink `json:"_last"`
	// The HATEOAS link to the next page of results.
	Next *HateoasNextLink `json:"_next"`
	// The HATEOAS link to the previous page of results.
	Prev *HateoasPrevLink `json:"_prev"`
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

EBSBackupListLinks represents a custom type struct. URLs to pages related to the resource.

type EBSBackupListLinksV1

type EBSBackupListLinksV1 struct {
	// The HATEOAS link to the first page of results.
	First *HateoasFirstLink `json:"_first"`
	// The HATEOAS link to the last page of results.
	Last *HateoasLastLink `json:"_last"`
	// The HATEOAS link to the next page of results.
	Next *HateoasNextLink `json:"_next"`
	// The HATEOAS link to the previous page of results.
	Prev *HateoasPrevLink `json:"_prev"`
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

EBSBackupListLinksV1 represents a custom type struct. URLs to pages related to the resource.

type EBSBackupV1

type EBSBackupV1 struct {
	// URLs to pages related to the resource.
	Links *EBSBackupLinksV1 `json:"_links"`
	// The AWS-assigned ID of the account associated with the backup.
	AccountNativeId *string `json:"account_native_id"`
	// The availability zone associated with the volume backup. For example, `us-west-2a`.
	AwsAz *string `json:"aws_az"`
	// The AWS region in which the volume backup resides. For example, `us-west-2`.
	AwsRegion *string `json:"aws_region"`
	// The reason that browsing is unavailable for the backup. Possible values include "file_limit_exceeded" and
	// "browsing_unavailable". If browse indexing is successful, then this field has a value of `null`.
	BrowsingFailedReason *string `json:"browsing_failed_reason"`
	// The timestamp of when this backup expires. Represented in RFC-3339 format.
	ExpirationTimestamp *string `json:"expiration_timestamp"`
	// The Clumio-assigned ID of the volume backup.
	Id *string `json:"id"`
	// Determines whether browsing is available for the backup. If `true`, then browsing is available for the backup.
	IsBrowsable *bool `json:"is_browsable"`
	// Determines whether the EBS volume backup is encrypted. If `true`, the volume backup is encrypted.
	IsEncrypted *bool `json:"is_encrypted"`
	// The AWS-assigned ID of the KMS key encrypting this EBS volume backup. If the volume is not encrypted, this field has a value of `null`.
	KmsKeyNativeId *string `json:"kms_key_native_id"`
	// The size of the volume backup. Measured in gigabytes (GB).
	Size *int64 `json:"size"`
	// The timestamp of when this backup started. Represented in RFC-3339 format.
	StartTimestamp *string `json:"start_timestamp"`
	// A tag created through AWS Console which can be applied to EBS volumes.
	Tags []*AwsTagCommonModel `json:"tags"`
	// The volume type of the original EBS volume before backup. Possible values include `gp2`, `io1`, `st1`, `sc1`, `standard`.
	ClumioType *string `json:"type"`
	// The Clumio-assigned ID of the EBS volume associated with the volume backup.
	VolumeId *string `json:"volume_id"`
	// The AWS-assigned ID of the EBS volume associated with the volume backup.
	VolumeNativeId *string `json:"volume_native_id"`
}

EBSBackupV1 represents a custom type struct

type EBSRestoreSource added in v0.5.0

type EBSRestoreSource struct {
	// The Clumio-assigned ID of the EBS volume backup to be restored. Use the [GET /backups/aws/ebs-volumes](#operation/list-aws-ebs-volumes) endpoint to fetch valid values.
	BackupId *string `json:"backup_id"`
}

EBSRestoreSource represents a custom type struct. The EBS volume backup to be restored.

type EBSRestoreSourceV1

type EBSRestoreSourceV1 struct {
	// The Clumio-assigned ID of the EBS volume backup to be restored. Use the [GET /backups/aws/ebs-volumes](#operation/list-aws-ebs-volumes) endpoint to fetch valid values.
	BackupId *string `json:"backup_id"`
}

EBSRestoreSourceV1 represents a custom type struct. The EBS volume backup to be restored.

type EBSRestoreTarget added in v0.5.0

type EBSRestoreTarget struct {
	// The availability zone into which the EBS volume is restored. For example, `us-west-2a`.
	// Use the [GET /datasources/aws/environments](#operation/list-aws-environments) endpoint to fetch valid values.
	AwsAz *string `json:"aws_az"`
	// The Clumio-assigned ID of the AWS environment to be used as the restore destination. Use the [GET /datasources/aws/environments](#operation/list-aws-environments) endpoint to fetch valid values.
	EnvironmentId *string `json:"environment_id"`
	// Iops of the volume to be restored.
	// Iops field is only applicable if volume_type is gp3, io1, io2.
	Iops *int64 `json:"iops"`
	// The KMS encryption key ID used to encrypt the EBS volume data. The KMS encryption key ID is stored in the AWS cloud as part of your AWS account.
	KmsKeyNativeId *string `json:"kms_key_native_id"`
	// A tag created through AWS Console which can be applied to EBS volumes.
	Tags []*AwsTagCommonModel `json:"tags"`
	// Type of the volume to restore as.
	// Allowed Values: gp2, gp3, io1, io2, sc1, st1, standard.
	ClumioType *string `json:"type"`
}

EBSRestoreTarget represents a custom type struct. The configuration of the EBS volume to be restored.

type EBSRestoreTargetV1

type EBSRestoreTargetV1 struct {
	// The availability zone into which the EBS volume is restored. For example, `us-west-2a`.
	// Use the [GET /datasources/aws/environments](#operation/list-aws-environments) endpoint to fetch valid values.
	AwsAz *string `json:"aws_az"`
	// The Clumio-assigned ID of the AWS environment to be used as the restore destination. Use the [GET /datasources/aws/environments](#operation/list-aws-environments) endpoint to fetch valid values.
	EnvironmentId *string `json:"environment_id"`
	// The KMS encryption key ID used to encrypt the EBS volume data. The KMS encryption key ID is stored in the AWS cloud as part of your AWS account.
	KmsKeyNativeId *string `json:"kms_key_native_id"`
	// A tag created through AWS Console which can be applied to EBS volumes.
	Tags []*AwsTagCommonModel `json:"tags"`
}

EBSRestoreTargetV1 represents a custom type struct. The configuration of the EBS volume to be restored.

type EC2 added in v0.6.0

type EC2 struct {
	// Embedded responses related to the resource.
	Embedded *Ec2InstanceEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *Ec2InstanceLinks `json:"_links"`
	// The AWS-assigned ID of the account associated with the EC2 instance.
	AccountNativeId *string `json:"account_native_id"`
	// The AWS availability zone in which the EC2 instance resides. For example,
	// `us-west-2a`.
	AwsAz *string `json:"aws_az"`
	// Determines whether the EC2 instance has been deleted. If `true`, the instance has
	// been deleted.
	AwsRegion *string `json:"aws_region"`
	// The compliance status of the protected EC2 instance. Possible values include
	// "compliant" and "noncompliant". If the instance is not protected, then this field
	// has a value of `null`.
	ComplianceStatus *string `json:"compliance_status"`
	// The timestamp of when the instance was deleted. Represented in RFC-3339 format.
	// If this instance has not been deleted, then this field has a value of `null`.
	DeletionTimestamp *string `json:"deletion_timestamp"`
	// The Clumio-assigned ID of the policy directly assigned to the entity.
	DirectAssignmentPolicyId *string `json:"direct_assignment_policy_id"`
	// The Clumio-assigned ID of the AWS environment associated with the EC2 instance.
	EnvironmentId *string `json:"environment_id"`
	// Determines whether the table has a direct assignment.
	HasDirectAssignment *bool `json:"has_direct_assignment"`
	// The Clumio-assigned ID of the EC2 instance.
	Id *string `json:"id"`
	// The AWS-assigned ID of the EC2 instance.
	InstanceNativeId *string `json:"instance_native_id"`
	// Determines whether the EC2 instance has been deleted. If `true`, the instance has
	// been deleted.
	IsDeleted *bool `json:"is_deleted"`
	// Determines whether the EC2 instance is supported for backups.
	IsSupported *bool `json:"is_supported"`
	// The timestamp of the most recent backup of the EC2 instance. Represented in
	// RFC-3339 format. If the instance has never been backed up, then this field has a
	// value of `null`.
	LastBackupTimestamp *string `json:"last_backup_timestamp"`
	// The timestamp of the most recent snapshot of the EC2 instance taken as part of the
	// EC2 Snapshot Manager. Represented in RFC-3339 format. If the instance has never
	// been backed up, then this field has a value of `null`.
	LastSnapshotTimestamp *string `json:"last_snapshot_timestamp"`
	// The AWS-assigned name of the EC2 instance.
	Name *string `json:"name"`
	// The Clumio-assigned ID of the organizational unit associated with the EC2 instance.
	OrganizationalUnitId *string `json:"organizational_unit_id"`
	// The protection policy applied to this resource. If the resource is not protected, then this field has a value of `null`.
	ProtectionInfo *ProtectionInfoWithRule `json:"protection_info"`
	// The protection status of the EC2 instance. Possible values include "protected",
	// "unprotected", and "unsupported". If the EC2 instance does not support backups,
	// then this field has a value of `unsupported`. If the instance has been deleted,
	// then this field has a value of `null`.
	ProtectionStatus *string `json:"protection_status"`
	// The state of the EC2 instance. Possible values include: pending, running,
	// terminated, stopped, stopping, shutting-down, rebooting
	State *string `json:"state"`
	// The AWS Subnet ID of the EC2 instance
	SubnetId *string `json:"subnet_id"`
	// A tag created through AWS console which can be applied to EBS volumes.
	Tags []*AwsTagModel `json:"tags"`
	// The AWS region associated with the EC2 instance. Possible instances types can be
	// found in: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html
	ClumioType *string `json:"type"`
	// The reason why protection is not available. If the volume is supported,
	// then this field has a value of `null`.
	UnsupportedReason *string `json:"unsupported_reason"`
	// AWS-assigned ID of the VPC associated with the EC2 instance.
	VpcId *string `json:"vpc_id"`
}

EC2 represents a custom type struct

type EC2AMIRestoreTarget added in v0.5.0

type EC2AMIRestoreTarget struct {
	// The description for the AMI.
	Description *string `json:"description"`
	// TODO: Add struct field description
	EbsBlockDeviceMappings []*EC2RestoreEbsBlockDeviceMapping `json:"ebs_block_device_mappings"`
	// The Clumio-assigned ID of the AWS environment to be used as the restore destination.
	// Use the [GET /datasources/aws/environments](#operation/list-aws-environments) endpoint
	// to fetch valid values.
	EnvironmentId *string `json:"environment_id"`
	// The name for the AMI.
	Name *string `json:"name"`
	// A tag created through AWS Console which can be applied to EBS volumes.
	Tags []*AwsTagCommonModel `json:"tags"`
}

EC2AMIRestoreTarget represents a custom type struct. The configuration for the restore to AMI.

type EC2Backup added in v0.9.0

type EC2Backup struct {
	// URLs to pages related to the resource.
	Links *EC2BackupLinks `json:"_links"`
	// The AWS-assigned ID of the account associated with the backup.
	AccountNativeId *string `json:"account_native_id"`
	// An Amazon Machine Image is a supported and maintained image provided by AWS
	// that provides the information required to launch an instance.
	Ami *AmiModel `json:"ami"`
	// TODO: Add struct field description
	AttachedBackupEbsVolumes []*AttachedEBSVolumeFullModel `json:"attached_backup_ebs_volumes"`
	// The availability zone of the instance.
	AwsAz *string `json:"aws_az"`
	// The AWS region in which the instance backup resides. For example, `us-west-2`.
	AwsRegion *string `json:"aws_region"`
	// An Amazon Machine Image is a supported and maintained image provided by AWS
	// that provides the information required to launch an instance.
	BackupAmi *AmiModel `json:"backup_ami"`
	// The tier to which the backup is tagged to.
	BackupTier *string `json:"backup_tier"`
	// The reason that browsing is unavailable for the backup.
	// If browse indexing is successful, then this field has a value of `null`.
	BrowsingFailedReason *string `json:"browsing_failed_reason"`
	// The timestamp of when this backup expires. Represented in RFC-3339 format.
	ExpirationTimestamp *string `json:"expiration_timestamp"`
	// Denotes an IAM instance profile. An instance profile is a container for an
	// IAM role that you can use to pass role information to an EC2 instance when
	// the instance starts.
	IamInstanceProfile *IamInstanceProfileModel `json:"iam_instance_profile"`
	// The Clumio-assigned ID of the instance backup.
	Id *string `json:"id"`
	// The Clumio-assigned ID of the EC2 instance associated with the instance backup.
	InstanceId *string `json:"instance_id"`
	// The AWS-assigned ID of the EC2 instance associated with the instance backup.
	InstanceNativeId *string `json:"instance_native_id"`
	// TODO: Add struct field description
	InstanceStoreBlockDeviceMappings []*InstanceStoreBlockDeviceMapping `json:"instance_store_block_device_mappings"`
	// The instance type of the original EC2 instance before backup. For example, `m5.large`.
	InstanceType *string `json:"instance_type"`
	// Determines whether browsing is available for the backup. If `true`, then browsing is available for the backup.
	IsBrowsable *bool `json:"is_browsable"`
	// The name of the key pair associated with this instance. If this instance was not launched with an associated key pair, then this field has a value of `null`.
	KeyPairName *string `json:"key_pair_name"`
	// The ID of the key pair associated with this instance. If this instance was not launched with an associated key pair, then this field has a value of `null`.
	KeyPairNativeId *string `json:"key_pair_native_id"`
	// The timestamp of when the migration was triggered. This field will be set only for
	// migration backups. Represented in RFC-3339 format.
	MigrationTimestamp *string `json:"migration_timestamp"`
	// TODO: Add struct field description
	NetworkInterfaces []*NetworkInterface `json:"network_interfaces"`
	// The public IP v4 address of the instance if one was assigned.
	PublicIpAddress *string `json:"public_ip_address"`
	// The size of the instance backup. This is the sum of all the EBS volumes attached to the EC2 measured in gigabytes (GB).
	Size *int64 `json:"size"`
	// The timestamp of when this backup started. Represented in RFC-3339 format.
	StartTimestamp *string `json:"start_timestamp"`
	// The AWS-assigned Subnet ID of the EC2 instance.
	SubnetNativeId *string `json:"subnet_native_id"`
	// A tag created through AWS Console which can be applied to EBS volumes.
	Tags []*AwsTagCommonModel `json:"tags"`
	// The type of the backup.
	ClumioType *string `json:"type"`
	// The total number of bytes written in all the disks of the EC2 instance.
	UtilizedSizeInBytes *uint64 `json:"utilized_size_in_bytes"`
	// The AWS-assigned ID of the VPC associated with the EC2 instance.
	VpcNativeId *string `json:"vpc_native_id"`
}

EC2Backup represents a custom type struct

type EC2BackupAdvancedSetting added in v0.2.9

type EC2BackupAdvancedSetting struct {
	// Backup tier to store the backup in. Valid values are: (empty) equivalent to standard, `standard`, and `lite`.
	BackupTier *string `json:"backup_tier"`
}

EC2BackupAdvancedSetting represents a custom type struct. Advanced settings for EC2 backup.

type EC2BackupLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// A resource-specific HATEOAS link.
	RestoreAwsEc2Instance *HateoasLink `json:"restore-aws-ec2-instance"`
}

EC2BackupLinks represents a custom type struct. URLs to pages related to the resource.

type EC2BackupListEmbedded added in v0.9.0

type EC2BackupListEmbedded struct {
	// TODO: Add struct field description
	Items []*EC2Backup `json:"items"`
}

EC2BackupListEmbedded represents a custom type struct. Embedded responses related to the resource.

type EC2BackupListLinks struct {
	// The HATEOAS link to the first page of results.
	First *HateoasFirstLink `json:"_first"`
	// The HATEOAS link to the last page of results.
	Last *HateoasLastLink `json:"_last"`
	// The HATEOAS link to the next page of results.
	Next *HateoasNextLink `json:"_next"`
	// The HATEOAS link to the previous page of results.
	Prev *HateoasPrevLink `json:"_prev"`
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

EC2BackupListLinks represents a custom type struct. URLs to pages related to the resource.

type EC2InstanceListLinks struct {
	// The HATEOAS link to the first page of results.
	First *HateoasFirstLink `json:"_first"`
	// The HATEOAS link to the last page of results.
	Last *HateoasLastLink `json:"_last"`
	// The HATEOAS link to the next page of results.
	Next *HateoasNextLink `json:"_next"`
	// The HATEOAS link to the previous page of results.
	Prev *HateoasPrevLink `json:"_prev"`
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

EC2InstanceListLinks represents a custom type struct. URLs to pages related to the resource.

type EC2InstanceRestoreTarget added in v0.5.0

type EC2InstanceRestoreTarget struct {
	// The AWS-assigned ID of the Amazon Machine Image (AMI) used to launch the EC2 instance.
	AmiNativeId *string `json:"ami_native_id"`
	// The availability zone for the instance. This is determined by the subnet chosen to
	// restore the EC2 instance into.
	AwsAz *string `json:"aws_az"`
	// TODO: Add struct field description
	EbsBlockDeviceMappings []*EC2RestoreEbsBlockDeviceMapping `json:"ebs_block_device_mappings"`
	// The Clumio-assigned ID of the AWS environment to be used as the restore destination.
	// Use the [GET /datasources/aws/environments](#operation/list-aws-environments) endpoint
	// to fetch valid values.
	EnvironmentId *string `json:"environment_id"`
	// The name of IAM instance profile to launch the instance with.
	IamInstanceProfileName *string `json:"iam_instance_profile_name"`
	// The name of SSH KeyPair to be used.
	KeyPairName *string `json:"key_pair_name"`
	// TODO: Add struct field description
	NetworkInterfaces []*EC2RestoreNetworkInterface `json:"network_interfaces"`
	// Whether or not to power the instance on at the end of restore. If this is set
	// to true, the instance state will be 'running.' If it is set to false, the state
	// will be 'stopped.'
	ShouldPowerOn *bool `json:"should_power_on"`
	// The AWS-assigned ID of the subnet to launch the instance into.
	SubnetNativeId *string `json:"subnet_native_id"`
	// A tag created through AWS Console which can be applied to EBS volumes.
	Tags []*AwsTagCommonModel `json:"tags"`
	// The AWS-assigned ID of the vpc to launch the instance into.
	VpcNativeId *string `json:"vpc_native_id"`
}

EC2InstanceRestoreTarget represents a custom type struct. The configuration of an EC2 instance to be restored.

type EC2MSSQLAG added in v0.10.0

type EC2MSSQLAG struct {
	// Embedded responses related to the resource.
	Embedded *EC2MSSQLAGEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *EC2MSSQLAGLinks `json:"_links"`
	// The Clumio-assigned ID of the availability group.
	Id *string `json:"id"`
	// The Microsoft SQL-assigned name of the availability group.
	Name *string `json:"name"`
	// The Clumio-assigned ID of the organizational unit associated with the availability group.
	OrganizationalUnitId *string `json:"organizational_unit_id"`
	// The protection policy applied to this resource. If the resource is not protected, then this field has a value of `null`.
	ProtectionInfo *ProtectionInfo `json:"protection_info"`
	// The status of the availability group, Possible values include 'active' and 'inactive'.
	Status *string `json:"status"`
}

EC2MSSQLAG represents a custom type struct

type EC2MSSQLAGEmbedded added in v0.10.0

type EC2MSSQLAGEmbedded struct {
	// availability group level backup status stats
	GetMssqlEc2AvailabilityGroupBackupStatusStats interface{} `json:"get-mssql-ec2-availability-group-backup-status-stats"`
	// availability group level protection stats
	GetMssqlEc2AvailabilityGroupStats interface{} `json:"get-mssql-ec2-availability-group-stats"`
	// Embeds the associated policy of a protected resource in the response if requested using the `embed` query parameter. Unprotected resources will not have an associated policy.
	ReadPolicyDefinition interface{} `json:"read-policy-definition"`
}

EC2MSSQLAGEmbedded represents a custom type struct. Embedded responses related to the resource.

type EC2MSSQLAGLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// A resource-specific HATEOAS link.
	GetMssqlEc2AvailabilityGroupBackupStatusStats *HateoasLink `json:"get-mssql-ec2-availability-group-backup-status-stats"`
	// A resource-specific HATEOAS link.
	GetMssqlEc2AvailabilityGroupStats *HateoasLink `json:"get-mssql-ec2-availability-group-stats"`
	// A HATEOAS link to the policy protecting this resource. Will be omitted for unprotected entities.
	ReadPolicyDefinition *ReadPolicyDefinitionHateoasLink `json:"read-policy-definition"`
}

EC2MSSQLAGLinks represents a custom type struct. URLs to pages related to the resource.

type EC2MSSQLAGListEmbedded added in v0.10.0

type EC2MSSQLAGListEmbedded struct {
	// TODO: Add struct field description
	Items []*EC2MSSQLAG `json:"items"`
}

EC2MSSQLAGListEmbedded represents a custom type struct. Embedded responses related to the resource.

type EC2MSSQLAGListLinks struct {
	// The HATEOAS link to the first page of results.
	First *HateoasFirstLink `json:"_first"`
	// The HATEOAS link to the last page of results.
	Last *HateoasLastLink `json:"_last"`
	// The HATEOAS link to the next page of results.
	Next *HateoasNextLink `json:"_next"`
	// The HATEOAS link to the previous page of results.
	Prev *HateoasPrevLink `json:"_prev"`
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

EC2MSSQLAGListLinks represents a custom type struct. URLs to pages related to the resource.

type EC2MSSQLDatabase added in v0.10.0

type EC2MSSQLDatabase struct {
	// Embedded responses related to the resource.
	Embedded *EC2MSSQLDatabaseEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *EC2MSSQLDatabaseLinks `json:"_links"`
	// The AWS-assigned ID of the account associated with the EC2 instance the database resides in.
	AccountNativeId *string `json:"account_native_id"`
	// The Clumio-assigned ID of the availability group. It is null in case of a standalone database.
	AvailabilityGroupId *string `json:"availability_group_id"`
	// The Microsoft SQL assigned name of the availability group. It is null in case of a standalone database.
	AvailabilityGroupName *string `json:"availability_group_name"`
	// The AWS region associated with the EC2 instance the database resides in.
	AwsRegion *string `json:"aws_region"`
	// The policy compliance status of the resource. If the database is not protected,
	// then this field has a value of `null`. Refer to
	//
	// the Compliance Status table
	//
	// for a complete list of compliance statuses.
	ComplianceStatus *string `json:"compliance_status"`
	// The Clumio-assigned ID of the AWS environment associated with the EC2 MSSQL database.
	EnvironmentId *string `json:"environment_id"`
	// The Clumio-assigned ID of the failover cluster.
	FailoverClusterId *string `json:"failover_cluster_id"`
	// The Microsoft SQL assigned name of the Failover Cluster
	FailoverClusterName *string `json:"failover_cluster_name"`
	// Failovercluster Protection Status is used to indicate the fci protection status associated with the
	// fci database
	FailoverClusterProtectionStatus *string `json:"failover_cluster_protection_status"`
	// The Clumio-assigned ID of the host connection containing the given database.
	HostConnectionId *string `json:"host_connection_id"`
	// The user-provided endpoint of the host containing the given database.
	HostEndpoint *string `json:"host_endpoint"`
	// The Clumio-assigned ID of the host containing the given database.
	HostId *string `json:"host_id"`
	// The Clumio-assigned ID of the Database.
	Id *string `json:"id"`
	// The Clumio-assigned ID of the instance containing the given database.
	InstanceId *string `json:"instance_id"`
	// The name of the Microsoft SQL instance containing the given database.
	InstanceName *string `json:"instance_name"`
	// is_supported is true if Clumio supports backup of the database.
	IsSupported *bool `json:"is_supported"`
	// The timestamp of the last time this database was full backed up.
	// Represented in RFC-3339 format. If this database has never been backed up,
	// this field has a value of `null`.
	LastBackupTimestamp *string `json:"last_backup_timestamp"`
	// The timestamp of the last time this database was log backed up in Bulk Recovery Model.
	// Represented in RFC-3339 format. If this database has never been backed up,
	// this field has a value of `null`.
	LastBulkRecoveryModelLogBackupTimestamp *string `json:"last_bulk_recovery_model_log_backup_timestamp"`
	// The timestamp of the last time this database was log backed up in Full Recovery Model.
	// Represented in RFC-3339 format. If this database has never been backed up,
	// this field has a value of `null`.
	LastFullRecoveryModelLogBackupTimestamp *string `json:"last_full_recovery_model_log_backup_timestamp"`
	// The name of the Database.
	Name *string `json:"name"`
	// The Clumio-assigned ID of the organizational unit associated with the database.
	OrganizationalUnitId *string `json:"organizational_unit_id"`
	// The protection policy applied to this resource. If the resource is not protected, then this field has a value of `null`.
	ProtectionInfo *ProtectionInfo `json:"protection_info"`
	// recovery_model is the recovery model of the database. Possible values include 'simple_recovery_model',
	// 'bulk_recovery_model', and 'full_recovery_model'.
	RecoveryModel *string `json:"recovery_model"`
	// The size of the Database.
	Size *float64 `json:"size"`
	// The status of the database, Possible values include 'active' and 'inactive'.
	Status *string `json:"status"`
	// The type of the database. Possible values include 'availability_group_database' and 'standalone_database'.
	ClumioType *string `json:"type"`
	// unsupported_reason is the reason why Clumio doesn't support backup of such database,
	// possible values include 'filestream_enabled_database'.
	UnsupportedReason *string `json:"unsupported_reason"`
}

EC2MSSQLDatabase represents a custom type struct

type EC2MSSQLDatabaseBackup added in v0.6.0

type EC2MSSQLDatabaseBackup struct {
	// Embedded responses related to the resource.
	Embedded *EC2MSSQLDatabaseBackupEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *EC2MSSQLDatabaseBackupLinks `json:"_links"`
	// TODO: Add struct field description
	DatabaseFiles []*MssqlDatabaseFile `json:"database_files"`
	// The Clumio-assigned ID of the database associated with this backup.
	DatabaseId *string `json:"database_id"`
	// The Microsoft SQL database engine at the time of backup.
	Engine *string `json:"engine"`
	// The Microsoft SQL database engine version at the time of backup.
	EngineVersion *string `json:"engine_version"`
	// The Clumio-assigned ID of the AWS environment associated with the database at the time of backup.
	EnvironmentId *string `json:"environment_id"`
	// The timestamp of when this backup expires. Represented in RFC-3339 format.
	ExpirationTimestamp *string `json:"expiration_timestamp"`
	// The user-provided endpoint of the host containing the given database at the time of backup.
	HostEndpoint *string `json:"host_endpoint"`
	// The Clumio-assigned ID of the host associated with the database at the time of backup.
	HostId *string `json:"host_id"`
	// The Clumio-assigned ID of the backup.
	Id *string `json:"id"`
	// The Clumio-assigned instance id at the time of backup.
	InstanceId *string `json:"instance_id"`
	// The instance name at the time of backup.
	InstanceName *string `json:"instance_name"`
	// The timestamp of when this backup started. Represented in RFC-3339 format.
	StartTimestamp *string `json:"start_timestamp"`
	// The type of backup.
	ClumioType *string `json:"type"`
}

EC2MSSQLDatabaseBackup represents a custom type struct

type EC2MSSQLDatabaseBackupAdvancedSetting added in v0.6.0

type EC2MSSQLDatabaseBackupAdvancedSetting struct {
	// The alternative replica for MSSQL database backups. This setting only applies to Availability Group databases. Possible values include `"primary"`, `"sync_secondary"`, and `"stop"`. If `"stop"` is provided, then backups will not attempt to switch to a different replica when the preferred replica is unavailable. Otherwise, recurring backups will attempt to use either the primary replica or the secondary replica accordingly.
	AlternativeReplica *string `json:"alternative_replica"`
	// The primary preferred replica for MSSQL database backups. This setting only applies to Availability Group databases. Possible values include `"primary"` and `"sync_secondary"`. Recurring backup will first attempt to use either the primary replica or the secondary replica accordingly.
	PreferredReplica *string `json:"preferred_replica"`
}

EC2MSSQLDatabaseBackupAdvancedSetting represents a custom type struct. Additional policy configuration settings for the `ec2_mssql_database_backup` operation. If this operation is not of type `ec2_mssql_database_backup`, then this field is omitted from the response.

type EC2MSSQLDatabaseBackupEmbedded added in v0.6.0

type EC2MSSQLDatabaseBackupEmbedded struct {
	// Embed information for AWS Environment details
	ReadAwsEnvironment interface{} `json:"read-aws-environment"`
}

EC2MSSQLDatabaseBackupEmbedded represents a custom type struct. Embedded responses related to the resource.

type EC2MSSQLDatabaseBackupLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// A resource-specific HATEOAS link.
	ReadAwsEnvironment *HateoasLink `json:"read-aws-environment"`
	// A resource-specific HATEOAS link.
	RestoreEc2MssqlDatabase *HateoasLink `json:"restore-ec2-mssql-database"`
}

EC2MSSQLDatabaseBackupLinks represents a custom type struct. URLs to pages related to the resource.

type EC2MSSQLDatabaseBackupListEmbedded added in v0.6.0

type EC2MSSQLDatabaseBackupListEmbedded struct {
	// TODO: Add struct field description
	Items []*EC2MSSQLDatabaseBackup `json:"items"`
}

EC2MSSQLDatabaseBackupListEmbedded represents a custom type struct. Embedded responses related to the resource.

type EC2MSSQLDatabaseBackupListLinks struct {
	// The HATEOAS link to the first page of results.
	First *HateoasFirstLink `json:"_first"`
	// The HATEOAS link to the last page of results.
	Last *HateoasLastLink `json:"_last"`
	// The HATEOAS link to the next page of results.
	Next *HateoasNextLink `json:"_next"`
	// The HATEOAS link to the previous page of results.
	Prev *HateoasPrevLink `json:"_prev"`
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

EC2MSSQLDatabaseBackupListLinks represents a custom type struct. URLs to pages related to the resource.

type EC2MSSQLDatabaseEmbedded added in v0.10.0

type EC2MSSQLDatabaseEmbedded struct {
	// Embed information about the Hosts part of FCI databases
	GetEc2MssqlFailoverClustersHostsInfo interface{} `json:"get-ec2-mssql-failover-clusters-hosts-info"`
	// AWS inventory EC2 Instance embed
	ReadAwsEc2Instance interface{} `json:"read-aws-ec2-instance"`
	// Embed information for AWS Environment details
	ReadAwsEnvironment interface{} `json:"read-aws-environment"`
	// Embeds the associated policy of a protected resource in the response if requested using the `embed` query parameter. Unprotected resources will not have an associated policy.
	ReadPolicyDefinition interface{} `json:"read-policy-definition"`
}

EC2MSSQLDatabaseEmbedded represents a custom type struct. Embedded responses related to the resource.

type EC2MSSQLDatabaseLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// A resource-specific HATEOAS link.
	CreateBackupEc2MssqlDatabase *HateoasLink `json:"create-backup-ec2-mssql-database"`
	// A resource-specific HATEOAS link.
	ListBackupEc2MssqlDatabases *HateoasLink `json:"list-backup-ec2-mssql-databases"`
	// A resource-specific HATEOAS link.
	ReadAwsEc2Instance *HateoasLink `json:"read-aws-ec2-instance"`
	// A resource-specific HATEOAS link.
	ReadAwsEnvironment *HateoasLink `json:"read-aws-environment"`
	// A HATEOAS link to the policy protecting this resource. Will be omitted for unprotected entities.
	ReadPolicyDefinition *ReadPolicyDefinitionHateoasLink `json:"read-policy-definition"`
}

EC2MSSQLDatabaseLinks represents a custom type struct. URLs to pages related to the resource.

type EC2MSSQLDatabaseListEmbedded added in v0.10.0

type EC2MSSQLDatabaseListEmbedded struct {
	// TODO: Add struct field description
	Items []*EC2MSSQLDatabase `json:"items"`
}

EC2MSSQLDatabaseListEmbedded represents a custom type struct. Embedded responses related to the resource.

type EC2MSSQLDatabaseListLinks struct {
	// The HATEOAS link to the first page of results.
	First *HateoasFirstLink `json:"_first"`
	// The HATEOAS link to the last page of results.
	Last *HateoasLastLink `json:"_last"`
	// The HATEOAS link to the next page of results.
	Next *HateoasNextLink `json:"_next"`
	// The HATEOAS link to the previous page of results.
	Prev *HateoasPrevLink `json:"_prev"`
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

EC2MSSQLDatabaseListLinks represents a custom type struct. URLs to pages related to the resource.

type EC2MSSQLFCI added in v0.10.0

type EC2MSSQLFCI struct {
	// Embedded responses related to the resource.
	Embedded *EC2MSSQLFCIEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *EC2MSSQLFCILinks `json:"_links"`
	// ComplianceStatus of the resource
	ComplianceStatus *string `json:"compliance_status"`
	// The Clumio-assigned ID of the failover cluster.
	Id *string `json:"id"`
	// The Microsoft SQL-assigned name of the failover cluster.
	Name *string `json:"name"`
	// The Clumio-assigned ID of the organizational unit associated with the FCI.
	OrganizationalUnitId *string `json:"organizational_unit_id"`
	// The protection policy applied to this resource. If the resource is not protected, then this field has a value of `null`.
	ProtectionInfo *ProtectionInfo `json:"protection_info"`
	// ProtectionStatus of the FCI
	ProtectionStatus *string `json:"protection_status"`
	// The status of the FCI, Possible values include 'active' and 'inactive'.
	Status *string `json:"status"`
}

EC2MSSQLFCI represents a custom type struct

type EC2MSSQLFCIEmbedded added in v0.10.0

type EC2MSSQLFCIEmbedded struct {
	// FCIBackupStatusStats contain information about the backup status of the databases in the cluster
	GetEc2MssqlFailoverClusterBackupStatusStats interface{} `json:"get-ec2-mssql-failover-cluster-backup-status-stats"`
	// ConnectedHostsInfo contains information about the hosts associated with the cluster
	GetEc2MssqlFailoverClusterHostsInfo interface{} `json:"get-ec2-mssql-failover-cluster-hosts-info"`
	// FCIStats contain information about the compliant databases in the cluster
	GetEc2MssqlFailoverClusterStats interface{} `json:"get-ec2-mssql-failover-cluster-stats"`
	// Embeds the associated policy of a protected resource in the response if requested using the `embed` query parameter. Unprotected resources will not have an associated policy.
	ReadPolicyDefinition interface{} `json:"read-policy-definition"`
}

EC2MSSQLFCIEmbedded represents a custom type struct. Embedded responses related to the resource.

type EC2MSSQLFCILinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// A HATEOAS link to the policy protecting this resource. Will be omitted for unprotected entities.
	ReadPolicyDefinition *ReadPolicyDefinitionHateoasLink `json:"read-policy-definition"`
}

EC2MSSQLFCILinks represents a custom type struct. URLs to pages related to the resource.

type EC2MSSQLFCIListEmbedded added in v0.10.0

type EC2MSSQLFCIListEmbedded struct {
	// TODO: Add struct field description
	Items []*EC2MSSQLFCI `json:"items"`
}

EC2MSSQLFCIListEmbedded represents a custom type struct. Embedded responses related to the resource.

type EC2MSSQLFCIListLinks struct {
	// The HATEOAS link to the first page of results.
	First *HateoasFirstLink `json:"_first"`
	// The HATEOAS link to the last page of results.
	Last *HateoasLastLink `json:"_last"`
	// The HATEOAS link to the next page of results.
	Next *HateoasNextLink `json:"_next"`
	// The HATEOAS link to the previous page of results.
	Prev *HateoasPrevLink `json:"_prev"`
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

EC2MSSQLFCIListLinks represents a custom type struct. URLs to pages related to the resource.

type EC2MSSQLInstance added in v0.10.0

type EC2MSSQLInstance struct {
	// Embedded responses related to the resource.
	Embedded *EC2MSSQLInstanceEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *EC2MSSQLInstanceLinks `json:"_links"`
	// The AWS-assigned ID of the account associated with the EC2 instance of the MSSQL instance.
	AccountNativeId *string `json:"account_native_id"`
	// The AWS region associated with the EC2 instance of the MSSQL instance.
	AwsRegion *string `json:"aws_region"`
	// The Clumio-assigned ID of the AWS environment associated with the EC2 MSSQL instance.
	EnvironmentId *string `json:"environment_id"`
	// The boolean value represents if availability group is present in the instance.
	HasAssociatedAvailabilityGroup *bool `json:"has_associated_availability_group"`
	// The Clumio-assigned ID of the host connection containing the given mssql instance.
	HostConnectionId *string `json:"host_connection_id"`
	// The user-provided endpoint of the host containing the given database.
	HostEndpoint *string `json:"host_endpoint"`
	// The Clumio-assigned ID of the host, containing the instance.
	HostId *string `json:"host_id"`
	// The Clumio-assigned ID of the Instance.
	Id *string `json:"id"`
	// The Microsoft SQL assigned name of the instance.
	Name *string `json:"name"`
	// The Clumio-assigned ID of the organizational unit associated with the instance.
	OrganizationalUnitId *string `json:"organizational_unit_id"`
	// Product Version of the instance.
	ProductVersion *string `json:"product_version"`
	// The protection policy applied to this resource. If the resource is not protected, then this field has a value of `null`.
	ProtectionInfo *ProtectionInfo `json:"protection_info"`
	// The Microsoft SQL assigned server name of the instance.
	ServerName *string `json:"server_name"`
	// The status of the Instance, Possible values include 'active' and 'inactive'.
	Status *string `json:"status"`
}

EC2MSSQLInstance represents a custom type struct

type EC2MSSQLInstanceEmbedded added in v0.10.0

type EC2MSSQLInstanceEmbedded struct {
	// Stats pertaining to the EC2 MSSQL Instance.
	GetEc2MssqlInstanceStats interface{} `json:"get-ec2-mssql-instance-stats"`
	// Embeds the associated policy of a protected resource in the response if requested using the `embed` query parameter. Unprotected resources will not have an associated policy.
	ReadPolicyDefinition interface{} `json:"read-policy-definition"`
}

EC2MSSQLInstanceEmbedded represents a custom type struct. Embedded responses related to the resource.

type EC2MSSQLInstanceLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// A HATEOAS link to the policy protecting this resource. Will be omitted for unprotected entities.
	ReadPolicyDefinition *ReadPolicyDefinitionHateoasLink `json:"read-policy-definition"`
}

EC2MSSQLInstanceLinks represents a custom type struct. URLs to pages related to the resource.

type EC2MSSQLInstanceListEmbedded added in v0.10.0

type EC2MSSQLInstanceListEmbedded struct {
	// TODO: Add struct field description
	Items []*EC2MSSQLInstance `json:"items"`
}

EC2MSSQLInstanceListEmbedded represents a custom type struct. Embedded responses related to the resource.

type EC2MSSQLInstanceListLinks struct {
	// The HATEOAS link to the first page of results.
	First *HateoasFirstLink `json:"_first"`
	// The HATEOAS link to the last page of results.
	Last *HateoasLastLink `json:"_last"`
	// The HATEOAS link to the next page of results.
	Next *HateoasNextLink `json:"_next"`
	// The HATEOAS link to the previous page of results.
	Prev *HateoasPrevLink `json:"_prev"`
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

EC2MSSQLInstanceListLinks represents a custom type struct. URLs to pages related to the resource.

type EC2MSSQLInvHost added in v0.10.0

type EC2MSSQLInvHost struct {
	// Embedded responses related to the resource.
	Embedded interface{} `json:"_embedded"`
	// EC2MSSQLInvHostLinks contains links related to ec2 mssql host
	// URLs to pages related to the resource.
	Links *EC2MSSQLInvHostLinks `json:"_links"`
	// The AWS-assigned ID of the account associated with the EC2 instance of the MSSQL host.
	AccountNativeId *string `json:"account_native_id"`
	// The AWS region associated with the EC2 instance of the MSSQL host.
	AwsRegion *string `json:"aws_region"`
	// The Clumio-assigned ID of the host connection.
	ConnectionId *string `json:"connection_id"`
	// The user-provided endpoint of the host containing the given database.
	Endpoint *string `json:"endpoint"`
	// The Clumio-assigned ID of the AWS environment associated with the EC2 MSSQL host.
	EnvironmentId *string `json:"environment_id"`
	// Determines whether or not an availability group is present in the host.
	HasAssociatedAvailabilityGroup *bool `json:"has_associated_availability_group"`
	// The Clumio-assigned ID of the Host.
	Id *string `json:"id"`
	// The number of instances present in the host.
	InstanceCount *int64 `json:"instance_count"`
	// IsPartOfFCI is a boolean field representing if the Host is part of Failover Cluster
	IsPartOfFci *bool `json:"is_part_of_fci"`
	// The Clumio-assigned ID of the organizational unit associated with the host.
	OrganizationalUnitId *string `json:"organizational_unit_id"`
	// The protection policy applied to this resource. If the resource is not protected, then this field has a value of `null`.
	ProtectionInfo *ProtectionInfo `json:"protection_info"`
	// The status of the Host, Possible values include 'active' and 'inactive'.
	Status *string `json:"status"`
}

EC2MSSQLInvHost represents a custom type struct

type EC2MSSQLInvHostLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

EC2MSSQLInvHostLinks represents a custom type struct. EC2MSSQLInvHostLinks contains links related to ec2 mssql host URLs to pages related to the resource.

type EC2MSSQLInvHostListEmbedded added in v0.10.0

type EC2MSSQLInvHostListEmbedded struct {
	// TODO: Add struct field description
	Items []*EC2MSSQLInvHost `json:"items"`
}

EC2MSSQLInvHostListEmbedded represents a custom type struct. Embedded responses related to the resource.

type EC2MSSQLInvHostListLinks struct {
	// The HATEOAS link to the first page of results.
	First *HateoasFirstLink `json:"_first"`
	// The HATEOAS link to the last page of results.
	Last *HateoasLastLink `json:"_last"`
	// The HATEOAS link to the next page of results.
	Next *HateoasNextLink `json:"_next"`
	// The HATEOAS link to the previous page of results.
	Prev *HateoasPrevLink `json:"_prev"`
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

EC2MSSQLInvHostListLinks represents a custom type struct. URLs to pages related to the resource.

type EC2MSSQLLogBackupAdvancedSetting added in v0.6.0

type EC2MSSQLLogBackupAdvancedSetting struct {
	// The alternative replica for MSSQL log backups. This setting only applies to Availability Group databases. Possible values include `"primary"`, `"sync_secondary"`, and `"stop"`. If `"stop"` is provided, then backups will not attempt to switch to a different replica when the preferred replica is unavailable. Otherwise, recurring backups will attempt to use either the primary replica or the secondary replica accordingly.
	AlternativeReplica *string `json:"alternative_replica"`
	// The primary preferred replica for MSSQL log backups. This setting only applies to Availability Group databases. Possible values include `"primary"` and `"sync_secondary"`. Recurring backup will first attempt to use either the primary replica or the secondary replica accordingly.
	PreferredReplica *string `json:"preferred_replica"`
}

EC2MSSQLLogBackupAdvancedSetting represents a custom type struct. Additional policy configuration settings for the `ec2_mssql_log_backup` operation. If this operation is not of type `ec2_mssql_log_backup`, then this field is omitted from the response.

type EC2MSSQLPITROptions added in v0.6.0

type EC2MSSQLPITROptions struct {
	// The Clumio-assigned ID of the MSSQL database to be restored.
	// Use the [GET /datasources/aws/ec2-mssql/databases](#operation/list-ec2-mssql-databases)
	// endpoint to fetch valid values.
	DatabaseId *string `json:"database_id"`
	// The point in time to be restored in RFC-3339 format.
	Timestamp *string `json:"timestamp"`
}

EC2MSSQLPITROptions represents a custom type struct. A database backup at a specific point-in-time to be restored.

type EC2MSSQLProtectConfig added in v0.6.0

type EC2MSSQLProtectConfig struct {
	// The current version of the feature.
	InstalledTemplateVersion *string `json:"installed_template_version"`
}

EC2MSSQLProtectConfig represents a custom type struct. EC2MSSQLProtectConfig The installed information for the EC2_MSSQL feature.

type EC2MSSQLRestoreFromBackupOptions added in v0.6.0

type EC2MSSQLRestoreFromBackupOptions struct {
	// The Clumio-assigned ID of the backup to be restored.
	// Use the [GET /backups/aws/ec2-mssql/databases](#operation/list-backup-ec2-mssql-databases)
	// endpoint to fetch valid values.
	BackupId *string `json:"backup_id"`
}

EC2MSSQLRestoreFromBackupOptions represents a custom type struct. The EC2 MSSQL database backup to be restored.

type EC2MSSQLRestoreSource added in v0.6.0

type EC2MSSQLRestoreSource struct {
	// The EC2 MSSQL database backup to be restored.
	Backup *EC2MSSQLRestoreFromBackupOptions `json:"backup"`
	// A database backup at a specific point-in-time to be restored.
	Pitr *EC2MSSQLPITROptions `json:"pitr"`
	// An AG database to be restored to an AAG.
	RestoreToAag *EC2MSSQLRestoreToAAGOptions `json:"restore_to_aag"`
}

EC2MSSQLRestoreSource represents a custom type struct. The EC2 MSSQL database backup to be restored. Only one of `backup` or `pitr` should be set. `pitr` A database backup at a specific point in time to be restored.

type EC2MSSQLRestoreTarget added in v0.6.0

type EC2MSSQLRestoreTarget struct {
	// The target location within the instance to restore data files. For example,
	// `C:\\Programe Files\clumio\restored-data-files\`. If this field is empty, we
	// will restore data files into the same location as the source database.
	DataFilesPath *string `json:"data_files_path"`
	// The user-assigned name of the database.
	DatabaseName *string `json:"database_name"`
	// Final database state after clumio restored the database. If final_database_state
	// is set to empty then clumio will make database in online state.
	// Possible vales are `RESTORING` or `ONLINE`
	FinalDatabaseState *string `json:"final_database_state"`
	// The Clumio-assigned ID of the instance to restore the database into.
	// Use the [GET /datasources/aws/ec2-mssql/instances](#operation/list-ec2-mssql-instances) to fetch valid values.
	InstanceId *string `json:"instance_id"`
	// The target location within the instance to restore log files. For example,
	// `C:\\Programe Files\clumio\restored-log-files\`. If this field is empty, we
	// will restore log files into the same location as the source database.
	LogFilesPath *string `json:"log_files_path"`
	// The boolean value representing if the database has to be restored as new database.
	RestoreAsNewDatabase *bool `json:"restore_as_new_database"`
}

EC2MSSQLRestoreTarget represents a custom type struct. The configuration of the EC2 MSSQL database to which the data has to be restored.

type EC2MSSQLRestoreToAAGOptions added in v0.13.0

type EC2MSSQLRestoreToAAGOptions struct {
	// The Clumio-assigned ID of the MSSQL database to be restored.
	// Use the [GET /datasources/aws/ec2-mssql/databases](#operation/list-ec2-mssql-databases)
	// endpoint to fetch valid values.
	DatabaseId *string `json:"database_id"`
}

EC2MSSQLRestoreToAAGOptions represents a custom type struct. An AG database to be restored to an AAG.

type EC2MSSQLTemplateInfo added in v0.6.0

type EC2MSSQLTemplateInfo struct {
	// The latest available feature version for the asset.
	AvailableTemplateVersion *string `json:"available_template_version"`
}

EC2MSSQLTemplateInfo represents a custom type struct. The latest available information for the EC2 MSSQL feature.

type EC2MssqlDatabasePitrInterval added in v0.10.0

type EC2MssqlDatabasePitrInterval struct {
	// Embedded responses related to the resource.
	Embedded interface{} `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *EC2MssqlDatabasePitrIntervalLinks `json:"_links"`
	// End timestamp of the interval. Represented in RFC-3339 format.
	EndTimestamp *string `json:"end_timestamp"`
	// Start timestamp of the interval. Represented in RFC-3339 format.
	StartTimestamp *string `json:"start_timestamp"`
}

EC2MssqlDatabasePitrInterval represents a custom type struct

type EC2MssqlDatabasePitrIntervalLinks struct {
	// A resource-specific HATEOAS link.
	RestoreEc2MssqlDatabase *HateoasLink `json:"restore-ec2-mssql-database"`
}

EC2MssqlDatabasePitrIntervalLinks represents a custom type struct. URLs to pages related to the resource.

type EC2MssqlDatabasePitrIntervalListEmbedded added in v0.10.0

type EC2MssqlDatabasePitrIntervalListEmbedded struct {
	// TODO: Add struct field description
	Items []*EC2MssqlDatabasePitrInterval `json:"items"`
}

EC2MssqlDatabasePitrIntervalListEmbedded represents a custom type struct. Embedded responses related to the resource.

type EC2MssqlDatabasePitrIntervalListLinks struct {
	// The HATEOAS link to the first page of results.
	First *HateoasFirstLink `json:"_first"`
	// The HATEOAS link to the next page of results.
	Next *HateoasNextLink `json:"_next"`
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

EC2MssqlDatabasePitrIntervalListLinks represents a custom type struct. URLs to pages related to the resource.

type EC2RestoreEbsBlockDeviceMapping added in v0.5.0

type EC2RestoreEbsBlockDeviceMapping struct {
	// The AWS-assigned ID for a customer managed KMS key under which the
	// EBS volume is encrypted.
	KmsKeyNativeId *string `json:"kms_key_native_id"`
	// The device name where the EBS volume is attached to the instance, needed by
	// instance_restore_target and ami_restore_target restore type and by volumes_restore_target
	// when target_instance_native_id is provided.
	Name *string `json:"name"`
	// A tag created through AWS Console which can be applied to EBS volumes.
	Tags []*AwsTagCommonModel `json:"tags"`
	// The AWS-assigned ID of the backed-up volume.
	VolumeNativeId *string `json:"volume_native_id"`
}

EC2RestoreEbsBlockDeviceMapping represents a custom type struct

type EC2RestoreNetworkInterface added in v0.5.0

type EC2RestoreNetworkInterface struct {
	// The position of the network interface in the attachment order. A primary
	// network interface has a device index of 0.
	DeviceIndex *int64 `json:"device_index"`
	// The AWS-assigned ID of the existing network interface to attach to the
	// restored instance. If one wishes to restore this network interface from the backup,
	// then this field should be set to `null`.
	NetworkInterfaceNativeId *string `json:"network_interface_native_id"`
	// Whether or not a default network interface should be restored. It will not have any of
	// the same configurations as the backup network interface.
	RestoreDefault *bool `json:"restore_default"`
	// Whether or not the network interface should be restored the backup network interface.
	// It will be configured with the same configurations as the backup network interface.
	RestoreFromBackup *bool `json:"restore_from_backup"`
	// The AWS-assigned IDs for the security groups to associate with this network interface.
	// If one wishes to attach an existing network interface, then this field should be
	// set to `null`.
	SecurityGroupNativeIds []*string `json:"security_group_native_ids"`
	// The AWS-assigned ID of the subnet associated with the network interface.
	// If one wishes to attach an existing network interface, then this field should be
	// set to `null`.
	SubnetNativeId *string `json:"subnet_native_id"`
}

EC2RestoreNetworkInterface represents a custom type struct

type EC2RestoreSource added in v0.5.0

type EC2RestoreSource struct {
	// The Clumio-assigned ID of the EC2 instance backup to be restored. Use the
	// [GET /backups/aws/ec2-instances](#operation/list-aws-ec2-instances)
	// endpoint to fetch valid values.
	BackupId *string `json:"backup_id"`
}

EC2RestoreSource represents a custom type struct. The EC2 instance backup to be restored.

type EC2RestoreTarget added in v0.5.0

type EC2RestoreTarget struct {
	// The configuration for the restore to AMI.
	AmiRestoreTarget *EC2AMIRestoreTarget `json:"ami_restore_target"`
	// The configuration of an EC2 instance to be restored.
	InstanceRestoreTarget *EC2InstanceRestoreTarget `json:"instance_restore_target"`
	// The target configuration for the volumes to be restored.
	VolumesRestoreTarget *EC2VolumesRestoreTarget `json:"volumes_restore_target"`
}

EC2RestoreTarget represents a custom type struct. The target configuration per EC2 restore type. Only one of these fields should be set.

type EC2VolumesRestoreTarget added in v0.5.0

type EC2VolumesRestoreTarget struct {
	// The availability zone for restoring the volumes unattached. Either this or
	// target_instance_native_id needs to be specified.
	AwsAz *string `json:"aws_az"`
	// TODO: Add struct field description
	EbsBlockDeviceMappings []*EC2RestoreEbsBlockDeviceMapping `json:"ebs_block_device_mappings"`
	// The Clumio-assigned ID of the AWS environment to be used as the restore destination.
	// Use the [GET /datasources/aws/environments](#operation/list-aws-environments) endpoint
	// to fetch valid values.
	EnvironmentId *string `json:"environment_id"`
	// The aws native ID of the EC2 instance to be used to attach the restored volumes.
	// If not present, then aws_az need to be specified.
	TargetInstanceNativeId *string `json:"target_instance_native_id"`
}

EC2VolumesRestoreTarget represents a custom type struct. The target configuration for the volumes to be restored.

type EbsAssetInfo

type EbsAssetInfo struct {
	// The current version of the feature.
	InstalledTemplateVersion *string `json:"installed_template_version"`
}

EbsAssetInfo represents a custom type struct. EbsAssetInfo The installed information for the EBS feature.

type EbsTemplateInfo

type EbsTemplateInfo struct {
	// The latest available feature version for the asset.
	AvailableTemplateVersion *string `json:"available_template_version"`
}

EbsTemplateInfo represents a custom type struct

type EbsVolumeEmbedded

type EbsVolumeEmbedded struct {
	// Embeds the associated policy of a protected resource in the response if requested using the `embed` query parameter. Unprotected resources will not have an associated policy.
	ReadPolicyDefinition interface{} `json:"read-policy-definition"`
}

EbsVolumeEmbedded represents a custom type struct. Embedded responses related to the resource.

type EbsVolumeLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// A HATEOAS link to the policy protecting this resource. Will be omitted for unprotected entities.
	ReadPolicyDefinition *ReadPolicyDefinitionHateoasLink `json:"read-policy-definition"`
}

EbsVolumeLinks represents a custom type struct. URLs to pages related to the resource.

type EbsVolumeListEmbedded

type EbsVolumeListEmbedded struct {
	// TODO: Add struct field description
	Items []*EBS `json:"items"`
}

EbsVolumeListEmbedded represents a custom type struct. Embedded responses related to the resource.

type EbsVolumeListLinks struct {
	// The HATEOAS link to the first page of results.
	First *HateoasFirstLink `json:"_first"`
	// The HATEOAS link to the last page of results.
	Last *HateoasLastLink `json:"_last"`
	// The HATEOAS link to the next page of results.
	Next *HateoasNextLink `json:"_next"`
	// The HATEOAS link to the previous page of results.
	Prev *HateoasPrevLink `json:"_prev"`
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

EbsVolumeListLinks represents a custom type struct. URLs to pages related to the resource.

type Ec2InstanceEmbedded added in v0.6.0

type Ec2InstanceEmbedded struct {
	// Embeds the associated policy of a protected resource in the response if requested using the `embed` query parameter. Unprotected resources will not have an associated policy.
	ReadPolicyDefinition interface{} `json:"read-policy-definition"`
}

Ec2InstanceEmbedded represents a custom type struct. Embedded responses related to the resource.

type Ec2InstanceLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// A HATEOAS link to the policy protecting this resource. Will be omitted for unprotected entities.
	ReadPolicyDefinition *ReadPolicyDefinitionHateoasLink `json:"read-policy-definition"`
}

Ec2InstanceLinks represents a custom type struct. URLs to pages related to the resource.

type Ec2InstanceListEmbedded added in v0.6.0

type Ec2InstanceListEmbedded struct {
	// TODO: Add struct field description
	Items []*EC2 `json:"items"`
}

Ec2InstanceListEmbedded represents a custom type struct. Embedded responses related to the resource.

type EditProfileResponse

type EditProfileResponse struct {
	// Embedded responses related to the resource.
	Embedded *UserEmbedded `json:"_embedded"`
	// ETag value
	Etag *string `json:"_etag"`
	// URLs to pages related to the resource.
	Links *UserLinks `json:"_links"`
	// The organizational units assigned to the user, with the specified role.
	AccessControlConfiguration []*RoleForOrganizationalUnits `json:"access_control_configuration"`
	// The email address of the Clumio user.
	Email *string `json:"email"`
	// The first and last name of the Clumio user. The name appears in the User Management screen and is used to identify the user.
	FullName *string `json:"full_name"`
	// The Clumio-assigned ID of the Clumio user.
	Id *string `json:"id"`
	// The ID number of the user who sent the email invitation.
	Inviter *string `json:"inviter"`
	// Determines whether the user has activated their Clumio account.
	// If `true`, the user has activated the account.
	IsConfirmed *bool `json:"is_confirmed"`
	// Determines whether the user is enabled (in "Activated" or "Invited" status) in Clumio.
	// If `true`, the user is in "Activated" or "Invited" status in Clumio.
	// Users in "Activated" status can log in to Clumio.
	// Users in "Invited" status have been invited to log in to Clumio via an email invitation and the invitation
	// is pending acceptance from the user.
	// If `false`, the user has been manually suspended and cannot log in to Clumio
	// until another Clumio user reactivates the account.
	IsEnabled *bool `json:"is_enabled"`
	// The timestamp of when the user was last active in the Clumio system. Represented in RFC-3339 format.
	LastActivityTimestamp *string `json:"last_activity_timestamp"`
	// The number of organizational units accessible to the user.
	OrganizationalUnitCount *int64 `json:"organizational_unit_count"`
}

EditProfileResponse represents a custom type struct for Success

type EditProfileResponseV1 added in v0.6.0

type EditProfileResponseV1 struct {
	// Embedded responses related to the resource.
	Embedded *UserEmbeddedV1 `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *UserLinks `json:"_links"`
	// The list of organizational unit IDs assigned to the user.
	// This attribute will be available when reading a single user and not when listing users.
	AssignedOrganizationalUnitIds []*string `json:"assigned_organizational_unit_ids"`
	// Assigned Role for the user.
	AssignedRole *string `json:"assigned_role"`
	// The email address of the Clumio user.
	Email *string `json:"email"`
	// The first and last name of the Clumio user. The name appears in the User Management screen and is used to identify the user.
	FullName *string `json:"full_name"`
	// The Clumio-assigned ID of the Clumio user.
	Id *string `json:"id"`
	// The ID number of the user who sent the email invitation.
	Inviter *string `json:"inviter"`
	// Determines whether the user has activated their Clumio account.
	// If `true`, the user has activated the account.
	IsConfirmed *bool `json:"is_confirmed"`
	// Determines whether the user is enabled (in "Activated" or "Invited" status) in Clumio.
	// If `true`, the user is in "Activated" or "Invited" status in Clumio.
	// Users in "Activated" status can log in to Clumio.
	// Users in "Invited" status have been invited to log in to Clumio via an email invitation and the invitation
	// is pending acceptance from the user.
	// If `false`, the user has been manually suspended and cannot log in to Clumio
	// until another Clumio user reactivates the account.
	IsEnabled *bool `json:"is_enabled"`
	// The timestamp of when the user was last active in the Clumio system. Represented in RFC-3339 format.
	LastActivityTimestamp *string `json:"last_activity_timestamp"`
	// The number of organizational units accessible to the user.
	OrganizationalUnitCount *int64 `json:"organizational_unit_count"`
}

EditProfileResponseV1 represents a custom type struct for Success

type EmailDownloadDataAccessObject

type EmailDownloadDataAccessObject struct {
	// The optional message that was sent as part of the email.
	EmailMessage *string `json:"email_message"`
	// The email address of the user who initiated the file level restore.
	RetrievedBy *string `json:"retrieved_by"`
	// The email address of the user who the file was retrieved for.
	RetrievedFor *string `json:"retrieved_for"`
}

EmailDownloadDataAccessObject represents a custom type struct. The details used to access the restored file, if it was shared by email. If the restored file was shared by direct download (and not email), then this field has a value of `null`.

type EmailDownloadDataAccessOption

type EmailDownloadDataAccessOption struct {
	// The email address of the user who will receive the download link to the restored
	// file.
	EmailAddress *string `json:"email_address"`
	// The optional message sent as part of the email.
	Message *string `json:"message"`
}

EmailDownloadDataAccessOption represents a custom type struct. Specifies a download link (accessible via email) as the restore target. If not specified, `target` defaults to `direct_download`. If you specify `email`, also send the user the passcode that gets generated from this request (see `passcode` in the response). After the user clicks the download link, they must enter the passcode to access the files.

type EmailRecipientsDataAccessOption added in v0.5.0

type EmailRecipientsDataAccessOption struct {
	// The optional message sent as part of the email.
	Message *string `json:"message"`
	// The recipient email addresses who will receive the download link to the restored records.
	RecipientEmails []*string `json:"recipient_emails"`
}

EmailRecipientsDataAccessOption represents a custom type struct. Specifies a download link (accessible via emails) as the restore target. If not specified, `target` defaults to `direct_download`.

type EntityGroupAssignmentUpdates added in v0.8.0

type EntityGroupAssignmentUpdates struct {
	// The organizational units assigned to the user, with the specified role.
	Add []*RoleForOrganizationalUnits `json:"add"`
	// The organizational units assigned to the user, with the specified role.
	Remove []*RoleForOrganizationalUnits `json:"remove"`
}

EntityGroupAssignmentUpdates represents a custom type struct. Updates to the organizational units along with the role assigned to the user.

type EntityGroupAssignmentUpdatesV1 added in v0.6.0

type EntityGroupAssignmentUpdatesV1 struct {
	// The Clumio-assigned IDs of the organizational units to be assigned to the user.
	Add []*string `json:"add"`
	// The Clumio-assigned IDs of the organizational units to be unassigned to the user.
	Remove []*string `json:"remove"`
}

EntityGroupAssignmentUpdatesV1 represents a custom type struct. Updates to the organizational unit assignments.

type EntityGroupEmbedded

type EntityGroupEmbedded struct {
	// Embeds the associated task of a resource in the response if requested using the `embed` query parameter.
	ReadTask interface{} `json:"read-task"`
}

EntityGroupEmbedded represents a custom type struct. Embedded responses related to the resource.

type EntityModel

type EntityModel struct {
	// The parent object of the primary entity associated with the organizational unit. For example, "vmware_vcenter" is the parent entity of primary entity "vmware_vm_folder".
	// The parent object is necessary for VMware entities and can be omitted for other data sources.
	ParentEntity *OrganizationalUnitParentEntity `json:"parent_entity"`
	// The primary object associated with the organizational unit. Examples of primary entities include "aws_environment" and "vmware_vm".
	PrimaryEntity *OrganizationalUnitPrimaryEntity `json:"primary_entity"`
}

EntityModel represents a custom type struct. entityModel denotes the entityModel

type Error

type Error struct {
	// TODO: Add struct field description
	Errors []*SingleErrorResponse `json:"errors"`
}

Error represents a custom type struct. Error

type ErrorModel added in v0.4.0

type ErrorModel struct {
	// ErrorCode is a short string describing the error, if any.
	ErrorCode *string `json:"error_code"`
	// ErrorMessage is a longer description explaining the error, if any, and how to
	// fix it.
	ErrorMessage *string `json:"error_message"`
}

ErrorModel represents a custom type struct

type EstimateCostDetailsS3InstantAccessEndpointResponse added in v0.12.0

type EstimateCostDetailsS3InstantAccessEndpointResponse struct {
	// The ETag value.
	Etag *string `json:"_etag"`
	// URLs to pages related to the resource.
	Links *EstimateCostDetailsS3InstantAccessEndpointResponseLinks `json:"_links"`
	// The estimated cost for instant access endpoint.
	EstimatedCost *float64 `json:"estimated_cost"`
	// The count of objects to be restored.
	TotalObjectCount *int64 `json:"total_object_count"`
	// The total size in bytes of objects to be restored.
	TotalObjectSize *int64 `json:"total_object_size"`
}

EstimateCostDetailsS3InstantAccessEndpointResponse represents a custom type struct for Success

type EstimateCostDetailsS3InstantAccessEndpointResponseLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

EstimateCostDetailsS3InstantAccessEndpointResponseLinks represents a custom type struct. URLs to pages related to the resource.

type EstimateCostS3InstantAccessEndpointAsyncResponse added in v0.12.0

type EstimateCostS3InstantAccessEndpointAsyncResponse struct {
	// URLs to pages related to the resource.
	Links *EstimateCostS3InstantAccessEndpointAsyncResponseLinks `json:"_links"`
	// The identifier for the requested estimate which is used to fetch results.
	EstimateId *string `json:"estimate_id"`
	// The Clumio-assigned ID of the task created by this restore request.
	// The progress of the task can be monitored using the
	// `GET /tasks/{task_id}` endpoint.
	// Note that this field is given only for async request.
	TaskId *string `json:"task_id"`
}

EstimateCostS3InstantAccessEndpointAsyncResponse represents a custom type struct. Success (Async)

type EstimateCostS3InstantAccessEndpointAsyncResponseLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// URL to retrieve details of cost estimates
	CostEstimatesDetailsProtectionGroupInstantAccessEndpoint interface{} `json:"cost-estimates-details-protection-group-instant-access-endpoint"`
	// A HATEOAS link to the task associated with this resource.
	ReadTask *ReadTaskHateoasLink `json:"read-task"`
}

EstimateCostS3InstantAccessEndpointAsyncResponseLinks represents a custom type struct. URLs to pages related to the resource.

type EstimateCostS3InstantAccessEndpointSyncResponse added in v0.12.0

type EstimateCostS3InstantAccessEndpointSyncResponse struct {
	// URLs to pages related to the resource.
	Links *EstimateCostS3InstantAccessEndpointSyncResponseLinks `json:"_links"`
	// The estimated cost for instant access endpoint.
	EstimatedCost *float64 `json:"estimated_cost"`
	// The count of objects to be restored.
	TotalObjectCount *int64 `json:"total_object_count"`
	// The total size in bytes of objects to be restored.
	TotalObjectSize *int64 `json:"total_object_size"`
}

EstimateCostS3InstantAccessEndpointSyncResponse represents a custom type struct. Success (Sync)

type EstimateCostS3InstantAccessEndpointSyncResponseLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

EstimateCostS3InstantAccessEndpointSyncResponseLinks represents a custom type struct. URLs to pages related to the resource.

type EventRules added in v0.12.1

type EventRules struct {
	// Cloudtrail rule for the service if any.
	CloudtrailRuleArn *string `json:"cloudtrail_rule_arn"`
	// Cloudwatch rule for the service if any.
	CloudwatchRuleArn *string `json:"cloudwatch_rule_arn"`
}

EventRules represents a custom type struct

type FileDescriptor

type FileDescriptor struct {
	// The Clumio-assigned ID of the filesystem within which to restore the file. Use
	// [ GET /backups/files/search/{search_result_id}/versions](#operation/list-file-versions)
	// to fetch the value.
	FilesystemId *string `json:"filesystem_id"`
	// The path of the file to be restored. Use
	// [GET /backups/files/search](#operation/list-files) to fetch the value.
	Path *string `json:"path"`
}

FileDescriptor represents a custom type struct. Specifies a file/directory by providing path and file system.

type FileListResponse

type FileListResponse struct {
	// Embedded responses related to the resource.
	Embedded *FileVersionsListEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *FileVersionsListLinks `json:"_links"`
	// The number of items listed on the current page.
	CurrentCount *int64 `json:"current_count"`
	// The maximum number of items displayed per page in the response.
	Limit *int64 `json:"limit"`
	// The page token used to get this response.
	Start *string `json:"start"`
}

FileListResponse represents a custom type struct for Success

type FileRestoreSource

type FileRestoreSource struct {
	// The Clumio-assigned ID of the backup containing the files you want to restore. Use
	// [ GET /backups/files/search/{search_result_id}/versions](#operation/list-file-versions)
	// to fetch the value.
	BackupId *string `json:"backup_id"`
	// Specifies a file/directory by providing path and file system.
	Files []*FileDescriptor `json:"files"`
}

FileRestoreSource represents a custom type struct. The files to be restored and from which backup they are to be restored from.

type FileRestoreTarget

type FileRestoreTarget struct {
	// Specifies the Clumio UI as the restore target for direct download. Optionally set
	// `direct_download: {}`. If a target is not specified, then `target` defaults to
	// `direct_download`.
	DirectDownload interface{} `json:"direct_download"`
	// Specifies a download link (accessible via email) as the restore target. If not
	// specified, `target` defaults to `direct_download`. If you specify `email`, also
	// send the user the passcode that gets generated from this request (see `passcode` in
	// the response). After the user clicks the download link, they must enter the
	// passcode to access the files.
	Email *EmailDownloadDataAccessOption `json:"email"`
}

FileRestoreTarget represents a custom type struct. The destination information for the file level restore, representing the access option for the restored file. Users can access the restored file by direct download or by email. The direct download (`direct_download`) option allows users to directly download the restored file from the Clumio UI. The email (`email`) option allows users to access the restored file using a downloadable link they receive by email. If a target is not specified, then `target` defaults to `direct_download`.

type FileSearchListEmbedded

type FileSearchListEmbedded struct {
	// TODO: Add struct field description
	Items []*FileSearchResult `json:"items"`
}

FileSearchListEmbedded represents a custom type struct. Embedded responses related to the resource.

type FileSearchListLinks struct {
	// The HATEOAS link to the first page of results.
	First *HateoasFirstLink `json:"_first"`
	// The HATEOAS link to the next page of results.
	Next *HateoasNextLink `json:"_next"`
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

FileSearchListLinks represents a custom type struct. URLs to pages related to the resource.

type FileSearchResponse

type FileSearchResponse struct {
	// Embedded responses related to the resource.
	Embedded *FileSearchListEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *FileSearchListLinks `json:"_links"`
	// The number of items listed on the current page.
	CurrentCount *int64 `json:"current_count"`
	// The maximum number of items displayed per page in the response.
	Limit *int64 `json:"limit"`
	// The page token used to get this response.
	Start *string `json:"start"`
}

FileSearchResponse represents a custom type struct for Success

type FileSearchResult

type FileSearchResult struct {
	// URLs to pages related to the resource.
	Links *ListFileVersionsHateoasLinks `json:"_links"`
	// The full file path.
	Path *string `json:"path"`
	// The Clumio-assigned ID representing a collection of one or more versions of the same
	// file backed up at different times. This ID cannot be used to restore the
	// file. To restore the file, use the
	// [GET /backups/files/search/{search_result_id}/versions](#operation/list-file-versions)
	// endpoint to retrieve particular versions of this file that can be restored.
	// Then, use the backup ID, filesystem ID, and file path as parameters for the
	// [POST /restores/files](#operation/restore-files) endpoint.
	SearchResultId *string `json:"search_result_id"`
}

FileSearchResult represents a custom type struct

type FileSystem

type FileSystem struct {
	// HateoasCommonLinks are the common fields for HATEOAS response.
	Links *HateoasCommonLinks `json:"_links"`
	// The amount of available memory on the filesystem in bytes. Does not include
	// reserved memory.
	Available *uint64 `json:"available"`
	// The filesystem UUID produced by the `lsblk` linux command. If this filesystem
	// was not given a UUID in the host environment, then this field has a value of
	// `null`.
	FilesystemNativeId *string `json:"filesystem_native_id"`
	// The Clumio-assigned ID of the filesystem.
	Id *string `json:"id"`
	// The reason why file indexing failed. If file indexing succeeded, then this field
	// has a value of `null`. Possible values include "unsupported" and "encrypted".
	IndexingFailedReason *string `json:"indexing_failed_reason"`
	// Determines whether the file system was encrypted.
	IsEncrypted *bool `json:"is_encrypted"`
	// Determines whether the file system has been indexed.
	// If `true`, file indexing completed successfully.
	IsIndexed *bool `json:"is_indexed"`
	// The location of this filesystem in the host environment. Only identifies mount
	// points that correspond to Windows drive letters. All other mount points are
	// identified by a '/'.
	MountPath *string `json:"mount_path"`
	// The number of files (including directories) indexed in the file system.
	NumFilesIndexed *int64 `json:"num_files_indexed"`
	// The total amount of memory available to the filesystem in bytes.
	Size *uint64 `json:"size"`
	// The type of the filesystem. This field is populated with values returned from
	// the lsblk command. Possible values include `ntfs`, `xfs`, and `ext3`.
	ClumioType *string `json:"type"`
	// The amount of memory used by the filesystem in bytes.
	Used *uint64 `json:"used"`
}

FileSystem represents a custom type struct

type FileSystemListEmbedded

type FileSystemListEmbedded struct {
	// TODO: Add struct field description
	Items []*FileSystem `json:"items"`
}

FileSystemListEmbedded represents a custom type struct. _embedded contains the list of items of a file_system list query

type FileSystemListLinks struct {
	// The HATEOAS link to the first page of results.
	First *HateoasFirstLink `json:"_first"`
	// The HATEOAS link to the last page of results.
	Last *HateoasLastLink `json:"_last"`
	// The HATEOAS link to the next page of results.
	Next *HateoasNextLink `json:"_next"`
	// The HATEOAS link to the previous page of results.
	Prev *HateoasPrevLink `json:"_prev"`
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

FileSystemListLinks represents a custom type struct. _links provides URLs to related navigable pages of a file_system list query

type FileVersion

type FileVersion struct {
	// URLs to pages related to the resource.
	Links *FileVersionHateoas `json:"_links"`
	// The Clumio-assigned ID of the backup.
	BackupId *string `json:"backup_id"`
	// The Clumio-assigned ID of the filesystem within which to restore the file. Use
	// [ GET /backups/files/search/{search_result_id}/versions](#operation/list-file-versions)
	// to fetch the value.
	FilesystemId *string `json:"filesystem_id"`
	// The timestamp of the last time the file was modified. Represented in RFC-3339 format.
	ModifiedTimestamp *string `json:"modified_timestamp"`
	// The path of the file to be restored. Use
	// [GET /backups/files/search](#operation/list-files) to fetch the value.
	Path *string `json:"path"`
	// The size of the file in bytes.
	Size *int64 `json:"size"`
	// The timestamp of when the backup associated with this file started. Represented in RFC-3339 format.
	StartTimestamp *string `json:"start_timestamp"`
}

FileVersion represents a custom type struct

type FileVersionHateoas

type FileVersionHateoas struct {
	// A resource-specific HATEOAS link.
	RestoreFiles *HateoasLink `json:"restore-files"`
}

FileVersionHateoas represents a custom type struct. URLs to pages related to the resource.

type FileVersionsListEmbedded

type FileVersionsListEmbedded struct {
	// TODO: Add struct field description
	Items []*FileVersion `json:"items"`
}

FileVersionsListEmbedded represents a custom type struct. Embedded responses related to the resource.

type FileVersionsListLinks struct {
	// The HATEOAS link to the first page of results.
	First *HateoasFirstLink `json:"_first"`
	// The HATEOAS link to the next page of results.
	Next *HateoasNextLink `json:"_next"`
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

FileVersionsListLinks represents a custom type struct. URLs to pages related to the resource.

type FolderEmbedded

type FolderEmbedded struct {
	// Embeds the associated policy of a protected resource in the response if requested using the `embed` query parameter. Unprotected resources will not have an associated policy.
	ReadPolicyDefinition interface{} `json:"read-policy-definition"`
	// Embeds the compliance statistics of VMs into each vCenter resource in the response, if requested using the `_embed` query parameter.
	ReadVmwareVcenterFolderComplianceStats interface{} `json:"read-vmware-vcenter-folder-compliance-stats"`
}

FolderEmbedded represents a custom type struct. Embedded responses related to the resource.

type FolderLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// A HATEOAS link to protect the entities.
	ProtectEntities *ProtectEntitiesHateoasLink `json:"protect-entities"`
	// A HATEOAS link to the policy protecting this resource. Will be omitted for unprotected entities.
	ReadPolicyDefinition *ReadPolicyDefinitionHateoasLink `json:"read-policy-definition"`
	// A HATEOAS link to the compliance statistics of VMs in the folders and subfolders of this vCenter resource.
	ReadVmwareVcenterFolderComplianceStats *ReadVCenterObjectProtectionStatsHateoasLink `json:"read-vmware-vcenter-folder-compliance-stats"`
	// A HATEOAS link to unprotect the entities.
	UnprotectEntities *UnprotectEntitiesHateoasLink `json:"unprotect-entities"`
}

FolderLinks represents a custom type struct. URLs to pages related to the resource.

type FolderListEmbedded

type FolderListEmbedded struct {
	// FolderWithETag to support etag string to be calculated
	Items []*FolderWithETag `json:"items"`
}

FolderListEmbedded represents a custom type struct. Embedded responses related to the resource.

type FolderListLinks struct {
	// The HATEOAS link to the first page of results.
	First *HateoasFirstLink `json:"_first"`
	// The HATEOAS link to the last page of results.
	Last *HateoasLastLink `json:"_last"`
	// The HATEOAS link to the next page of results.
	Next *HateoasNextLink `json:"_next"`
	// The HATEOAS link to the previous page of results.
	Prev *HateoasPrevLink `json:"_prev"`
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

FolderListLinks represents a custom type struct. URLs to pages related to the resource.

type FolderWithETag

type FolderWithETag struct {
	// Embedded responses related to the resource.
	Embedded *FolderEmbedded `json:"_embedded"`
	// The ETag value.
	Etag *string `json:"_etag"`
	// URLs to pages related to the resource.
	Links *FolderLinks `json:"_links"`
	// The data center associated with this folder.
	Datacenter *VMwareVCenterFolderDatacenterModel `json:"datacenter"`
	// Count of all descendant folders inside this folder
	DescendantFolderCount *int64 `json:"descendant_folder_count"`
	// Determines whether the folder has direct child folders.
	HasChildFolders *bool `json:"has_child_folders"`
	// The VMware-assigned Managed Object Reference (MoRef) ID of the folder.
	Id *string `json:"id"`
	// Determines whether the folder is a hidden root folder. If `true`, the folder is a hidden root folder.
	IsRoot *bool `json:"is_root"`
	// Determines whether the folder can be used as a restore destination. If `true`, the folder can be used as a restore destination, and backups can be restored to the folder.
	IsSupported *bool `json:"is_supported"`
	// The VMware-assigned name of the folder.
	Name *string `json:"name"`
	// The Clumio-assigned ID of the organizational unit associated with the folder.
	OrganizationalUnitId *string `json:"organizational_unit_id"`
	// The parent folder under which this folder resides.
	ParentFolder *VMwareVCenterParentFolderModel `json:"parent_folder"`
	// The protection policy applied to this resource. If the resource is not protected, then this field has a value of `null`.
	ProtectionInfo *ProtectionInfo `json:"protection_info"`
	// The protection status of this folder. Refer to the Protection Status table for a complete list of protection statuses.
	ProtectionStatus *string `json:"protection_status"`
	// The folder type. Examples of folder types include "datacenter_folder" and "vm_folder". Refer to the Folder Type table for a complete list of folder types.
	ClumioType *string `json:"type"`
}

FolderWithETag represents a custom type struct. FolderWithETag to support etag string to be calculated

type GeneralSettingsLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// A resource-specific HATEOAS link.
	UpdateGeneralSettings *HateoasLink `json:"update-general-settings"`
}

GeneralSettingsLinks represents a custom type struct. URLs to pages related to the resource.

type GenerateRestoredFilePasscodeLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

GenerateRestoredFilePasscodeLinks represents a custom type struct. URLs to pages related to the resource.

type GenerateRestoredFilePasscodeResponse added in v0.5.0

type GenerateRestoredFilePasscodeResponse struct {
	// URLs to pages related to the resource.
	Links *GenerateRestoredFilePasscodeLinks `json:"_links"`
	// The new passcode that has been generated for the restored file. Send the
	// passcode to the email recipient, who must use it to access the restored file.
	Passcode *string `json:"passcode"`
}

GenerateRestoredFilePasscodeResponse represents a custom type struct for Success

type GlobalSecondaryIndex added in v0.5.0

type GlobalSecondaryIndex struct {
	// The name of the global secondary index.
	IndexName *string `json:"index_name"`
	// Represents a single element of a key schema. A key schema specifies the attributes that make up the primary key
	// of a table, or the key attributes of an index.
	KeySchema []*KeySchemaElement `json:"key_schema"`
	// Represents attributes that are copied (projected) from the table into an index. These are in addition to the
	// primary key attributes and index key attributes, which are automatically projected.
	Projection *Projection `json:"projection"`
	// Represents the provisioned throughput settings for a DynamoDB table.
	ProvisionedThroughput *ProvisionedThroughput `json:"provisioned_throughput"`
}

GlobalSecondaryIndex represents a custom type struct. Represents the properties of a global secondary index.

type GrrSource added in v0.5.0

type GrrSource struct {
	// Performs the operation on a database within the specified backup.
	// Use the [GET /backups/aws/rds-resources](#operation/list-backup-aws-rds-resources)
	// endpoint to fetch valid values.
	BackupId *string `json:"backup_id"`
	// Performs the operation on the database with the specified name.
	// Use the [GET /backups/aws/rds-resources](#operation/list-backup-aws-rds-resource-databases)
	// endpoint to fetch valid values.
	DatabaseName *string `json:"database_name"`
}

GrrSource represents a custom type struct. The RDS database backup to be queried.

type GrrTarget added in v0.5.0

type GrrTarget struct {
	// Determines whether the query is preview only. If `true`, a preview of the
	// query results will be provided in the response immediately.
	// If `false` or omitted, a task will be queued to make the result
	// of the query available for asynchronous download.
	Preview *bool `json:"preview"`
	// The SQL statement that is to be executed on the target database.
	// For example, "SELECT * FROM employee WHERE id > 100"
	QueryStatement *string `json:"query_statement"`
}

GrrTarget represents a custom type struct. The query to perform on the source RDS database.

type HateoasCommonLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

HateoasCommonLinks represents a custom type struct. HateoasCommonLinks are the common fields for HATEOAS response.

type HateoasFirstLink struct {
	// The URI for the referenced operation.
	Href *string `json:"href"`
	// Determines whether the "href" link is a URI template. If set to `true`, the "href" link is a URI template.
	Templated *bool `json:"templated"`
	// The HTTP method to be used with the "href" link for the referenced operation.
	ClumioType *string `json:"type"`
}

HateoasFirstLink represents a custom type struct. The HATEOAS link to the first page of results.

type HateoasLastLink struct {
	// The URI for the referenced operation.
	Href *string `json:"href"`
	// Determines whether the "href" link is a URI template. If set to `true`, the "href" link is a URI template.
	Templated *bool `json:"templated"`
	// The HTTP method to be used with the "href" link for the referenced operation.
	ClumioType *string `json:"type"`
}

HateoasLastLink represents a custom type struct. The HATEOAS link to the last page of results.

type HateoasLink struct {
	// The URI for the referenced operation.
	Href *string `json:"href"`
	// Determines whether the "href" link is a URI template. If set to `true`, the "href" link is a URI template.
	Templated *bool `json:"templated"`
	// The HTTP method to be used with the "href" link for the referenced operation.
	ClumioType *string `json:"type"`
}

HateoasLink represents a custom type struct. A resource-specific HATEOAS link.

type HateoasNextLink struct {
	// The URI for the referenced operation.
	Href *string `json:"href"`
	// Determines whether the "href" link is a URI template. If set to `true`, the "href" link is a URI template.
	Templated *bool `json:"templated"`
	// The HTTP method to be used with the "href" link for the referenced operation.
	ClumioType *string `json:"type"`
}

HateoasNextLink represents a custom type struct. The HATEOAS link to the next page of results.

type HateoasPrevLink struct {
	// The URI for the referenced operation.
	Href *string `json:"href"`
	// Determines whether the "href" link is a URI template. If set to `true`, the "href" link is a URI template.
	Templated *bool `json:"templated"`
	// The HTTP method to be used with the "href" link for the referenced operation.
	ClumioType *string `json:"type"`
}

HateoasPrevLink represents a custom type struct. The HATEOAS link to the previous page of results.

type HateoasSelfLink struct {
	// The URI for the referenced operation.
	Href *string `json:"href"`
	// Determines whether the "href" link is a URI template. If set to `true`, the "href" link is a URI template.
	Templated *bool `json:"templated"`
	// The HTTP method to be used with the "href" link for the referenced operation.
	ClumioType *string `json:"type"`
}

HateoasSelfLink represents a custom type struct. The HATEOAS link to this resource.

type Host

type Host struct {
	// URLs to pages related to the resource.
	Links *HostLinks `json:"_links"`
	// The endpoints discovered post the host connection of the host.
	DiscoveredEndpoints []*string `json:"discovered_endpoints"`
	// The Current MSI version of the edge connector installed in the host.
	EdgeConnectorVersion *string `json:"edge_connector_version"`
	// The user-provided endpoint used to connect the host.
	Endpoint *string `json:"endpoint"`
	// The Clumio-assigned ID of the management group associated with the host.
	GroupId *string `json:"group_id"`
	// The Clumio-assigned ID of the Host.
	Id *string `json:"id"`
	// The timestamp of the last successful heartbeat of this host. Represented in RFC-3339 format.
	LastHeartbeatTimestamp *string `json:"last_heartbeat_timestamp"`
	// Name of the Host.
	Name *string `json:"name"`
	// The operational status of the Host. Possible values include `upgrade_in_progress`, `upgrade_success`, `upgrade_failed`, `delete_in_progress`, `delete_failed`, `move_in_progress`, `move_succeeded` and `move_failed`.
	OperationalStatus *string `json:"operational_status"`
	// The connection status of the Host. Possible values include `connected`, `disconnected`, `connection_pending`, and `invalid_token`.
	Status *string `json:"status"`
	// The Clumio-assigned ID of the subgroup associated with the host.
	SubgroupId *string `json:"subgroup_id"`
	// The Clumio-assigned UUID of the host. This UUID is used for filtering hosts during list operations.
	Uuid *string `json:"uuid"`
}

Host represents a custom type struct

type HostIDModel

type HostIDModel struct {
	// The VMware-assigned Managed Object Reference (MoRef) ID of the host.
	Id *string `json:"id"`
}

HostIDModel represents a custom type struct

type HostLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

HostLinks represents a custom type struct. URLs to pages related to the resource.

type HostListEmbedded

type HostListEmbedded struct {
	// HostWithETag to support etag string to be calculated
	Items []*HostWithETag `json:"items"`
}

HostListEmbedded represents a custom type struct. Embedded responses related to the resource.

type HostListLinks struct {
	// The HATEOAS link to the first page of results.
	First *HateoasFirstLink `json:"_first"`
	// The HATEOAS link to the last page of results.
	Last *HateoasLastLink `json:"_last"`
	// The HATEOAS link to the next page of results.
	Next *HateoasNextLink `json:"_next"`
	// The HATEOAS link to the previous page of results.
	Prev *HateoasPrevLink `json:"_prev"`
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

HostListLinks represents a custom type struct. URLs to pages related to the resource.

type HostWithETag

type HostWithETag struct {
	// The ETag value.
	Etag *string `json:"_etag"`
	// URLs to pages related to the resource.
	Links *HostLinks `json:"_links"`
	// The VMware compute resource representing the host.
	ComputeResource *VMwareVCenterHostComputeResourceModel `json:"compute_resource"`
	// The connection state of the host as seen through the vCenter server. Examples include "connected", "disconnected", and "not_responding".
	ConnectionState *string `json:"connection_state"`
	// The data center in which the host resides.
	Datacenter *VMwareVCenterHostDatacenterModel `json:"datacenter"`
	// The VMware-assigned Managed Object Reference (MoRef) ID of the host.
	Id *string `json:"id"`
	// Determines whether the host has been placed in maintenance mode as seen through the vCenter server. If `true`, the host is in maintenance mode.
	IsInMaintenanceMode *bool `json:"is_in_maintenance_mode"`
	// Determines whether the host has been placed in quarantine mode as seen through the vCenter server. If `true`, the host is in quarantine mode.
	IsInQuarantineMode *bool `json:"is_in_quarantine_mode"`
	// Determines whether the host is a standalone host. If `true`, the host is a standalone host.
	IsStandalone *bool `json:"is_standalone"`
	// Determines whether the host can be used as a restore destination. If `true`, the host can be used as a restore destination and backups can be restored to the host.
	IsSupported *bool `json:"is_supported"`
	// The VMware-assigned name of the host.
	Name *string `json:"name"`
	// The power state of the host as seen through the vCenter server. Examples include "powered_off", "powered_on", and "standby".
	PowerState *string `json:"power_state"`
}

HostWithETag represents a custom type struct. HostWithETag to support etag string to be calculated

type IamInstanceProfileModel added in v0.9.0

type IamInstanceProfileModel struct {
	// The Amazon Resource Name (ARN) specifying the IAM instance profile.
	Arn *string `json:"arn"`
	// The AWS-assigned name of the IAM instance profile.
	Name *string `json:"name"`
	// The AWS-assigned ID of the IAM instance profile.
	NativeId *string `json:"native_id"`
}

IamInstanceProfileModel represents a custom type struct. Denotes an IAM instance profile. An instance profile is a container for an IAM role that you can use to pass role information to an EC2 instance when the instance starts.

type IndividualAlertDetails

type IndividualAlertDetails struct {
	// A brief description of the condition that caused the alert. Examples include "Size Limit Exceeded" and "Insufficient Cloud Connector Capacity".
	Cause *string `json:"cause"`
	// A detailed description of the alert, including the reason why the alert occurred
	// and the steps you must take to resolve the issue.
	Description *string `json:"description"`
	// The general alert category. Examples include "Policy Violated" and "Restore Failed".
	ClumioType *string `json:"type"`
	// Data specific to the alert generated. If the alert has no variables, then this
	// field has a value of `null`.
	Variables map[string]*string `json:"variables"`
}

IndividualAlertDetails represents a custom type struct. Additional information about the alert.

type InheritedFrom

type InheritedFrom struct {
	// The Clumio-assigned ID of the item.
	Id *string `json:"id"`
	// Name of the folder.
	Name *string `json:"name"`
	// VCenterObjectType denotes the VCenter object type
	Objecttype *string `json:"objectType"`
}

InheritedFrom represents a custom type struct

type InstanceStoreBlockDeviceMapping added in v0.9.0

type InstanceStoreBlockDeviceMapping struct {
	// Encryption for the instance store volume. Possible values include 'hardware encrypted'
	// and 'Not encrypted'.
	Encryption *string `json:"encryption"`
	// Determines whether or not the volume is a NVME instance store volume or a
	// non-NVME instance store volume.
	IsNvme *bool `json:"is_nvme"`
	// The device name for the instance store volume. For example, '/dev/sdb'.
	Name *string `json:"name"`
	// The size of the instance store volume. Measured in bytes (B).
	Size *int64 `json:"size"`
	// The type of the block device. Only possible value is "Instance Store".
	ClumioType *string `json:"type"`
	// The AWS-assigned name of the instance store volume.
	VirtualName *string `json:"virtual_name"`
}

InstanceStoreBlockDeviceMapping represents a custom type struct

type KeySchemaElement added in v0.5.0

type KeySchemaElement struct {
	// The name of a key attribute.
	AttributeName *string `json:"attribute_name"`
	// The role that this key attribute will assume.
	// Possible values include: `HASH` - partition key and `RANGE` - sort key.
	KeyType *string `json:"key_type"`
}

KeySchemaElement represents a custom type struct. Represents a single element of a key schema. A key schema specifies the attributes that make up the primary key of a table, or the key attributes of an index.

type ListAWSConnectionsResponse

type ListAWSConnectionsResponse struct {
	// Embedded responses related to the resource.
	Embedded *AWSConnectionListEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *AWSConnectionListLinks `json:"_links"`
	// The number of items listed on the current page.
	CurrentCount *int64 `json:"current_count"`
	// The filter used in the request. The filter includes both manually-specified and system-generated filters.
	FilterApplied *string `json:"filter_applied"`
	// The maximum number of items displayed per page in the response.
	Limit *int64 `json:"limit"`
	// The page token used to get this response.
	Start *string `json:"start"`
}

ListAWSConnectionsResponse represents a custom type struct for Success

type ListAWSEnvironmentsResponse

type ListAWSEnvironmentsResponse struct {
	// Embedded responses related to the resource.
	Embedded *AWSEnvironmentListEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *AWSEnvironmentListLinks `json:"_links"`
	// The number of items listed on the current page.
	CurrentCount *int64 `json:"current_count"`
	// The maximum number of items displayed per page in the response.
	Limit *int64 `json:"limit"`
	// The page token used to get this response.
	Start *string `json:"start"`
}

ListAWSEnvironmentsResponse represents a custom type struct for Success

type ListAWSRegionsResponse

type ListAWSRegionsResponse struct {
	// Embedded responses related to the resource.
	Embedded *ConnectionRegionListEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *ConnectionRegionListLinks `json:"_links"`
	// The number of items listed on the current page.
	CurrentCount *int64 `json:"current_count"`
	// The maximum number of items displayed per page in the response.
	Limit *int64 `json:"limit"`
	// The page token used to get this response.
	Start *string `json:"start"`
}

ListAWSRegionsResponse represents a custom type struct for Success

type ListAlertsResponse

type ListAlertsResponse struct {
	// Embedded responses related to the resource.
	Embedded *AlertListEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *AlertListLinks `json:"_links"`
	// The number of items listed on the current page.
	CurrentCount *int64 `json:"current_count"`
	// The filter used in the request. The filter includes both manually-specified and system-generated filters.
	FilterApplied *string `json:"filter_applied"`
	// The maximum number of items displayed per page in the response.
	Limit *int64 `json:"limit"`
	// The sort order used in the request.
	SortApplied *string `json:"sort_applied"`
	// The page number used to get this response.
	// Pages are indexed starting from 1 (i.e., `"start": "1"`).
	Start *string `json:"start"`
	// The total number of items, summed across all pages.
	TotalCount *int64 `json:"total_count"`
	// The total number of pages of results.
	TotalPagesCount *int64 `json:"total_pages_count"`
}

ListAlertsResponse represents a custom type struct for Success

type ListAuditTrailsResponse

type ListAuditTrailsResponse struct {
	// Embedded responses related to the resource.
	Embedded *AuditTrailListEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *AuditTrailListLinks `json:"_links"`
	// The number of items listed on the current page.
	CurrentCount *int64 `json:"current_count"`
	// The filter used in the request. The filter includes both manually-specified and system-generated filters.
	FilterApplied *string `json:"filter_applied"`
	// The maximum number of items displayed per page in the response.
	Limit *int64 `json:"limit"`
	// The page number used to get this response.
	// Pages are indexed starting from 1 (i.e., `"start": "1"`).
	Start *string `json:"start"`
	// The total number of items, summed across all pages.
	TotalCount *int64 `json:"total_count"`
	// The total number of pages of results.
	TotalPagesCount *int64 `json:"total_pages_count"`
}

ListAuditTrailsResponse represents a custom type struct for Success

type ListAutoUserProvisioningRulesResponse added in v0.3.0

type ListAutoUserProvisioningRulesResponse struct {
	// Embedded responses related to the resource.
	Embedded *AutoUserProvisioningRuleListEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *AutoUserProvisioningRuleListLinks `json:"_links"`
	// The number of items listed on the current page.
	CurrentCount *int64 `json:"current_count"`
	// The maximum number of items displayed per page in the response.
	Limit *int64 `json:"limit"`
	// The page token used to get this response.
	Start *string `json:"start"`
}

ListAutoUserProvisioningRulesResponse represents a custom type struct for Success

type ListAwsTagsResponse

type ListAwsTagsResponse struct {
	// Embedded responses related to the resource.
	Embedded *AwsTagListEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *AwsTagListLinks `json:"_links"`
	// The number of items listed on the current page.
	CurrentCount *int64 `json:"current_count"`
	// The filter used in the request. The filter includes both manually-specified and system-generated filters.
	FilterApplied *string `json:"filter_applied"`
	// The maximum number of items displayed per page in the response.
	Limit *int64 `json:"limit"`
	// The page number used to get this response.
	// Pages are indexed starting from 1 (i.e., `"start": "1"`).
	Start *string `json:"start"`
	// The total number of items, summed across all pages.
	TotalCount *int64 `json:"total_count"`
	// The total number of pages of results.
	TotalPagesCount *int64 `json:"total_pages_count"`
}

ListAwsTagsResponse represents a custom type struct for Success

type ListBucketsResponse added in v0.1.2

type ListBucketsResponse struct {
	// Embedded responses related to the resource.
	Embedded *BucketListEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *BucketListLinks `json:"_links"`
	// The number of items listed on the current page.
	CurrentCount *int64 `json:"current_count"`
	// The maximum number of items displayed per page in the response.
	Limit *int64 `json:"limit"`
	// The page number used to get this response.
	// Pages are indexed starting from 1 (i.e., `"start": "1"`).
	Start *string `json:"start"`
	// The total number of items, summed across all pages.
	TotalCount *int64 `json:"total_count"`
	// The total number of pages of results.
	TotalPagesCount *int64 `json:"total_pages_count"`
}

ListBucketsResponse represents a custom type struct for Success

type ListComputeResourcesResponse

type ListComputeResourcesResponse struct {
	// TODO: Add struct field description
	Computeresourcefolders []*VCenterFolder `json:"computeResourceFolders"`
	// TODO: Add struct field description
	Computeresources []*VCenterComputeResource `json:"computeResources"`
}

ListComputeResourcesResponse represents a custom type struct for Success

type ListConsolidatedAlertsResponse

type ListConsolidatedAlertsResponse struct {
	// Embedded responses related to the resource.
	Embedded *ConsolidatedAlertListEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *ConsolidatedAlertListLinks `json:"_links"`
	// The number of items listed on the current page.
	CurrentCount *int64 `json:"current_count"`
	// The filter used in the request. The filter includes both manually-specified and system-generated filters.
	FilterApplied *string `json:"filter_applied"`
	// The maximum number of items displayed per page in the response.
	Limit *int64 `json:"limit"`
	// The page number used to get this response.
	// Pages are indexed starting from 1 (i.e., `"start": "1"`).
	Start *string `json:"start"`
	// The total number of items, summed across all pages.
	TotalCount *int64 `json:"total_count"`
	// The total number of pages of results.
	TotalPagesCount *int64 `json:"total_pages_count"`
}

ListConsolidatedAlertsResponse represents a custom type struct for Success

type ListDatacentersResponse

type ListDatacentersResponse struct {
	// Embedded responses related to the resource.
	Embedded *DatacenterListEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *DatacenterListLinks `json:"_links"`
	// The number of items listed on the current page.
	CurrentCount *int64 `json:"current_count"`
	// The filter used in the request. The filter includes both manually-specified and system-generated filters.
	FilterApplied *string `json:"filter_applied"`
	// The maximum number of items displayed per page in the response.
	Limit *int64 `json:"limit"`
	// The page number used to get this response.
	// Pages are indexed starting from 1 (i.e., `"start": "1"`).
	Start *string `json:"start"`
	// The total number of items, summed across all pages.
	TotalCount *int64 `json:"total_count"`
	// The total number of pages of results.
	TotalPagesCount *int64 `json:"total_pages_count"`
}

ListDatacentersResponse represents a custom type struct for Success

type ListDynamoDBTableBackupsResponse added in v0.5.0

type ListDynamoDBTableBackupsResponse struct {
	// Embedded responses related to the resource.
	Embedded *DynamoDBTableBackupListEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *DynamoDBTableBackupListLinks `json:"_links"`
	// The number of items listed on the current page.
	CurrentCount *int64 `json:"current_count"`
	// The filter used in the request. The filter includes both manually-specified and system-generated filters.
	FilterApplied *string `json:"filter_applied"`
	// The maximum number of items displayed per page in the response.
	Limit *int64 `json:"limit"`
	// The page number used to get this response.
	// Pages are indexed starting from 1 (i.e., `"start": "1"`).
	Start *string `json:"start"`
	// The total number of items, summed across all pages.
	TotalCount *int64 `json:"total_count"`
	// The total number of pages of results.
	TotalPagesCount *int64 `json:"total_pages_count"`
}

ListDynamoDBTableBackupsResponse represents a custom type struct for Success

type ListDynamoDBTableResponse added in v0.6.0

type ListDynamoDBTableResponse struct {
	// Embedded responses related to the resource.
	Embedded *DynamoDBTableListEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *DynamoDBTableListLinks `json:"_links"`
	// The number of items listed on the current page.
	CurrentCount *int64 `json:"current_count"`
	// The maximum number of items displayed per page in the response.
	Limit *int64 `json:"limit"`
	// The page number used to get this response.
	// Pages are indexed starting from 1 (i.e., `"start": "1"`).
	Start *string `json:"start"`
	// The total number of items, summed across all pages.
	TotalCount *int64 `json:"total_count"`
	// The total number of pages of results.
	TotalPagesCount *int64 `json:"total_pages_count"`
}

ListDynamoDBTableResponse represents a custom type struct for Success

type ListEBSBackupsResponse added in v0.8.0

type ListEBSBackupsResponse struct {
	// Embedded responses related to the resource.
	Embedded *EBSBackupListEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *EBSBackupListLinks `json:"_links"`
	// The number of items listed on the current page.
	CurrentCount *int64 `json:"current_count"`
	// The filter used in the request. The filter includes both manually-specified and system-generated filters.
	FilterApplied *string `json:"filter_applied"`
	// The maximum number of items displayed per page in the response.
	Limit *int64 `json:"limit"`
	// The page number used to get this response.
	// Pages are indexed starting from 1 (i.e., `"start": "1"`).
	Start *string `json:"start"`
	// The total number of items, summed across all pages.
	TotalCount *int64 `json:"total_count"`
	// The total number of pages of results.
	TotalPagesCount *int64 `json:"total_pages_count"`
}

ListEBSBackupsResponse represents a custom type struct for Success

type ListEBSBackupsResponseV1

type ListEBSBackupsResponseV1 struct {
	// Embedded responses related to the resource.
	Embedded *EBSBackupListEmbeddedV1 `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *EBSBackupListLinksV1 `json:"_links"`
	// The number of items listed on the current page.
	CurrentCount *int64 `json:"current_count"`
	// The filter used in the request. The filter includes both manually-specified and system-generated filters.
	FilterApplied *string `json:"filter_applied"`
	// The maximum number of items displayed per page in the response.
	Limit *int64 `json:"limit"`
	// The page number used to get this response.
	// Pages are indexed starting from 1 (i.e., `"start": "1"`).
	Start *string `json:"start"`
	// The total number of items, summed across all pages.
	TotalCount *int64 `json:"total_count"`
	// The total number of pages of results.
	TotalPagesCount *int64 `json:"total_pages_count"`
}

ListEBSBackupsResponseV1 represents a custom type struct for Success

type ListEC2BackupsResponse added in v0.9.0

type ListEC2BackupsResponse struct {
	// Embedded responses related to the resource.
	Embedded *EC2BackupListEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *EC2BackupListLinks `json:"_links"`
	// The number of items listed on the current page.
	CurrentCount *int64 `json:"current_count"`
	// The filter used in the request. The filter includes both manually-specified and system-generated filters.
	FilterApplied *string `json:"filter_applied"`
	// The maximum number of items displayed per page in the response.
	Limit *int64 `json:"limit"`
	// The page number used to get this response.
	// Pages are indexed starting from 1 (i.e., `"start": "1"`).
	Start *string `json:"start"`
	// The total number of items, summed across all pages.
	TotalCount *int64 `json:"total_count"`
	// The total number of pages of results.
	TotalPagesCount *int64 `json:"total_pages_count"`
}

ListEC2BackupsResponse represents a custom type struct for Success

type ListEC2MSSQLDatabaseBackupsResponse added in v0.6.0

type ListEC2MSSQLDatabaseBackupsResponse struct {
	// Embedded responses related to the resource.
	Embedded *EC2MSSQLDatabaseBackupListEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *EC2MSSQLDatabaseBackupListLinks `json:"_links"`
	// The number of items listed on the current page.
	CurrentCount *int64 `json:"current_count"`
	// The filter used in the request. The filter includes both manually-specified and system-generated filters.
	FilterApplied *string `json:"filter_applied"`
	// The maximum number of items displayed per page in the response.
	Limit *int64 `json:"limit"`
	// The page number used to get this response.
	// Pages are indexed starting from 1 (i.e., `"start": "1"`).
	Start *string `json:"start"`
	// The total number of items, summed across all pages.
	TotalCount *int64 `json:"total_count"`
	// The total number of pages of results.
	TotalPagesCount *int64 `json:"total_pages_count"`
}

ListEC2MSSQLDatabaseBackupsResponse represents a custom type struct for Success

type ListEC2MSSQLDatabasesResponse added in v0.10.0

type ListEC2MSSQLDatabasesResponse struct {
	// Embedded responses related to the resource.
	Embedded *EC2MSSQLDatabaseListEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *EC2MSSQLDatabaseListLinks `json:"_links"`
	// The number of items listed on the current page.
	CurrentCount *int64 `json:"current_count"`
	// The filter used in the request. The filter includes both manually-specified and system-generated filters.
	FilterApplied *string `json:"filter_applied"`
	// The maximum number of items displayed per page in the response.
	Limit *int64 `json:"limit"`
	// The page number used to get this response.
	// Pages are indexed starting from 1 (i.e., `"start": "1"`).
	Start *string `json:"start"`
	// The total number of items, summed across all pages.
	TotalCount *int64 `json:"total_count"`
	// The total number of pages of results.
	TotalPagesCount *int64 `json:"total_pages_count"`
}

ListEC2MSSQLDatabasesResponse represents a custom type struct for Success

type ListEC2MSSQLFCIsResponse added in v0.10.0

type ListEC2MSSQLFCIsResponse struct {
	// Embedded responses related to the resource.
	Embedded *EC2MSSQLFCIListEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *EC2MSSQLFCIListLinks `json:"_links"`
	// The number of items listed on the current page.
	CurrentCount *int64 `json:"current_count"`
	// The filter used in the request. The filter includes both manually-specified and system-generated filters.
	FilterApplied *string `json:"filter_applied"`
	// The maximum number of items displayed per page in the response.
	Limit *int64 `json:"limit"`
	// The page number used to get this response.
	// Pages are indexed starting from 1 (i.e., `"start": "1"`).
	Start *string `json:"start"`
	// The total number of items, summed across all pages.
	TotalCount *int64 `json:"total_count"`
	// The total number of pages of results.
	TotalPagesCount *int64 `json:"total_pages_count"`
}

ListEC2MSSQLFCIsResponse represents a custom type struct for Success

type ListEC2MSSQLInstancesResponse added in v0.10.0

type ListEC2MSSQLInstancesResponse struct {
	// Embedded responses related to the resource.
	Embedded *EC2MSSQLInstanceListEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *EC2MSSQLInstanceListLinks `json:"_links"`
	// The number of items listed on the current page.
	CurrentCount *int64 `json:"current_count"`
	// The filter used in the request. The filter includes both manually-specified and system-generated filters.
	FilterApplied *string `json:"filter_applied"`
	// The maximum number of items displayed per page in the response.
	Limit *int64 `json:"limit"`
	// The page number used to get this response.
	// Pages are indexed starting from 1 (i.e., `"start": "1"`).
	Start *string `json:"start"`
	// The total number of items, summed across all pages.
	TotalCount *int64 `json:"total_count"`
	// The total number of pages of results.
	TotalPagesCount *int64 `json:"total_pages_count"`
}

ListEC2MSSQLInstancesResponse represents a custom type struct for Success

type ListEC2MSSQLInvHostsResponse added in v0.10.0

type ListEC2MSSQLInvHostsResponse struct {
	// Embedded responses related to the resource.
	Embedded *EC2MSSQLInvHostListEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *EC2MSSQLInvHostListLinks `json:"_links"`
	// The number of items listed on the current page.
	CurrentCount *int64 `json:"current_count"`
	// The filter used in the request. The filter includes both manually-specified and system-generated filters.
	FilterApplied *string `json:"filter_applied"`
	// The maximum number of items displayed per page in the response.
	Limit *int64 `json:"limit"`
	// The page number used to get this response.
	// Pages are indexed starting from 1 (i.e., `"start": "1"`).
	Start *string `json:"start"`
	// The total number of items, summed across all pages.
	TotalCount *int64 `json:"total_count"`
	// The total number of pages of results.
	TotalPagesCount *int64 `json:"total_pages_count"`
}

ListEC2MSSQLInvHostsResponse represents a custom type struct for Success

type ListEC2MssqlAGsResponse added in v0.10.0

type ListEC2MssqlAGsResponse struct {
	// Embedded responses related to the resource.
	Embedded *EC2MSSQLAGListEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *EC2MSSQLAGListLinks `json:"_links"`
	// The number of items listed on the current page.
	CurrentCount *int64 `json:"current_count"`
	// The filter used in the request. The filter includes both manually-specified and system-generated filters.
	FilterApplied *string `json:"filter_applied"`
	// The maximum number of items displayed per page in the response.
	Limit *int64 `json:"limit"`
	// The page number used to get this response.
	// Pages are indexed starting from 1 (i.e., `"start": "1"`).
	Start *string `json:"start"`
	// The total number of items, summed across all pages.
	TotalCount *int64 `json:"total_count"`
	// The total number of pages of results.
	TotalPagesCount *int64 `json:"total_pages_count"`
}

ListEC2MssqlAGsResponse represents a custom type struct for Success

type ListEC2MssqlDatabasePitrIntervalsResponse added in v0.10.0

type ListEC2MssqlDatabasePitrIntervalsResponse struct {
	// Embedded responses related to the resource.
	Embedded *EC2MssqlDatabasePitrIntervalListEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *EC2MssqlDatabasePitrIntervalListLinks `json:"_links"`
	// The number of items listed on the current page.
	CurrentCount *int64 `json:"current_count"`
	// The filter used in the request. The filter includes both manually-specified and system-generated filters.
	FilterApplied *string `json:"filter_applied"`
	// The maximum number of items displayed per page in the response.
	Limit *int64 `json:"limit"`
	// The page token used to get this response.
	Start *string `json:"start"`
}

ListEC2MssqlDatabasePitrIntervalsResponse represents a custom type struct. ListEC2MssqlDatabasePitrIntervalsResponse represents the success response

type ListEbsVolumesResponse

type ListEbsVolumesResponse struct {
	// Embedded responses related to the resource.
	Embedded *EbsVolumeListEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *EbsVolumeListLinks `json:"_links"`
	// The number of items listed on the current page.
	CurrentCount *int64 `json:"current_count"`
	// The maximum number of items displayed per page in the response.
	Limit *int64 `json:"limit"`
	// The page number used to get this response.
	// Pages are indexed starting from 1 (i.e., `"start": "1"`).
	Start *string `json:"start"`
	// The total number of items, summed across all pages.
	TotalCount *int64 `json:"total_count"`
	// The total number of pages of results.
	TotalPagesCount *int64 `json:"total_pages_count"`
}

ListEbsVolumesResponse represents a custom type struct for Success

type ListEc2InstancesResponse added in v0.6.0

type ListEc2InstancesResponse struct {
	// Embedded responses related to the resource.
	Embedded *Ec2InstanceListEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *EC2InstanceListLinks `json:"_links"`
	// The number of items listed on the current page.
	CurrentCount *int64 `json:"current_count"`
	// The maximum number of items displayed per page in the response.
	Limit *int64 `json:"limit"`
	// The page number used to get this response.
	// Pages are indexed starting from 1 (i.e., `"start": "1"`).
	Start *string `json:"start"`
	// The total number of items, summed across all pages.
	TotalCount *int64 `json:"total_count"`
	// The total number of pages of results.
	TotalPagesCount *int64 `json:"total_pages_count"`
}

ListEc2InstancesResponse represents a custom type struct for Success

type ListFileSystemsResponse

type ListFileSystemsResponse struct {
	// _embedded contains the list of items of a file_system list query
	Embedded *FileSystemListEmbedded `json:"_embedded"`
	// _links provides URLs to related navigable pages of a file_system list query
	Links *FileSystemListLinks `json:"_links"`
	// The number of items listed on the current page.
	CurrentCount *int64 `json:"current_count"`
	// The maximum number of items displayed per page in the response.
	Limit *int64 `json:"limit"`
	// The page number used to get this response.
	// Pages are indexed starting from 1 (i.e., `"start": "1"`).
	Start *string `json:"start"`
	// The total number of items, summed across all pages.
	TotalCount *int64 `json:"total_count"`
	// The total number of pages of results.
	TotalPagesCount *int64 `json:"total_pages_count"`
}

ListFileSystemsResponse represents a custom type struct for Success

type ListFileVersionsHateoasLink struct {
	// The URI for the referenced operation.
	Href *string `json:"href"`
	// Determines whether the "href" link is a URI template. If set to `true`, the "href" link is a URI template.
	Templated *bool `json:"templated"`
	// The HTTP method to be used with the "href" link for the referenced operation.
	ClumioType *string `json:"type"`
}

ListFileVersionsHateoasLink represents a custom type struct. A HATEOAS link to the file versions associated with this resource.

type ListFileVersionsHateoasLinks struct {
	// A HATEOAS link to the file versions associated with this resource.
	ListFileVersions *ListFileVersionsHateoasLink `json:"list-file-versions"`
}

ListFileVersionsHateoasLinks represents a custom type struct. URLs to pages related to the resource.

type ListFoldersResponse

type ListFoldersResponse struct {
	// Embedded responses related to the resource.
	Embedded *FolderListEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *FolderListLinks `json:"_links"`
	// The number of items listed on the current page.
	CurrentCount *int64 `json:"current_count"`
	// The filter used in the request. The filter includes both manually-specified and system-generated filters.
	FilterApplied *string `json:"filter_applied"`
	// The maximum number of items displayed per page in the response.
	Limit *int64 `json:"limit"`
	// The page number used to get this response.
	// Pages are indexed starting from 1 (i.e., `"start": "1"`).
	Start *string `json:"start"`
	// The total number of items, summed across all pages.
	TotalCount *int64 `json:"total_count"`
	// The total number of pages of results.
	TotalPagesCount *int64 `json:"total_pages_count"`
}

ListFoldersResponse represents a custom type struct for Success

type ListHcmHostsResponse

type ListHcmHostsResponse struct {
	// Embedded responses related to the resource.
	Embedded *HostListEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *HostListLinks `json:"_links"`
	// The number of items listed on the current page.
	CurrentCount *int64 `json:"current_count"`
	// The filter used in the request. The filter includes both manually-specified and system-generated filters.
	FilterApplied *string `json:"filter_applied"`
	// The maximum number of items displayed per page in the response.
	Limit *int64 `json:"limit"`
	// The page token used to get this response.
	Start *string `json:"start"`
}

ListHcmHostsResponse represents a custom type struct for Success

type ListHostsResponse

type ListHostsResponse struct {
	// Embedded responses related to the resource.
	Embedded *HostListEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *HostListLinks `json:"_links"`
	// The number of items listed on the current page.
	CurrentCount *int64 `json:"current_count"`
	// The filter used in the request. The filter includes both manually-specified and system-generated filters.
	FilterApplied *string `json:"filter_applied"`
	// The maximum number of items displayed per page in the response.
	Limit *int64 `json:"limit"`
	// The page number used to get this response.
	// Pages are indexed starting from 1 (i.e., `"start": "1"`).
	Start *string `json:"start"`
	// The total number of items, summed across all pages.
	TotalCount *int64 `json:"total_count"`
	// The total number of pages of results.
	TotalPagesCount *int64 `json:"total_pages_count"`
}

ListHostsResponse represents a custom type struct for Success

type ListManagementGroupsResponse

type ListManagementGroupsResponse struct {
	// Embedded responses related to the resource.
	Embedded *ManagementGroupListEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *ManagementGroupListLinks `json:"_links"`
	// The number of items listed on the current page.
	CurrentCount *int64 `json:"current_count"`
	// The maximum number of items displayed per page in the response.
	Limit *int64 `json:"limit"`
	// The total count of groups upto 10. Any number of groups beyond 10 will
	// still be returned as 10.
	MinCount *int64 `json:"min_count"`
	// The page token used to get this response.
	Start *string `json:"start"`
}

ListManagementGroupsResponse represents a custom type struct for Success

type ListMssqlAGsResponse

type ListMssqlAGsResponse struct {
	// Embedded responses related to the resource.
	Embedded *MssqlAGListEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *MssqlAGListLinks `json:"_links"`
	// The number of items listed on the current page.
	CurrentCount *int64 `json:"current_count"`
	// The filter used in the request. The filter includes both manually-specified and system-generated filters.
	FilterApplied *string `json:"filter_applied"`
	// The maximum number of items displayed per page in the response.
	Limit *int64 `json:"limit"`
	// The page number used to get this response.
	// Pages are indexed starting from 1 (i.e., `"start": "1"`).
	Start *string `json:"start"`
	// The total number of items, summed across all pages.
	TotalCount *int64 `json:"total_count"`
	// The total number of pages of results.
	TotalPagesCount *int64 `json:"total_pages_count"`
}

ListMssqlAGsResponse represents a custom type struct for Success

type ListMssqlDatabaseBackupsResponse

type ListMssqlDatabaseBackupsResponse struct {
	// Embedded responses related to the resource.
	Embedded *MssqlDatabaseBackupListEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *MssqlDatabaseBackupListLinks `json:"_links"`
	// The number of items listed on the current page.
	CurrentCount *int64 `json:"current_count"`
	// The filter used in the request. The filter includes both manually-specified and system-generated filters.
	FilterApplied *string `json:"filter_applied"`
	// The maximum number of items displayed per page in the response.
	Limit *int64 `json:"limit"`
	// The page number used to get this response.
	// Pages are indexed starting from 1 (i.e., `"start": "1"`).
	Start *string `json:"start"`
	// The total number of items, summed across all pages.
	TotalCount *int64 `json:"total_count"`
	// The total number of pages of results.
	TotalPagesCount *int64 `json:"total_pages_count"`
}

ListMssqlDatabaseBackupsResponse represents a custom type struct for Success

type ListMssqlDatabasePitrIntervalsResponse

type ListMssqlDatabasePitrIntervalsResponse struct {
	// Embedded responses related to the resource.
	Embedded *MssqlDatabasePitrIntervalListEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *MssqlDatabasePitrIntervalListLinks `json:"_links"`
	// The number of items listed on the current page.
	CurrentCount *int64 `json:"current_count"`
	// The filter used in the request. The filter includes both manually-specified and system-generated filters.
	FilterApplied *string `json:"filter_applied"`
	// The maximum number of items displayed per page in the response.
	Limit *int64 `json:"limit"`
	// The page token used to get this response.
	Start *string `json:"start"`
}

ListMssqlDatabasePitrIntervalsResponse represents a custom type struct. ListMssqlDatabasePitrIntervalsResponse represents the success response

type ListMssqlDatabasesResponse

type ListMssqlDatabasesResponse struct {
	// Embedded responses related to the resource.
	Embedded *MssqlDatabaseListEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *MssqlDatabaseListLinks `json:"_links"`
	// The number of items listed on the current page.
	CurrentCount *int64 `json:"current_count"`
	// The filter used in the request. The filter includes both manually-specified and system-generated filters.
	FilterApplied *string `json:"filter_applied"`
	// The maximum number of items displayed per page in the response.
	Limit *int64 `json:"limit"`
	// The page number used to get this response.
	// Pages are indexed starting from 1 (i.e., `"start": "1"`).
	Start *string `json:"start"`
	// The total number of items, summed across all pages.
	TotalCount *int64 `json:"total_count"`
	// The total number of pages of results.
	TotalPagesCount *int64 `json:"total_pages_count"`
}

ListMssqlDatabasesResponse represents a custom type struct for Success

type ListMssqlHostsResponse

type ListMssqlHostsResponse struct {
	// Embedded responses related to the resource.
	Embedded *MssqlHostListEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *MssqlHostListLinks `json:"_links"`
	// The number of items listed on the current page.
	CurrentCount *int64 `json:"current_count"`
	// The filter used in the request. The filter includes both manually-specified and system-generated filters.
	FilterApplied *string `json:"filter_applied"`
	// The maximum number of items displayed per page in the response.
	Limit *int64 `json:"limit"`
	// The page number used to get this response.
	// Pages are indexed starting from 1 (i.e., `"start": "1"`).
	Start *string `json:"start"`
	// The total number of items, summed across all pages.
	TotalCount *int64 `json:"total_count"`
	// The total number of pages of results.
	TotalPagesCount *int64 `json:"total_pages_count"`
}

ListMssqlHostsResponse represents a custom type struct for Success

type ListMssqlInstancesResponse

type ListMssqlInstancesResponse struct {
	// Embedded responses related to the resource.
	Embedded *MssqlInstanceListEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *MssqlInstanceListLinks `json:"_links"`
	// The number of items listed on the current page.
	CurrentCount *int64 `json:"current_count"`
	// The filter used in the request. The filter includes both manually-specified and system-generated filters.
	FilterApplied *string `json:"filter_applied"`
	// The maximum number of items displayed per page in the response.
	Limit *int64 `json:"limit"`
	// The page number used to get this response.
	// Pages are indexed starting from 1 (i.e., `"start": "1"`).
	Start *string `json:"start"`
	// The total number of items, summed across all pages.
	TotalCount *int64 `json:"total_count"`
	// The total number of pages of results.
	TotalPagesCount *int64 `json:"total_pages_count"`
}

ListMssqlInstancesResponse represents a custom type struct for Success

type ListOrganizationalUnitsResponse

type ListOrganizationalUnitsResponse struct {
	// Embedded responses related to the resource.
	Embedded *OrganizationalUnitListEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *OrganizationalUnitListLinks `json:"_links"`
	// The number of items listed on the current page.
	CurrentCount *int64 `json:"current_count"`
	// The filter used in the request. The filter includes both manually-specified and system-generated filters.
	FilterApplied *string `json:"filter_applied"`
	// The maximum number of items displayed per page in the response.
	Limit *int64 `json:"limit"`
	// The page number used to get this response.
	// Pages are indexed starting from 1 (i.e., `"start": "1"`).
	Start *string `json:"start"`
	// The total number of items, summed across all pages.
	TotalCount *int64 `json:"total_count"`
	// The total number of pages of results.
	TotalPagesCount *int64 `json:"total_pages_count"`
}

ListOrganizationalUnitsResponse represents a custom type struct for Success

type ListOrganizationalUnitsResponseV1 added in v0.7.0

type ListOrganizationalUnitsResponseV1 struct {
	// Embedded responses related to the resource.
	Embedded *OrganizationalUnitListEmbeddedV1 `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *OrganizationalUnitListLinks `json:"_links"`
	// The number of items listed on the current page.
	CurrentCount *int64 `json:"current_count"`
	// The filter used in the request. The filter includes both manually-specified and system-generated filters.
	FilterApplied *string `json:"filter_applied"`
	// The maximum number of items displayed per page in the response.
	Limit *int64 `json:"limit"`
	// The page number used to get this response.
	// Pages are indexed starting from 1 (i.e., `"start": "1"`).
	Start *string `json:"start"`
	// The total number of items, summed across all pages.
	TotalCount *int64 `json:"total_count"`
	// The total number of pages of results.
	TotalPagesCount *int64 `json:"total_pages_count"`
}

ListOrganizationalUnitsResponseV1 represents a custom type struct for Success

type ListPoliciesResponse

type ListPoliciesResponse struct {
	// An array of embedded resources related to this resource.
	Embedded *PolicyListEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *PolicyListLinks `json:"_links"`
	// The number of items listed on the current page.
	CurrentCount *int64 `json:"current_count"`
	// The filter used in the request. The filter includes both manually-specified and system-generated filters.
	FilterApplied *string `json:"filter_applied"`
	// The maximum number of items displayed per page in the response.
	Limit *int64 `json:"limit"`
	// The page token used to get this response.
	Start *string `json:"start"`
}

ListPoliciesResponse represents a custom type struct for Success

type ListProtectionGroupBackupsResponse added in v0.2.5

type ListProtectionGroupBackupsResponse struct {
	// Embedded responses related to the resource.
	Embedded *ProtectionGroupBackupListEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *ProtectionGroupBackupListLinks `json:"_links"`
	// The number of items listed on the current page.
	CurrentCount *int64 `json:"current_count"`
	// The filter used in the request. The filter includes both manually-specified and system-generated filters.
	FilterApplied *string `json:"filter_applied"`
	// The maximum number of items displayed per page in the response.
	Limit *int64 `json:"limit"`
	// The page number used to get this response.
	// Pages are indexed starting from 1 (i.e., `"start": "1"`).
	Start *string `json:"start"`
	// The total number of items, summed across all pages.
	TotalCount *int64 `json:"total_count"`
	// The total number of pages of results.
	TotalPagesCount *int64 `json:"total_pages_count"`
}

ListProtectionGroupBackupsResponse represents a custom type struct for Success

type ListProtectionGroupS3AssetBackupsResponse added in v0.2.5

type ListProtectionGroupS3AssetBackupsResponse struct {
	// Embedded responses related to the resource.
	Embedded *ProtectionGroupS3AssetBackupListEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *ProtectionGroupS3AssetBackupListLinks `json:"_links"`
	// The number of items listed on the current page.
	CurrentCount *int64 `json:"current_count"`
	// The filter used in the request. The filter includes both manually-specified and system-generated filters.
	FilterApplied *string `json:"filter_applied"`
	// The maximum number of items displayed per page in the response.
	Limit *int64 `json:"limit"`
	// The page number used to get this response.
	// Pages are indexed starting from 1 (i.e., `"start": "1"`).
	Start *string `json:"start"`
	// The total number of items, summed across all pages.
	TotalCount *int64 `json:"total_count"`
	// The total number of pages of results.
	TotalPagesCount *int64 `json:"total_pages_count"`
}

ListProtectionGroupS3AssetBackupsResponse represents a custom type struct for Success

type ListProtectionGroupS3AssetsResponse added in v0.1.2

type ListProtectionGroupS3AssetsResponse struct {
	// Embedded responses related to the resource.
	Embedded *ProtectionGroupBucketListEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *ProtectionGroupBucketListLinks `json:"_links"`
	// The number of items listed on the current page.
	CurrentCount *int64 `json:"current_count"`
	// The maximum number of items displayed per page in the response.
	Limit *int64 `json:"limit"`
	// The page number used to get this response.
	// Pages are indexed starting from 1 (i.e., `"start": "1"`).
	Start *string `json:"start"`
	// The total number of items, summed across all pages.
	TotalCount *int64 `json:"total_count"`
	// The total number of pages of results.
	TotalPagesCount *int64 `json:"total_pages_count"`
}

ListProtectionGroupS3AssetsResponse represents a custom type struct for Success

type ListProtectionGroupsResponse added in v0.1.2

type ListProtectionGroupsResponse struct {
	// Embedded responses related to the resource.
	Embedded *ProtectionGroupListEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *ProtectionGroupListLinks `json:"_links"`
	// The number of items listed on the current page.
	CurrentCount *int64 `json:"current_count"`
	// The maximum number of items displayed per page in the response.
	Limit *int64 `json:"limit"`
	// The page number used to get this response.
	// Pages are indexed starting from 1 (i.e., `"start": "1"`).
	Start *string `json:"start"`
	// The total number of items, summed across all pages.
	TotalCount *int64 `json:"total_count"`
	// The total number of pages of results.
	TotalPagesCount *int64 `json:"total_pages_count"`
}

ListProtectionGroupsResponse represents a custom type struct for Success

type ListRDSBackupDatabasesResponse added in v0.6.0

type ListRDSBackupDatabasesResponse struct {
	// Embedded responses related to the resource.
	Embedded *RDSBackupDatabaseListEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *RDSBackupDatabaseListLinks `json:"_links"`
	// The number of items listed on the current page.
	CurrentCount *int64 `json:"current_count"`
	// The maximum number of items displayed per page in the response.
	Limit *int64 `json:"limit"`
	// The page token used to get this response.
	Start *string `json:"start"`
}

ListRDSBackupDatabasesResponse represents a custom type struct for Success

type ListRDSDatabaseTablesResponse added in v0.6.0

type ListRDSDatabaseTablesResponse struct {
	// Embedded responses related to the resource.
	Embedded *RDSDatabaseTableListEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *RDSDatabaseTableListLinks `json:"_links"`
	// The number of items listed on the current page.
	CurrentCount *int64 `json:"current_count"`
	// The maximum number of items displayed per page in the response.
	Limit *int64 `json:"limit"`
	// The page token used to get this response.
	Start *string `json:"start"`
}

ListRDSDatabaseTablesResponse represents a custom type struct for Success

type ListRdsDatabaseBackupsResponse added in v0.6.0

type ListRdsDatabaseBackupsResponse struct {
	// Embedded responses related to the resource.
	Embedded *RdsDatabaseBackupListEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *RdsDatabaseBackupListLinks `json:"_links"`
	// The number of items listed on the current page.
	CurrentCount *int64 `json:"current_count"`
	// The filter used in the request. The filter includes both manually-specified and system-generated filters.
	FilterApplied *string `json:"filter_applied"`
	// The maximum number of items displayed per page in the response.
	Limit *int64 `json:"limit"`
	// The page number used to get this response.
	// Pages are indexed starting from 1 (i.e., `"start": "1"`).
	Start *string `json:"start"`
	// The total number of items, summed across all pages.
	TotalCount *int64 `json:"total_count"`
	// The total number of pages of results.
	TotalPagesCount *int64 `json:"total_pages_count"`
}

ListRdsDatabaseBackupsResponse represents a custom type struct for Success

type ListRdsOptionGroupsResponse added in v0.6.0

type ListRdsOptionGroupsResponse struct {
	// Embedded responses related to the resource.
	Embedded *OptionGroupsListEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *OptionGroupsListLinks `json:"_links"`
	// The number of items listed on the current page.
	CurrentCount *int64 `json:"current_count"`
	// The filter used in the request. The filter includes both manually-specified and system-generated filters.
	FilterApplied *string `json:"filter_applied"`
	// The maximum number of items displayed per page in the response.
	Limit *int64 `json:"limit"`
	// The page token used to get this response.
	Start *string `json:"start"`
}

ListRdsOptionGroupsResponse represents a custom type struct for Success

type ListRdsResourcesResponse added in v0.6.0

type ListRdsResourcesResponse struct {
	// Embedded responses related to the resource.
	Embedded *RdsResourceListEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *RdsResourceListLinks `json:"_links"`
	// The number of items listed on the current page.
	CurrentCount *int64 `json:"current_count"`
	// The filter used in the request. The filter includes both manually-specified and system-generated filters.
	FilterApplied *string `json:"filter_applied"`
	// The maximum number of items displayed per page in the response.
	Limit *int64 `json:"limit"`
	// The page number used to get this response.
	// Pages are indexed starting from 1 (i.e., `"start": "1"`).
	Start *string `json:"start"`
	// The total number of items, summed across all pages.
	TotalCount *int64 `json:"total_count"`
	// The total number of pages of results.
	TotalPagesCount *int64 `json:"total_pages_count"`
}

ListRdsResourcesResponse represents a custom type struct for Success

type ListReportDownloadsResponse

type ListReportDownloadsResponse struct {
	// _embedded contains the list of items of a list report CSV download query
	Embedded *ReportDownloadListEmbedded `json:"_embedded"`
	// _links provides URLs to related navigable pages of a list report CSV download query
	Links *ReportDownloadListLinks `json:"_links"`
	// The number of items listed on the current page.
	CurrentCount *int64 `json:"current_count"`
	// The filter used in the request. The filter includes both manually-specified and system-generated filters.
	FilterApplied *string `json:"filter_applied"`
	// The maximum number of items displayed per page in the response.
	Limit *int64 `json:"limit"`
	// The page number used to get this response.
	// Pages are indexed starting from 1 (i.e., `"start": "1"`).
	Start *string `json:"start"`
	// The total number of items, summed across all pages.
	TotalCount *int64 `json:"total_count"`
	// The total number of pages of results.
	TotalPagesCount *int64 `json:"total_pages_count"`
}

ListReportDownloadsResponse represents a custom type struct for Success

type ListResourcePoolsResponse

type ListResourcePoolsResponse struct {
	// Embedded responses related to the resource.
	Embedded *ResourcePoolListEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *ResourcePoolListLinks `json:"_links"`
	// The number of items listed on the current page.
	CurrentCount *int64 `json:"current_count"`
	// The filter used in the request. The filter includes both manually-specified and system-generated filters.
	FilterApplied *string `json:"filter_applied"`
	// The maximum number of items displayed per page in the response.
	Limit *int64 `json:"limit"`
	// The page number used to get this response.
	// Pages are indexed starting from 1 (i.e., `"start": "1"`).
	Start *string `json:"start"`
	// The total number of items, summed across all pages.
	TotalCount *int64 `json:"total_count"`
	// The total number of pages of results.
	TotalPagesCount *int64 `json:"total_pages_count"`
}

ListResourcePoolsResponse represents a custom type struct for Success

type ListRestoredRecordsResponse added in v0.5.0

type ListRestoredRecordsResponse struct {
	// Embedded responses related to the resource.
	Embedded *RestoredRecordListEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *RestoredRecordListLinks `json:"_links"`
	// The number of items listed on the current page.
	CurrentCount *int64 `json:"current_count"`
	// The maximum number of items displayed per page in the response.
	Limit *int64 `json:"limit"`
	// The page number used to get this response.
	// Pages are indexed starting from 1 (i.e., `"start": "1"`).
	Start *string `json:"start"`
	// The total number of items, summed across all pages.
	TotalCount *int64 `json:"total_count"`
	// The total number of pages of results.
	TotalPagesCount *int64 `json:"total_pages_count"`
}

ListRestoredRecordsResponse represents a custom type struct for Success

type ListRolesResponse

type ListRolesResponse struct {
	// Embedded responses related to the resource.
	Embedded *RoleListEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *RoleListLinks `json:"_links"`
	// The number of items listed on the current page.
	CurrentCount *int64 `json:"current_count"`
	// The filter used in the request. The filter includes both manually-specified and system-generated filters.
	FilterApplied *string `json:"filter_applied"`
	// The maximum number of items displayed per page in the response.
	Limit *int64 `json:"limit"`
	// The page number used to get this response.
	// Pages are indexed starting from 1 (i.e., `"start": "1"`).
	Start *string `json:"start"`
	// The total number of items, summed across all pages.
	TotalCount *int64 `json:"total_count"`
	// The total number of pages of results.
	TotalPagesCount *int64 `json:"total_pages_count"`
}

ListRolesResponse represents a custom type struct for Success

type ListRulesResponse

type ListRulesResponse struct {
	// An array of embedded resources related to this resource.
	Embedded *RuleListEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *RuleListLinks `json:"_links"`
	// The number of items listed on the current page.
	CurrentCount *int64 `json:"current_count"`
	// The maximum number of items displayed per page in the response.
	Limit *int64 `json:"limit"`
	// The page token used to get this response.
	Start *string `json:"start"`
}

ListRulesResponse represents a custom type struct for Success

type ListS3InstantAccessEndpointsResponse added in v0.12.0

type ListS3InstantAccessEndpointsResponse struct {
	// Embedded responses related to the resource.
	Embedded *S3InstantAccessEndpointListEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *S3InstantAccessEndpointListLinks `json:"_links"`
	// The number of items listed on the current page.
	CurrentCount *int64 `json:"current_count"`
	// The maximum number of items displayed per page in the response.
	Limit *int64 `json:"limit"`
	// The page token used to get this response.
	Start *string `json:"start"`
}

ListS3InstantAccessEndpointsResponse represents a custom type struct for Success

type ListSubgroupsResponse

type ListSubgroupsResponse struct {
	// Embedded responses related to the resource.
	Embedded *SubgroupListEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *SubgroupListLinks `json:"_links"`
	// The number of items listed on the current page.
	CurrentCount *int64 `json:"current_count"`
	// The maximum number of items displayed per page in the response.
	Limit *int64 `json:"limit"`
	// The total count of subgroups upto 20. Any number of subgroups beyond 20
	// will still be returned as 20.
	MinCount *int64 `json:"min_count"`
	// The page token used to get this response.
	Start *string `json:"start"`
}

ListSubgroupsResponse represents a custom type struct for Success

type ListTagCategories2Response

type ListTagCategories2Response struct {
	// Embedded responses related to the resource
	Embedded *TagCategory2ListEmbedded `json:"_embedded"`
	// URLs to pages related to the resource
	Links *TagCategory2ListLinks `json:"_links"`
	// The number of items listed on the current page.
	CurrentCount *int64 `json:"current_count"`
	// The maximum number of items displayed per page in the response.
	Limit *int64 `json:"limit"`
	// The page number used to get this response.
	// Pages are indexed starting from 1 (i.e., `"start": "1"`).
	Start *string `json:"start"`
	// The total number of items, summed across all pages.
	TotalCount *int64 `json:"total_count"`
	// The total number of pages of results.
	TotalPagesCount *int64 `json:"total_pages_count"`
}

ListTagCategories2Response represents a custom type struct for Success

type ListTagsResponse

type ListTagsResponse struct {
	// Embedded responses related to the resource.
	Embedded *Tag2ListEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *Tag2ListLinks `json:"_links"`
	// The number of items listed on the current page.
	CurrentCount *int64 `json:"current_count"`
	// The filter used in the request. The filter includes both manually-specified and system-generated filters.
	FilterApplied *string `json:"filter_applied"`
	// The maximum number of items displayed per page in the response.
	Limit *int64 `json:"limit"`
	// The page number used to get this response.
	// Pages are indexed starting from 1 (i.e., `"start": "1"`).
	Start *string `json:"start"`
	// The total number of items, summed across all pages.
	TotalCount *int64 `json:"total_count"`
	// The total number of pages of results.
	TotalPagesCount *int64 `json:"total_pages_count"`
}

ListTagsResponse represents a custom type struct for Success

type ListTasksResponse

type ListTasksResponse struct {
	// Embedded responses related to the resource.
	Embedded *TaskListEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *TaskListLinks `json:"_links"`
	// The number of items listed on the current page.
	CurrentCount *int64 `json:"current_count"`
	// The filter used in the request. The filter includes both manually-specified and system-generated filters.
	FilterApplied *string `json:"filter_applied"`
	// The maximum number of items displayed per page in the response.
	Limit *int64 `json:"limit"`
	// The page number used to get this response.
	// Pages are indexed starting from 1 (i.e., `"start": "1"`).
	Start *string `json:"start"`
	// The total number of items, summed across all pages.
	TotalCount *int64 `json:"total_count"`
	// The total number of pages of results.
	TotalPagesCount *int64 `json:"total_pages_count"`
}

ListTasksResponse represents a custom type struct for Success

type ListUsersResponse

type ListUsersResponse struct {
	// Embedded responses related to the resource.
	Embedded *UserListEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *UserListHateoasLinks `json:"_links"`
	// The number of items listed on the current page.
	CurrentCount *int64 `json:"current_count"`
	// The filter used in the request. The filter includes both manually-specified and system-generated filters.
	FilterApplied *string `json:"filter_applied"`
	// The maximum number of items displayed per page in the response.
	Limit *int64 `json:"limit"`
	// The page number used to get this response.
	// Pages are indexed starting from 1 (i.e., `"start": "1"`).
	Start *string `json:"start"`
	// The total number of items, summed across all pages.
	TotalCount *int64 `json:"total_count"`
	// The total number of pages of results.
	TotalPagesCount *int64 `json:"total_pages_count"`
}

ListUsersResponse represents a custom type struct for Success

type ListUsersResponseV1 added in v0.6.0

type ListUsersResponseV1 struct {
	// Embedded responses related to the resource.
	Embedded *UserListEmbeddedV1 `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *UserListHateoasLinks `json:"_links"`
	// The number of items listed on the current page.
	CurrentCount *int64 `json:"current_count"`
	// The filter used in the request. The filter includes both manually-specified and system-generated filters.
	FilterApplied *string `json:"filter_applied"`
	// The maximum number of items displayed per page in the response.
	Limit *int64 `json:"limit"`
	// The page number used to get this response.
	// Pages are indexed starting from 1 (i.e., `"start": "1"`).
	Start *string `json:"start"`
	// The total number of items, summed across all pages.
	TotalCount *int64 `json:"total_count"`
	// The total number of pages of results.
	TotalPagesCount *int64 `json:"total_pages_count"`
}

ListUsersResponseV1 represents a custom type struct for Success

type ListVMBackupsResponse

type ListVMBackupsResponse struct {
	// Embedded responses related to the resource.
	Embedded *VMBackupListEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *VMBackupListHateoasLinks `json:"_links"`
	// The number of items listed on the current page.
	CurrentCount *int64 `json:"current_count"`
	// The filter used in the request. The filter includes both manually-specified and system-generated filters.
	FilterApplied *string `json:"filter_applied"`
	// The maximum number of items displayed per page in the response.
	Limit *int64 `json:"limit"`
	// The page number used to get this response.
	// Pages are indexed starting from 1 (i.e., `"start": "1"`).
	Start *string `json:"start"`
	// The total number of items, summed across all pages.
	TotalCount *int64 `json:"total_count"`
	// The total number of pages of results.
	TotalPagesCount *int64 `json:"total_pages_count"`
}

ListVMBackupsResponse represents a custom type struct for Success

type ListVMwareDatastoresResponse

type ListVMwareDatastoresResponse struct {
	// Embedded responses related to the resource.
	Embedded *VMwareDatastoreListEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *VMwareDatastoreListLinks `json:"_links"`
	// The number of items listed on the current page.
	CurrentCount *int64 `json:"current_count"`
	// The filter used in the request. The filter includes both manually-specified and system-generated filters.
	FilterApplied *string `json:"filter_applied"`
	// The maximum number of items displayed per page in the response.
	Limit *int64 `json:"limit"`
	// The page number used to get this response.
	// Pages are indexed starting from 1 (i.e., `"start": "1"`).
	Start *string `json:"start"`
	// The total number of items, summed across all pages.
	TotalCount *int64 `json:"total_count"`
	// The total number of pages of results.
	TotalPagesCount *int64 `json:"total_pages_count"`
}

ListVMwareDatastoresResponse represents a custom type struct for Success

type ListVMwareVCenterNetworksResponse

type ListVMwareVCenterNetworksResponse struct {
	// Embedded responses related to the resource.
	Embedded *VMwareVCenterNetworkListEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *VMwareVCenterNetworkListLinks `json:"_links"`
	// The number of items listed on the current page.
	CurrentCount *int64 `json:"current_count"`
	// The filter used in the request. The filter includes both manually-specified and system-generated filters.
	FilterApplied *string `json:"filter_applied"`
	// The maximum number of items displayed per page in the response.
	Limit *int64 `json:"limit"`
	// The page number used to get this response.
	// Pages are indexed starting from 1 (i.e., `"start": "1"`).
	Start *string `json:"start"`
	// The total number of items, summed across all pages.
	TotalCount *int64 `json:"total_count"`
	// The total number of pages of results.
	TotalPagesCount *int64 `json:"total_pages_count"`
}

ListVMwareVCenterNetworksResponse represents a custom type struct for Success

type ListVcentersResponse

type ListVcentersResponse struct {
	// Embedded responses related to the resource.
	Embedded *VcenterListEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *VcenterListLinks `json:"_links"`
	// The number of items listed on the current page.
	CurrentCount *int64 `json:"current_count"`
	// The maximum number of items displayed per page in the response.
	Limit *int64 `json:"limit"`
	// The page number used to get this response.
	// Pages are indexed starting from 1 (i.e., `"start": "1"`).
	Start *string `json:"start"`
	// The total number of items, summed across all pages.
	TotalCount *int64 `json:"total_count"`
	// The total number of pages of results.
	TotalPagesCount *int64 `json:"total_pages_count"`
}

ListVcentersResponse represents a custom type struct for Success

type ListVmsResponse

type ListVmsResponse struct {
	// Embedded responses related to the resource.
	Embedded *VmListEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *VmListLinks `json:"_links"`
	// The number of items listed on the current page.
	CurrentCount *int64 `json:"current_count"`
	// The filter used in the request. The filter includes both manually-specified and system-generated filters.
	FilterApplied *string `json:"filter_applied"`
	// The maximum number of items displayed per page in the response.
	Limit *int64 `json:"limit"`
	// The page number used to get this response.
	// Pages are indexed starting from 1 (i.e., `"start": "1"`).
	Start *string `json:"start"`
	// The total number of items, summed across all pages.
	TotalCount *int64 `json:"total_count"`
	// The total number of pages of results.
	TotalPagesCount *int64 `json:"total_pages_count"`
}

ListVmsResponse represents a custom type struct for Success

type ListWalletsResponse added in v0.2.7

type ListWalletsResponse struct {
	// Embedded responses related to the resource.
	Embedded *WalletListEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *WalletListLinks `json:"_links"`
	// The number of items listed on the current page.
	CurrentCount *int64 `json:"current_count"`
	// The maximum number of items displayed per page in the response.
	Limit *int64 `json:"limit"`
	// The page token used to get this response.
	Start *string `json:"start"`
}

ListWalletsResponse represents a custom type struct for Success

type LocalSecondaryIndex added in v0.5.0

type LocalSecondaryIndex struct {
	// The name of the local secondary index
	IndexName *string `json:"index_name"`
	// Represents a single element of a key schema. A key schema specifies the attributes that make up the primary key
	// of a table, or the key attributes of an index.
	KeySchema []*KeySchemaElement `json:"key_schema"`
	// Represents attributes that are copied (projected) from the table into an index. These are in addition to the
	// primary key attributes and index key attributes, which are automatically projected.
	Projection *Projection `json:"projection"`
}

LocalSecondaryIndex represents a custom type struct. Represents the properties of a local secondary index.

type M365GroupingCriteria

type M365GroupingCriteria struct {
	// Determines whether or not this data group is editable. If false, then an
	// organizational unit uses this data group.
	// To edit this data group, all organizational units using it must be deleted.
	IsEditable *bool `json:"is_editable"`
	//
	// +---------------------+------------------------+
	// |     Entity Type     |        Details         |
	// +=====================+========================+
	// | microsoft365_domain | Microsoft 365 account. |
	// +---------------------+------------------------+
	// | microsoft365_group  | Microsoft 365 group.   |
	// +---------------------+------------------------+
	//
	ClumioType *string `json:"type"`
}

M365GroupingCriteria represents a custom type struct. The entity type used to group organizational units for Microsoft 365 resources.

type MSSQLDatabaseBackupAdvancedSetting added in v0.2.2

type MSSQLDatabaseBackupAdvancedSetting struct {
	// The alternative replica for MSSQL database backups. This setting only applies to Availability Group databases. Possible values include `"primary"`, `"sync_secondary"`, and `"stop"`. If `"stop"` is provided, then backups will not attempt to switch to a different replica when the preferred replica is unavailable. Otherwise, recurring backups will attempt to use either the primary replica or the secondary replica accordingly.
	AlternativeReplica *string `json:"alternative_replica"`
	// The primary preferred replica for MSSQL database backups. This setting only applies to Availability Group databases. Possible values include `"primary"` and `"sync_secondary"`. Recurring backup will first attempt to use either the primary replica or the secondary replica accordingly.
	PreferredReplica *string `json:"preferred_replica"`
}

MSSQLDatabaseBackupAdvancedSetting represents a custom type struct. Additional policy configuration settings for the `mssql_database_backup` operation. If this operation is not of type `mssql_database_backup`, then this field is omitted from the response.

type MSSQLLogBackupAdvancedSetting added in v0.2.2

type MSSQLLogBackupAdvancedSetting struct {
	// The alternative replica for MSSQL log backups. This setting only applies to Availability Group databases. Possible values include `"primary"`, `"sync_secondary"`, and `"stop"`. If `"stop"` is provided, then backups will not attempt to switch to a different replica when the preferred replica is unavailable. Otherwise, recurring backups will attempt to use either the primary replica or the secondary replica accordingly.
	AlternativeReplica *string `json:"alternative_replica"`
	// The primary preferred replica for MSSQL log backups. This setting only applies to Availability Group databases. Possible values include `"primary"` and `"sync_secondary"`. Recurring backup will first attempt to use either the primary replica or the secondary replica accordingly.
	PreferredReplica *string `json:"preferred_replica"`
}

MSSQLLogBackupAdvancedSetting represents a custom type struct. Additional policy configuration settings for the `mssql_log_backup` operation. If this operation is not of type `mssql_log_backup`, then this field is omitted from the response.

type ManagementGroup

type ManagementGroup struct {
	// URLs to pages related to the resource.
	Links *ManagementGroupLinks `json:"_links"`
	// The Clumio-assigned ID of the management group.
	Id *string `json:"id"`
	// The name of the management group.
	Name *string `json:"name"`
	// The type of the management group. Possible values include `on_prem`.
	ClumioType *string `json:"type"`
	// The Clumio-assigned ID of the vCenter server associated with the management group.
	// All management groups are associated with a vCenter server.
	VcenterId *string `json:"vcenter_id"`
}

ManagementGroup represents a custom type struct

type ManagementGroupLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// A resource-specific HATEOAS link.
	ListManagementSubgroups *HateoasLink `json:"list-management-subgroups"`
	// A resource-specific HATEOAS link.
	UpdateManagementGroup *HateoasLink `json:"update-management-group"`
}

ManagementGroupLinks represents a custom type struct. URLs to pages related to the resource.

type ManagementGroupListEmbedded

type ManagementGroupListEmbedded struct {
	// TODO: Add struct field description
	Items []*ManagementGroup `json:"items"`
}

ManagementGroupListEmbedded represents a custom type struct. Embedded responses related to the resource.

type ManagementGroupListLinks struct {
	// The HATEOAS link to the first page of results.
	First *HateoasFirstLink `json:"_first"`
	// The HATEOAS link to the next page of results.
	Next *HateoasNextLink `json:"_next"`
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

ManagementGroupListLinks represents a custom type struct. URLs to pages related to the resource.

type MoveHcmHostsResponse

type MoveHcmHostsResponse struct {
	// Embedded responses related to the resource.
	Embedded *ReadTaskHateoasOuterEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *MoveHostsLinks `json:"_links"`
	// Clumio assigned TaskID for moving the hosts.
	TaskId *string `json:"task_id"`
}

MoveHcmHostsResponse represents a custom type struct for Success

type MoveHostsLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// A HATEOAS link to the task associated with this resource.
	ReadTask *ReadTaskHateoasLink `json:"read-task"`
}

MoveHostsLinks represents a custom type struct. URLs to pages related to the resource.

type MoveHostsSource

type MoveHostsSource struct {
	// Endpoints of hosts to be deleted
	Endpoints []*string `json:"endpoints"`
	// TODO: Add struct field description
	GroupId *string `json:"group_id"`
	// Performs the operation on a host within the specified subgroup id.
	SubgroupId *string `json:"subgroup_id"`
}

MoveHostsSource represents a custom type struct. The hosts to be moved to a different management subgroup.

type MoveHostsTarget

type MoveHostsTarget struct {
	// TODO: Add struct field description
	GroupId *string `json:"group_id"`
	// Performs the operation on a host within the specified subgroup id.
	SubgroupId *string `json:"subgroup_id"`
}

MoveHostsTarget represents a custom type struct. The target configuration of the hosts to be moved.

type MoveMssqlHostConnectionsV1Request

type MoveMssqlHostConnectionsV1Request struct {
	// The hosts to be moved to a different management subgroup.
	Source *MoveHostsSource `json:"source"`
	// The target configuration of the hosts to be moved.
	Target *MoveHostsTarget `json:"target"`
}

MoveMssqlHostConnectionsV1Request represents a custom type struct

type MssqlAG

type MssqlAG struct {
	// MssqlAGEmbedded is embed of MSSQL Availability Groups
	// Embedded responses related to the resource.
	Embedded *MssqlAGEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *MssqlAGLinks `json:"_links"`
	// The Clumio-assigned ID of the availability group.
	Id *string `json:"id"`
	// The Microsoft SQL-assigned name of the availability group.
	Name *string `json:"name"`
	// The Clumio-assigned ID of the organizational unit associated with the availability group.
	OrganizationalUnitId *string `json:"organizational_unit_id"`
	// The protection policy applied to this resource. If the resource is not protected, then this field has a value of `null`.
	ProtectionInfo *ProtectionInfo `json:"protection_info"`
	// The status of the availability group, Possible values include 'active' and 'inactive'.
	Status *string `json:"status"`
}

MssqlAG represents a custom type struct

type MssqlAGEmbedded

type MssqlAGEmbedded struct {
	// availability group level stats contains compliant database stats
	GetMssqlAvailabilityGroupStats interface{} `json:"get-mssql-availability-group-stats"`
	// Embeds the associated policy of a protected resource in the response if requested using the `embed` query parameter. Unprotected resources will not have an associated policy.
	ReadPolicyDefinition interface{} `json:"read-policy-definition"`
}

MssqlAGEmbedded represents a custom type struct. MssqlAGEmbedded is embed of MSSQL Availability Groups Embedded responses related to the resource.

type MssqlAGLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// A HATEOAS link to the policy protecting this resource. Will be omitted for unprotected entities.
	ReadPolicyDefinition *ReadPolicyDefinitionHateoasLink `json:"read-policy-definition"`
}

MssqlAGLinks represents a custom type struct. URLs to pages related to the resource.

type MssqlAGListEmbedded

type MssqlAGListEmbedded struct {
	// TODO: Add struct field description
	Items []*MssqlAG `json:"items"`
}

MssqlAGListEmbedded represents a custom type struct. Embedded responses related to the resource.

type MssqlAGListLinks struct {
	// The HATEOAS link to the first page of results.
	First *HateoasFirstLink `json:"_first"`
	// The HATEOAS link to the last page of results.
	Last *HateoasLastLink `json:"_last"`
	// The HATEOAS link to the next page of results.
	Next *HateoasNextLink `json:"_next"`
	// The HATEOAS link to the previous page of results.
	Prev *HateoasPrevLink `json:"_prev"`
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

MssqlAGListLinks represents a custom type struct. URLs to pages related to the resource.

type MssqlDatabase

type MssqlDatabase struct {
	// Embedded responses related to the resource.
	Embedded *MssqlDatabaseEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *DatabaseLinks `json:"_links"`
	// The Clumio-assigned ID of the availability group. It is null in case of a standalone database.
	AvailabilityGroupId *string `json:"availability_group_id"`
	// The Microsoft SQL assigned name of the availability group. It is null in case of a standalone database.
	AvailabilityGroupName *string `json:"availability_group_name"`
	// The policy compliance status of the resource. If the database is not protected,
	// then this field has a value of `null`. Refer to
	//
	// the Compliance Status table
	//
	// for a complete list of compliance statuses.
	ComplianceStatus *string `json:"compliance_status"`
	// The Clumio-assigned ID of the failover cluster.
	FailoverClusterId *string `json:"failover_cluster_id"`
	// The Microsoft SQL assigned name of the Failover Cluster
	FailoverClusterName *string `json:"failover_cluster_name"`
	// Failovercluster Protection Status is used to indicate the fci protection status associated with the
	// fci database
	FailoverClusterProtectionStatus *string `json:"failover_cluster_protection_status"`
	// The Clumio-assigned ID of the group to which the standalone database belongs, in case of an
	// availability group database it will be empty.
	GroupId *string `json:"group_id"`
	// The user-provided endpoint of the host containing the given database.
	HostEndpoint *string `json:"host_endpoint"`
	// The Clumio-assigned ID of the host containing the given database.
	HostId *string `json:"host_id"`
	// The Clumio-assigned ID of the Database.
	Id *string `json:"id"`
	// The Clumio-assigned ID of the instance containing the given database.
	InstanceId *string `json:"instance_id"`
	// The name of the Microsoft SQL instance containing the given database.
	InstanceName *string `json:"instance_name"`
	// is_supported is true if Clumio supports backup of the database.
	IsSupported *bool `json:"is_supported"`
	// The timestamp of the last time this database was full backed up.
	// Represented in RFC-3339 format. If this database has never been backed up,
	// this field has a value of `null`.
	LastBackupTimestamp *string `json:"last_backup_timestamp"`
	// The timestamp of the last time this database was log backed up in Bulk Recovery Model.
	// Represented in RFC-3339 format. If this database has never been backed up,
	// this field has a value of `null`.
	LastBulkRecoveryModelLogBackupTimestamp *string `json:"last_bulk_recovery_model_log_backup_timestamp"`
	// The timestamp of the last time this database was log backed up in Full Recovery Model.
	// Represented in RFC-3339 format. If this database has never been backed up,
	// this field has a value of `null`.
	LastFullRecoveryModelLogBackupTimestamp *string `json:"last_full_recovery_model_log_backup_timestamp"`
	// The name of the Database.
	Name *string `json:"name"`
	// The Clumio-assigned ID of the organizational unit associated with the database.
	OrganizationalUnitId *string `json:"organizational_unit_id"`
	// The protection policy applied to this resource. If the resource is not protected, then this field has a value of `null`.
	ProtectionInfo *ProtectionInfo `json:"protection_info"`
	// recovery_model is the recovery model of the database. Possible values include 'simple_recovery_model',
	// 'bulk_recovery_model', and 'full_recovery_model'.
	RecoveryModel *string `json:"recovery_model"`
	// The size of the Database.
	Size *float64 `json:"size"`
	// The status of the database, Possible values include 'active' and 'inactive'.
	Status *string `json:"status"`
	// subgroup id is the id of the Subgroup where this database belongs, in case of AG database
	// it will be empty.
	SubgroupId *string `json:"subgroup_id"`
	// The type of the database. Possible values include 'availability_group_database' and 'standalone_database'.
	ClumioType *string `json:"type"`
	// unsupported_reason is the reason why Clumio doesn't support backup of such database,
	// possible values include 'filestream_enabled_database'.
	UnsupportedReason *string `json:"unsupported_reason"`
}

MssqlDatabase represents a custom type struct

type MssqlDatabaseBackup

type MssqlDatabaseBackup struct {
	// Embedded responses related to the resource.
	Embedded *MssqlDatabaseBackupEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *MssqlDatabaseBackupLinks `json:"_links"`
	// TODO: Add struct field description
	DatabaseFiles []*MssqlDatabaseFile `json:"database_files"`
	// The Clumio-assigned ID of the database associated with this backup.
	DatabaseId *string `json:"database_id"`
	// The Microsoft SQL database engine at the time of backup.
	Engine *string `json:"engine"`
	// The Microsoft SQL database engine version at the time of backup.
	EngineVersion *string `json:"engine_version"`
	// The timestamp of when this backup expires. Represented in RFC-3339 format.
	ExpirationTimestamp *string `json:"expiration_timestamp"`
	// The Clumio-assigned ID of the management group associated with the database at the time of backup.
	GroupId *string `json:"group_id"`
	// The user-provided endpoint of the host containing the given database at the time of backup.
	HostEndpoint *string `json:"host_endpoint"`
	// The Clumio-assigned ID of the host associated with the database at the time of backup.
	HostId *string `json:"host_id"`
	// The Clumio-assigned ID of the backup.
	Id *string `json:"id"`
	// The Clumio-assigned instance id at the time of backup.
	InstanceId *string `json:"instance_id"`
	// The instance name at the time of backup.
	InstanceName *string `json:"instance_name"`
	// The timestamp of when this backup started. Represented in RFC-3339 format.
	StartTimestamp *string `json:"start_timestamp"`
	// The Clumio-assigned ID of the management subgroup associated with the database at the time of backup.
	SubgroupId *string `json:"subgroup_id"`
	// The type of backup.
	ClumioType *string `json:"type"`
}

MssqlDatabaseBackup represents a custom type struct

type MssqlDatabaseBackupEmbedded

type MssqlDatabaseBackupEmbedded struct {
	// Embeds details about the management group if requested using the `embed` query.
	ReadManagementGroup interface{} `json:"read-management-group"`
	// Embeds details about the management subgroup if requested using the `embed` query.
	ReadManagementSubgroup interface{} `json:"read-management-subgroup"`
}

MssqlDatabaseBackupEmbedded represents a custom type struct. Embedded responses related to the resource.

type MssqlDatabaseBackupLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// A resource-specific HATEOAS link.
	ReadManagementGroup *HateoasLink `json:"read-management-group"`
	// A resource-specific HATEOAS link.
	ReadManagementSubgroup *HateoasLink `json:"read-management-subgroup"`
	// A resource-specific HATEOAS link.
	RestoreMssqlDatabase *HateoasLink `json:"restore-mssql-database"`
}

MssqlDatabaseBackupLinks represents a custom type struct. URLs to pages related to the resource.

type MssqlDatabaseBackupListEmbedded

type MssqlDatabaseBackupListEmbedded struct {
	// TODO: Add struct field description
	Items []*MssqlDatabaseBackup `json:"items"`
}

MssqlDatabaseBackupListEmbedded represents a custom type struct. Embedded responses related to the resource.

type MssqlDatabaseBackupListLinks struct {
	// The HATEOAS link to the first page of results.
	First *HateoasFirstLink `json:"_first"`
	// The HATEOAS link to the last page of results.
	Last *HateoasLastLink `json:"_last"`
	// The HATEOAS link to the next page of results.
	Next *HateoasNextLink `json:"_next"`
	// The HATEOAS link to the previous page of results.
	Prev *HateoasPrevLink `json:"_prev"`
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

MssqlDatabaseBackupListLinks represents a custom type struct. URLs to pages related to the resource.

type MssqlDatabaseEmbedded

type MssqlDatabaseEmbedded struct {
	// Embeds details about the management group if requested using the `embed` query.
	ReadManagementGroup interface{} `json:"read-management-group"`
	// Embeds details about the management subgroup if requested using the `embed` query.
	ReadManagementSubgroup interface{} `json:"read-management-subgroup"`
	// Embeds the associated policy of a protected resource in the response if requested using the `embed` query parameter. Unprotected resources will not have an associated policy.
	ReadPolicyDefinition interface{} `json:"read-policy-definition"`
}

MssqlDatabaseEmbedded represents a custom type struct. Embedded responses related to the resource.

type MssqlDatabaseFile

type MssqlDatabaseFile struct {
	// The name of the database file.
	Name *string `json:"name"`
	// The type of the database file. Possible values include sql_row_file and sql_log_file.
	ClumioType *string `json:"type"`
}

MssqlDatabaseFile represents a custom type struct

type MssqlDatabaseListEmbedded

type MssqlDatabaseListEmbedded struct {
	// TODO: Add struct field description
	Items []*MssqlDatabase `json:"items"`
}

MssqlDatabaseListEmbedded represents a custom type struct. Embedded responses related to the resource.

type MssqlDatabaseListLinks struct {
	// The HATEOAS link to the first page of results.
	First *HateoasFirstLink `json:"_first"`
	// The HATEOAS link to the last page of results.
	Last *HateoasLastLink `json:"_last"`
	// The HATEOAS link to the next page of results.
	Next *HateoasNextLink `json:"_next"`
	// The HATEOAS link to the previous page of results.
	Prev *HateoasPrevLink `json:"_prev"`
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// A resource-specific HATEOAS link.
	CreateMssqlHostConnections *HateoasLink `json:"create-mssql-host-connections"`
}

MssqlDatabaseListLinks represents a custom type struct. URLs to pages related to the resource.

type MssqlDatabasePitrInterval

type MssqlDatabasePitrInterval struct {
	// End timestamp of the interval. Represented in RFC-3339 format.
	EndTimestamp *string `json:"end_timestamp"`
	// Start timestamp of the interval. Represented in RFC-3339 format.
	StartTimestamp *string `json:"start_timestamp"`
}

MssqlDatabasePitrInterval represents a custom type struct

type MssqlDatabasePitrIntervalListEmbedded

type MssqlDatabasePitrIntervalListEmbedded struct {
	// TODO: Add struct field description
	Items []*MssqlDatabasePitrInterval `json:"items"`
}

MssqlDatabasePitrIntervalListEmbedded represents a custom type struct. Embedded responses related to the resource.

type MssqlDatabasePitrIntervalListLinks struct {
	// The HATEOAS link to the first page of results.
	First *HateoasFirstLink `json:"_first"`
	// The HATEOAS link to the next page of results.
	Next *HateoasNextLink `json:"_next"`
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

MssqlDatabasePitrIntervalListLinks represents a custom type struct. URLs to pages related to the resource.

type MssqlHost

type MssqlHost struct {
	// Embedded responses related to the resource.
	Embedded *MssqlHostEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *MssqlHostLinks `json:"_links"`
	// The user-provided endpoint of the host containing the given database.
	Endpoint *string `json:"endpoint"`
	// The Clumio-assigned ID of the management group to which the host belongs.
	GroupId *string `json:"group_id"`
	// Determines whether or not an availability group is present in the host.
	HasAssociatedAvailabilityGroup *bool `json:"has_associated_availability_group"`
	// Connection status of MSSQL Host
	HostConnectionStatus *string `json:"host_connection_status"`
	// The Clumio-assigned ID of the Host.
	Id *string `json:"id"`
	// The number of instances present in the host.
	InstanceCount *int64 `json:"instance_count"`
	// IsPartOfFCI is a boolean field representing if the Host is part of Failover Cluster
	IsPartOfFci *bool `json:"is_part_of_fci"`
	// The Clumio-assigned ID of the organizational unit associated with the host.
	OrganizationalUnitId *string `json:"organizational_unit_id"`
	// The protection policy applied to this resource. If the resource is not protected, then this field has a value of `null`.
	ProtectionInfo *ProtectionInfo `json:"protection_info"`
	// The status of the Host, Possible values include 'active' and 'inactive'.
	Status *string `json:"status"`
	// The Clumio-assigned ID of the management subgroup to which the host belongs.
	SubgroupId *string `json:"subgroup_id"`
}

MssqlHost represents a custom type struct

type MssqlHostEmbedded

type MssqlHostEmbedded struct {
	// host level stats
	GetMssqlHostStats interface{} `json:"get-mssql-host-stats"`
	// Embeds details about the management group if requested using the `embed` query.
	ReadManagementGroup interface{} `json:"read-management-group"`
	// Embeds details about the management subgroup if requested using the `embed` query.
	ReadManagementSubgroup interface{} `json:"read-management-subgroup"`
	// Embeds the associated policy of a protected resource in the response if requested using the `embed` query parameter. Unprotected resources will not have an associated policy.
	ReadPolicyDefinition interface{} `json:"read-policy-definition"`
}

MssqlHostEmbedded represents a custom type struct. Embedded responses related to the resource.

type MssqlHostLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// A resource-specific HATEOAS link.
	GetMssqlHostStats *HateoasLink `json:"get-mssql-host-stats"`
	// A HATEOAS link to protect the entities.
	ProtectEntities *ProtectEntitiesHateoasLink `json:"protect-entities"`
	// A resource-specific HATEOAS link.
	ReadManagementGroup *HateoasLink `json:"read-management-group"`
	// A resource-specific HATEOAS link.
	ReadManagementSubgroup *HateoasLink `json:"read-management-subgroup"`
	// A HATEOAS link to the policy protecting this resource. Will be omitted for unprotected entities.
	ReadPolicyDefinition *ReadPolicyDefinitionHateoasLink `json:"read-policy-definition"`
	// A HATEOAS link to unprotect the entities.
	UnprotectEntities *UnprotectEntitiesHateoasLink `json:"unprotect-entities"`
}

MssqlHostLinks represents a custom type struct. URLs to pages related to the resource.

type MssqlHostListEmbedded

type MssqlHostListEmbedded struct {
	// TODO: Add struct field description
	Items []*MssqlHost `json:"items"`
}

MssqlHostListEmbedded represents a custom type struct. Embedded responses related to the resource.

type MssqlHostListLinks struct {
	// The HATEOAS link to the first page of results.
	First *HateoasFirstLink `json:"_first"`
	// The HATEOAS link to the last page of results.
	Last *HateoasLastLink `json:"_last"`
	// The HATEOAS link to the next page of results.
	Next *HateoasNextLink `json:"_next"`
	// The HATEOAS link to the previous page of results.
	Prev *HateoasPrevLink `json:"_prev"`
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// A resource-specific HATEOAS link.
	CreateMssqlHostConnections *HateoasLink `json:"create-mssql-host-connections"`
}

MssqlHostListLinks represents a custom type struct. URLs to pages related to the resource.

type MssqlInstance

type MssqlInstance struct {
	// Embedded responses related to the resource.
	Embedded *MssqlInstanceEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *MssqlInstanceLinks `json:"_links"`
	// The Clumio-assigned ID of the management group to which the host belongs.
	GroupId *string `json:"group_id"`
	// The boolean value represents if availability group is present in the instance.
	HasAssociatedAvailabilityGroup *bool `json:"has_associated_availability_group"`
	// The user-provided endpoint of the host containing the given database.
	HostEndpoint *string `json:"host_endpoint"`
	// The Clumio-assigned ID of the host, containing the instance.
	HostId *string `json:"host_id"`
	// The Clumio-assigned ID of the Instance.
	Id *string `json:"id"`
	// The Microsoft SQL assigned name of the instance.
	Name *string `json:"name"`
	// The Clumio-assigned ID of the organizational unit associated with the instance.
	OrganizationalUnitId *string `json:"organizational_unit_id"`
	// Product Version of the instance.
	ProductVersion *string `json:"product_version"`
	// The protection policy applied to this resource. If the resource is not protected, then this field has a value of `null`.
	ProtectionInfo *ProtectionInfo `json:"protection_info"`
	// The Microsoft SQL assigned server name of the instance.
	ServerName *string `json:"server_name"`
	// The status of the Instance, Possible values include 'active' and 'inactive'.
	Status *string `json:"status"`
	// The Clumio-assigned ID of the management subgroup to which the host belongs.
	SubgroupId *string `json:"subgroup_id"`
}

MssqlInstance represents a custom type struct

type MssqlInstanceEmbedded

type MssqlInstanceEmbedded struct {
	// TODO: Add struct field description
	GetMssqlInstanceStats interface{} `json:"get-mssql-instance-stats"`
	// Embeds details about the management group if requested using the `embed` query.
	ReadManagementGroup interface{} `json:"read-management-group"`
	// Embeds details about the management subgroup if requested using the `embed` query.
	ReadManagementSubgroup interface{} `json:"read-management-subgroup"`
	// Embeds the associated policy of a protected resource in the response if requested using the `embed` query parameter. Unprotected resources will not have an associated policy.
	ReadPolicyDefinition interface{} `json:"read-policy-definition"`
}

MssqlInstanceEmbedded represents a custom type struct. Embedded responses related to the resource.

type MssqlInstanceLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// A resource-specific HATEOAS link.
	GetMssqlInstanceStats *HateoasLink `json:"get-mssql-instance-stats"`
	// A HATEOAS link to protect the entities.
	ProtectEntities *ProtectEntitiesHateoasLink `json:"protect-entities"`
	// A resource-specific HATEOAS link.
	ReadManagementGroup *HateoasLink `json:"read-management-group"`
	// A resource-specific HATEOAS link.
	ReadManagementSubgroup *HateoasLink `json:"read-management-subgroup"`
	// A HATEOAS link to the policy protecting this resource. Will be omitted for unprotected entities.
	ReadPolicyDefinition *ReadPolicyDefinitionHateoasLink `json:"read-policy-definition"`
	// A HATEOAS link to unprotect the entities.
	UnprotectEntities *UnprotectEntitiesHateoasLink `json:"unprotect-entities"`
}

MssqlInstanceLinks represents a custom type struct. URLs to pages related to the resource.

type MssqlInstanceListEmbedded

type MssqlInstanceListEmbedded struct {
	// TODO: Add struct field description
	Items []*MssqlInstance `json:"items"`
}

MssqlInstanceListEmbedded represents a custom type struct. Embedded responses related to the resource.

type MssqlInstanceListLinks struct {
	// The HATEOAS link to the first page of results.
	First *HateoasFirstLink `json:"_first"`
	// The HATEOAS link to the last page of results.
	Last *HateoasLastLink `json:"_last"`
	// The HATEOAS link to the next page of results.
	Next *HateoasNextLink `json:"_next"`
	// The HATEOAS link to the previous page of results.
	Prev *HateoasPrevLink `json:"_prev"`
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

MssqlInstanceListLinks represents a custom type struct. URLs to pages related to the resource.

type MssqlPITROptions

type MssqlPITROptions struct {
	// The Clumio-assigned ID of the MSSQL database to be restored.
	// Use the [GET /datasources/mssql/databases](#operation/list-mssql-databases)
	// endpoint to fetch valid values.
	DatabaseId *string `json:"database_id"`
	// The point in time to be restored in RFC-3339 format.
	Timestamp *string `json:"timestamp"`
}

MssqlPITROptions represents a custom type struct. A database and a point-in-time to be restored. Only one of `backup` or `pitr` should be specified.

type MssqlRestoreFromBackupOptions

type MssqlRestoreFromBackupOptions struct {
	// The Clumio-assigned ID of the backup to be restored.
	// Use the [GET /backups/mssql/databases](#operation/list-backup-mssql-databases)
	// endpoint to fetch valid values.
	BackupId *string `json:"backup_id"`
}

MssqlRestoreFromBackupOptions represents a custom type struct. The MSSQL database backup to be restored. Only one of `backup` or `pitr` should be specified.

type MssqlRestoreSource

type MssqlRestoreSource struct {
	// The MSSQL database backup to be restored. Only one of `backup` or `pitr`
	// should be specified.
	Backup *MssqlRestoreFromBackupOptions `json:"backup"`
	// A database and a point-in-time to be restored. Only one of `backup` or
	// `pitr` should be specified.
	Pitr *MssqlPITROptions `json:"pitr"`
}

MssqlRestoreSource represents a custom type struct. The MSSQL database backup to be restored. Only one of `backup` or `pitr` should be set.

type MssqlRestoreTarget

type MssqlRestoreTarget struct {
	// The target location within the instance to restore data files. For example,
	// `C:\\Programe Files\clumio\restored-data-files\`. If this field is empty, we
	// will restore data files into the same location as the source database.
	DataFilesPath *string `json:"data_files_path"`
	// The user-assigned name of the database.
	DatabaseName *string `json:"database_name"`
	// The Clumio-assigned ID of the instance to restore the database into.
	// Use the [GET /datasources/mssql/instances](#operation/list-mssql-instances) to fetch valid values.
	InstanceId *string `json:"instance_id"`
	// The target location within the instance to restore log files. For example,
	// `C:\\Programe Files\clumio\restored-log-files\`. If this field is empty, we
	// will restore log files into the same location as the source database.
	LogFilesPath *string `json:"log_files_path"`
}

MssqlRestoreTarget represents a custom type struct. The configuration of the MSSQL database to which the data has to be restored.

type MssqlServiceRoles added in v0.12.1

type MssqlServiceRoles struct {
	// Role assumable by ec2 service.
	Ec2InstanceProfileRoleArn *string `json:"ec2_instance_profile_role_arn"`
	// Instance created for ec2 instance profile role
	Ec2SsmInstanceProfileArn *string `json:"ec2_ssm_instance_profile_arn"`
	// Role assumable by ssm service.
	SsmNotificationRoleArn *string `json:"ssm_notification_role_arn"`
}

MssqlServiceRoles represents a custom type struct

type NetworkInterface added in v0.9.0

type NetworkInterface struct {
	// The device index for the network interface.
	DeviceIndex *int64 `json:"device_index"`
	// The AWS-assigned ID for the network interface.
	NetworkInterfaceNativeId *string `json:"network_interface_native_id"`
	// The public IP v4 address of the network interface if one was assigned.
	PublicIp *string `json:"public_ip"`
	// The AWS-assigned IDs for the security groups associated with this network interface.
	SecurityGroupNativeIds []*string `json:"security_group_native_ids"`
	// The subnet native ID for the network interface.
	SubnetNativeId *string `json:"subnet_native_id"`
	// The AWS-assigned name of the network interface. For example, `eth0`.
	VirtualName *string `json:"virtual_name"`
}

NetworkInterface represents a custom type struct

type OUGroupingCriteria

type OUGroupingCriteria struct {
	// The entity type used to group organizational units for AWS resources.
	Aws *AwsDsGroupingCriteria `json:"aws"`
	// The entity type used to group organizational units for Microsoft 365 resources.
	Microsoft365 *M365GroupingCriteria `json:"microsoft365"`
	// The entity type used to group organizational units for VMware resources.
	Vmware *VMwareDsGroupingCriteria `json:"vmware"`
}

OUGroupingCriteria represents a custom type struct. The grouping criteria for each datasource type. These can only be edited for datasource types which do not have any organizational units configured.

type OULinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// A resource-specific HATEOAS link.
	DeleteOrganizationalUnit *HateoasLink `json:"delete-organizational-unit"`
	// A resource-specific HATEOAS link.
	PatchOrganizationalUnit *HateoasLink `json:"patch-organizational-unit"`
}

OULinks represents a custom type struct. URLs to pages related to the resource.

type Object added in v0.6.0

type Object struct {
	// Bucket the object belongs to
	Bucket *string `json:"bucket"`
	// Etag of the contents of the object.
	Etag *string `json:"etag"`
	// Last time the object was backed up as an RFC3339 string.
	LastBackupTime *string `json:"last_backup_time"`
	// Last modified time of the object as an RFC3339 string.
	LastModifiedTime *string `json:"last_modified_time"`
	// Object key
	ObjectKey *string `json:"object_key"`
	// The Clumio-assigned ID of a protection group S3 asset,
	// which represents the bucket within the protection group to restore from.
	ProtectionGroupAssetId *string `json:"protection_group_asset_id"`
	// region of the backup object
	Region *string `json:"region"`
	// Encrypted metadata for the object to be restored
	// You can get `restore_cookie` via
	// [POST /restores/protection-groups/{protection_group_id}/previews](#operation/preview-protection-group)
	RestoreCookie *string `json:"restore_cookie"`
	// Size in Bytes
	SizeInBytes *int64 `json:"size_in_bytes"`
	// Storage class. Valid values are: `S3 Standard`, `S3 Standard-IA`, `S3 Intelligent-Tiering`,
	// and `S3 One Zone-IA`.
	StorageClass *string `json:"storage_class"`
	// Version ID
	VersionId *string `json:"version_id"`
}

Object represents a custom type struct. Object defines one object to restore

type ObjectFilter added in v0.1.2

type ObjectFilter struct {
	// A list of desired object prefixes to exclude in this protection group's backups.
	// An object that matches any of these prefixes will not be in the backup, even if it
	// matches an include expression. A wildcard * can be used to match any number of
	// characters, except for the / character that is used as a folder separator, and must
	// be matched explicitly. If an asterisk * needs to be matched explicitly, escape the
	// asterisk with \\*.
	ExcludePrefixExpressions []*string `json:"exclude_prefix_expressions"`
	// A list of desired object prefixes to include in this protection group's backups.
	// If this input is non-empty, an object must match one of the given prefixes to be
	// included in the backup. A wildcard * can be used to match any number of characters,
	// except for the / character that is used as a folder separator, and must be matched
	// explicitly. If an asterisk * needs to be matched explicitly, escape the asterisk
	// with \\*.
	IncludePrefixExpressions []*string `json:"include_prefix_expressions"`
	// Whether to back up only the latest object version.
	LatestVersionOnly *bool `json:"latest_version_only"`
	// PrefixFilter
	PrefixFilters []*PrefixFilter `json:"prefix_filters"`
	// Storage class to include in the backup. If not specified, then all objects across all storage
	// classes will be backed up. Valid values are: `S3 Standard`, `S3 Standard-IA`,
	// `S3 Intelligent-Tiering`, and `S3 One Zone-IA`.
	StorageClasses []*string `json:"storage_classes"`
}

ObjectFilter represents a custom type struct. ObjectFilter defines which objects will be backed up.

type OnDemandDynamoDBBackupLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// A HATEOAS link to the task associated with this resource.
	ReadTask *ReadTaskHateoasLink `json:"read-task"`
}

OnDemandDynamoDBBackupLinks represents a custom type struct. URLs to pages related to the resource.

type OnDemandDynamoDBBackupResponse added in v0.5.0

type OnDemandDynamoDBBackupResponse struct {
	// Embedded responses related to the resource.
	Embedded *ReadTaskHateoasOuterEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *OnDemandDynamoDBBackupLinks `json:"_links"`
	// The Clumio-assigned ID of the task created for DynamoDB backup.
	// The progress of the task can be monitored using the
	// `GET /tasks/{task_id}` endpoint.
	TaskId *string `json:"task_id"`
}

OnDemandDynamoDBBackupResponse represents a custom type struct for Success

type OnDemandEBSBackupLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// A HATEOAS link to the task associated with this resource.
	ReadTask *ReadTaskHateoasLink `json:"read-task"`
}

OnDemandEBSBackupLinks represents a custom type struct. URLs to pages related to the resource.

type OnDemandEBSBackupResponse added in v0.8.0

type OnDemandEBSBackupResponse struct {
	// Embedded responses related to the resource.
	Embedded *ReadTaskHateoasOuterEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *OnDemandEBSBackupLinks `json:"_links"`
	// The Clumio-assigned ID of the task created for EBS backup.
	// The progress of the task can be monitored using the
	// `GET /tasks/{task_id}` endpoint.
	TaskId *string `json:"task_id"`
}

OnDemandEBSBackupResponse represents a custom type struct for Success

type OnDemandEBSBackupResponseV1 added in v0.8.0

type OnDemandEBSBackupResponseV1 struct {
	// Embedded responses related to the resource.
	Embedded *ReadTaskHateoasOuterEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *OnDemandEBSBackupLinks `json:"_links"`
	// The Clumio-assigned ID of the task created for EBS backup.
	// The progress of the task can be monitored using the
	// `GET /tasks/{task_id}` endpoint.
	TaskId *string `json:"task_id"`
}

OnDemandEBSBackupResponseV1 represents a custom type struct for Success

type OnDemandEC2BackupLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// A HATEOAS link to the task associated with this resource.
	ReadTask *ReadTaskHateoasLink `json:"read-task"`
}

OnDemandEC2BackupLinks represents a custom type struct. URLs to pages related to the resource.

type OnDemandEC2BackupResponse added in v0.9.0

type OnDemandEC2BackupResponse struct {
	// Embedded responses related to the resource.
	Embedded *ReadTaskHateoasOuterEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *OnDemandEC2BackupLinks `json:"_links"`
	// The Clumio-assigned ID of the task created for EC2 backup.
	// The progress of the task can be monitored using the
	// `GET /tasks/{task_id}` endpoint.
	TaskId *string `json:"task_id"`
}

OnDemandEC2BackupResponse represents a custom type struct for Success

type OnDemandEC2MSSQLDatabaseBackupResponse added in v0.6.0

type OnDemandEC2MSSQLDatabaseBackupResponse struct {
	// Embedded responses related to the resource.
	Embedded *ReadTaskHateoasOuterEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *CreateOnDemandEC2MSSQLDatabaseBackupResponseLinks `json:"_links"`
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// Task Id
	TaskId *string `json:"task_id"`
}

OnDemandEC2MSSQLDatabaseBackupResponse represents a custom type struct for Success

type OnDemandMssqlBackupResponse

type OnDemandMssqlBackupResponse struct {
	// Embedded responses related to the resource.
	Embedded *ReadTaskHateoasOuterEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *CreateOnDemandMSSQLDatabaseBackupResponseLinks `json:"_links"`
	// Task Id
	TaskId *string `json:"task_id"`
}

OnDemandMssqlBackupResponse represents a custom type struct for Success

type OnDemandSetting added in v0.2.8

type OnDemandSetting struct {
	// Additional operation-specific policy settings. For operation types which do not support additional settings, this field is `null`.
	AdvancedSettings *PolicyAdvancedSettings `json:"advanced_settings"`
	// The region in which this backup is stored. This might be used for cross-region backup.
	BackupAwsRegion *string `json:"backup_aws_region"`
	// The retention time for this SLA. For example, to retain the backup for 1 month, set `unit="months"` and `value=1`.
	RetentionDuration *RetentionBackupSLAParam `json:"retention_duration"`
}

OnDemandSetting represents a custom type struct. Settings for requesting on-demand backup directly.

type OnDemandVMBackupResponse added in v0.6.0

type OnDemandVMBackupResponse struct {
	// Embedded responses related to the resource.
	Embedded *ReadTaskHateoasOuterEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *OnDemandVMBackupResponseLinks `json:"_links"`
	// The Clumio-assigned ID of the task created for VM backup.
	// The progress of the task can be monitored using the
	// `GET /tasks/{task_id}` endpoint.
	TaskId *string `json:"task_id"`
}

OnDemandVMBackupResponse represents a custom type struct for Success

type OnDemandVMBackupResponseLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// A HATEOAS link to the task associated with this resource.
	ReadTask *ReadTaskHateoasLink `json:"read-task"`
}

OnDemandVMBackupResponseLinks represents a custom type struct. URLs to pages related to the resource.

type OptionGroups added in v0.6.0

type OptionGroups struct {
	// Embedded responses related to the resource.
	Embedded interface{} `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *OptionGroupsLinks `json:"_links"`
	// The AWS database engine at the time of backup.
	Engine *string `json:"engine"`
	// The AWS database engine version at the time of backup.
	EngineVersion *string `json:"engine_version"`
	// Determines whether this option group contains additional non-permanent options apart from
	// the non-permanent options at the time of backup.
	HasAdditionalNonPermanentOptions *bool `json:"has_additional_non_permanent_options"`
	// Determines whether this option group contains additional non-persistent options apart from
	// the non-persistent options at time of backup.
	HasAdditionalNonPersistentOptions *bool `json:"has_additional_non_persistent_options"`
	// Determines whether this option group contains additional permanent options apart from
	// the permanent options at the time of backup.
	HasAdditionalPermanentOptions *bool `json:"has_additional_permanent_options"`
	// Determines whether this option group contains additional persistent options apart from
	// the persistent options at the time of backup.
	HasAdditionalPersistentOptions *bool `json:"has_additional_persistent_options"`
	// Compatibility of the Option Group
	IsCompatible *bool `json:"is_compatible"`
	// Minimum required minor engine version for this option-group to be applicable.
	MinimumRequiredMinorEngineVersion *string `json:"minimum_required_minor_engine_version"`
	// Name of the option group
	Name *string `json:"name"`
	// OptionModel denotes the Model for OptionModel
	Options []*OptionModel `json:"options"`
}

OptionGroups represents a custom type struct

type OptionGroupsLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

OptionGroupsLinks represents a custom type struct. URLs to pages related to the resource.

type OptionGroupsListEmbedded added in v0.6.0

type OptionGroupsListEmbedded struct {
	// TODO: Add struct field description
	Items []*OptionGroups `json:"items"`
}

OptionGroupsListEmbedded represents a custom type struct. Embedded responses related to the resource.

type OptionGroupsListLinks struct {
	// The HATEOAS link to the first page of results.
	First *HateoasFirstLink `json:"_first"`
	// The HATEOAS link to the next page of results.
	Next *HateoasNextLink `json:"_next"`
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

OptionGroupsListLinks represents a custom type struct. URLs to pages related to the resource.

type OptionModel added in v0.6.0

type OptionModel struct {
	// Determines whether or not the option is permanent.
	IsPermanent *bool `json:"is_permanent"`
	// Determines whether or not the option is persistent.
	IsPersistent *bool `json:"is_persistent"`
	// Determines whether the option is required to restore from a given backup.
	IsRequiredForRestore *bool `json:"is_required_for_restore"`
	// The AWS-assigned name of the RDS option.
	Name *string `json:"name"`
	// OptionSetting denotes the Model for OptionSetting
	OptionSetting []*OptionSetting `json:"option_setting"`
	// Option version of the option.
	OptionVersion *string `json:"option_version"`
}

OptionModel represents a custom type struct. OptionModel denotes the Model for OptionModel

type OptionSetting added in v0.6.0

type OptionSetting struct {
	// The AWS-assigned description of the RDS option setting.
	Description *string `json:"description"`
	// The AWS-assigned name of the RDS option setting.
	Name *string `json:"name"`
	// Value of the option setting
	Value *string `json:"value"`
}

OptionSetting represents a custom type struct. OptionSetting denotes the Model for OptionSetting

type OrganizationalUnitLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// A resource-specific HATEOAS link.
	DeleteOrganizationalUnit *HateoasLink `json:"delete-organizational-unit"`
	// A resource-specific HATEOAS link.
	PatchOrganizationalUnit *HateoasLink `json:"patch-organizational-unit"`
	// A resource-specific HATEOAS link.
	ReadTask *HateoasLink `json:"read-task"`
}

OrganizationalUnitLinks represents a custom type struct. URLs to pages related to the resource.

type OrganizationalUnitLinksForDelete added in v0.6.0

type OrganizationalUnitLinksForDelete struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// A resource-specific HATEOAS link.
	ReadTask *HateoasLink `json:"read-task"`
}

OrganizationalUnitLinksForDelete represents a custom type struct. URLs to pages related to the resource.

type OrganizationalUnitListEmbedded

type OrganizationalUnitListEmbedded struct {
	// OrganizationalUnitWithETag to support etag string to be calculated
	Items []*OrganizationalUnitWithETag `json:"items"`
}

OrganizationalUnitListEmbedded represents a custom type struct. Embedded responses related to the resource.

type OrganizationalUnitListEmbeddedV1 added in v0.7.0

type OrganizationalUnitListEmbeddedV1 struct {
	// OrganizationalUnitWithETagV1 to support etag string to be calculated
	Items []*OrganizationalUnitWithETagV1 `json:"items"`
}

OrganizationalUnitListEmbeddedV1 represents a custom type struct. Embedded responses related to the resource.

type OrganizationalUnitListLinks struct {
	// The HATEOAS link to the first page of results.
	First *HateoasFirstLink `json:"_first"`
	// The HATEOAS link to the last page of results.
	Last *HateoasLastLink `json:"_last"`
	// The HATEOAS link to the next page of results.
	Next *HateoasNextLink `json:"_next"`
	// The HATEOAS link to the previous page of results.
	Prev *HateoasPrevLink `json:"_prev"`
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

OrganizationalUnitListLinks represents a custom type struct. URLs to pages related to the resource.

type OrganizationalUnitParentEntity

type OrganizationalUnitParentEntity struct {
	// The Clumio assigned ID of the entity.
	Id *string `json:"id"`
	// The entity type.
	ClumioType *string `json:"type"`
}

OrganizationalUnitParentEntity represents a custom type struct. The parent object of the primary entity associated with the organizational unit. For example, "vmware_vcenter" is the parent entity of primary entity "vmware_vm_folder". The parent object is necessary for VMware entities and can be omitted for other data sources.

type OrganizationalUnitPrimaryEntity

type OrganizationalUnitPrimaryEntity struct {
	// The Clumio assigned ID of the entity.
	Id *string `json:"id"`
	// The entity type.
	ClumioType *string `json:"type"`
}

OrganizationalUnitPrimaryEntity represents a custom type struct. The primary object associated with the organizational unit. Examples of primary entities include "aws_environment" and "vmware_vm".

type OrganizationalUnitWithETag

type OrganizationalUnitWithETag struct {
	// Embedded responses related to the resource.
	Embedded *EntityGroupEmbedded `json:"_embedded"`
	// ETag value
	Etag *string `json:"_etag"`
	// URLs to pages related to the resource.
	Links *OrganizationalUnitLinks `json:"_links"`
	// Number of immediate children of the organizational unit.
	ChildrenCount *int64 `json:"children_count"`
	// Datasource types configured in this organizational unit. Possible values include `aws`, `microsoft365`, `vmware`, or `mssql`.
	ConfiguredDatasourceTypes []*string `json:"configured_datasource_types"`
	// List of all recursive descendant organizational units of this OU.
	DescendantIds []*string `json:"descendant_ids"`
	// A description of the organizational unit.
	Description *string `json:"description"`
	// The Clumio assigned ID of the organizational unit.
	Id *string `json:"id"`
	// Unique name assigned to the organizational unit.
	Name *string `json:"name"`
	// The Clumio assigned ID of the parent organizational unit.
	// The parent organizational unit contains the entities in this organizational unit and can update this organizational unit.
	// If this organizational unit is the global organizational unit, then this field has a value of `null`.
	ParentId *string `json:"parent_id"`
	// The Clumio-assigned ID of the task associated with this organizational unit.
	// The progress of the task can be monitored using the
	// [GET /tasks/{task_id}](#operation/read-task) endpoint.
	TaskId *string `json:"task_id"`
	// Number of users to whom this organizational unit or any of its descendants have been assigned.
	UserCount *int64 `json:"user_count"`
	// A user along with a role.
	Users []*UserWithRole `json:"users"`
}

OrganizationalUnitWithETag represents a custom type struct. OrganizationalUnitWithETag to support etag string to be calculated

type OrganizationalUnitWithETagV1 added in v0.7.0

type OrganizationalUnitWithETagV1 struct {
	// Embedded responses related to the resource.
	Embedded *EntityGroupEmbedded `json:"_embedded"`
	// ETag value
	Etag *string `json:"_etag"`
	// URLs to pages related to the resource.
	Links *OrganizationalUnitLinks `json:"_links"`
	// Number of immediate children of the organizational unit.
	ChildrenCount *int64 `json:"children_count"`
	// Datasource types configured in this organizational unit. Possible values include `aws`, `microsoft365`, `vmware`, or `mssql`.
	ConfiguredDatasourceTypes []*string `json:"configured_datasource_types"`
	// List of all recursive descendant organizational units of this OU.
	DescendantIds []*string `json:"descendant_ids"`
	// A description of the organizational unit.
	Description *string `json:"description"`
	// The Clumio assigned ID of the organizational unit.
	Id *string `json:"id"`
	// Unique name assigned to the organizational unit.
	Name *string `json:"name"`
	// The Clumio assigned ID of the parent organizational unit.
	// The parent organizational unit contains the entities in this organizational unit and can update this organizational unit.
	// If this organizational unit is the global organizational unit, then this field has a value of `null`.
	ParentId *string `json:"parent_id"`
	// The Clumio-assigned ID of the task associated with this organizational unit.
	// The progress of the task can be monitored using the
	// [GET /tasks/{task_id}](#operation/read-task) endpoint.
	TaskId *string `json:"task_id"`
	// Number of users to whom this organizational unit or any of its descendants have been assigned.
	UserCount *int64 `json:"user_count"`
	// Users IDs to whom the organizational unit has been assigned.
	// This attribute will be available when reading a single OU and not when listing OUs.
	Users []*string `json:"users"`
}

OrganizationalUnitWithETagV1 represents a custom type struct. OrganizationalUnitWithETagV1 to support etag string to be calculated

type PatchGeneralSettingsResponseV2

type PatchGeneralSettingsResponseV2 struct {
	// URLs to pages related to the resource.
	Links *GeneralSettingsLinks `json:"_links"`
	// The length of time before a user is logged out of the Clumio system due to inactivity. Measured in seconds.
	// The valid range is between 600 seconds (10 minutes) and 3600 seconds (60 minutes).
	// If not configured, the value defaults to 900 seconds (15 minutes).
	AutoLogoutDuration *int64 `json:"auto_logout_duration"`
	// The designated range of IP addresses that are allowed to access the Clumio REST API.
	// API requests that originate from outside this list will be blocked.
	// The IP address of the server from which this request is being made must be in this list; otherwise, the request will fail.
	// Set the parameter to individual IP addresses and/or a range of IP addresses in CIDR notation.
	// For example, ["193.168.1.0/24", "193.172.1.1"].
	// If not configured, the value defaults to ["0.0.0.0/0"] meaning all addresses will be allowed.
	IpAllowlist []*string `json:"ip_allowlist"`
	// The grouping criteria for each datasource type.
	// These can only be edited for datasource types which do not have any
	// organizational units configured.
	OrganizationalUnitDataGroups *OUGroupingCriteria `json:"organizational_unit_data_groups"`
	// The length of time a user password is valid before it must be changed. Measured in seconds.
	// The valid range is between 2592000 seconds (30 days) and 15552000 seconds (180 days).
	// If not configured, the value defaults to 7776000 seconds (90 days).
	PasswordExpirationDuration *int64 `json:"password_expiration_duration"`
}

PatchGeneralSettingsResponseV2 represents a custom type struct for Success

type PatchOrganizationalUnitNoTaskResponse added in v0.6.0

type PatchOrganizationalUnitNoTaskResponse struct {
	// URLs to pages related to the resource.
	Links *OULinks `json:"_links"`
	// Number of immediate children of the organizational unit.
	ChildrenCount *int64 `json:"children_count"`
	// Datasource types configured in this organizational unit. Possible values include `aws`, `microsoft365`, `vmware`, or `mssql`.
	ConfiguredDatasourceTypes []*string `json:"configured_datasource_types"`
	// List of all recursive descendant organizational units of this OU.
	DescendantIds []*string `json:"descendant_ids"`
	// A description of the organizational unit.
	Description *string `json:"description"`
	// The Clumio assigned ID of the organizational unit.
	Id *string `json:"id"`
	// Unique name assigned to the organizational unit.
	Name *string `json:"name"`
	// The Clumio assigned ID of the parent organizational unit.
	// The parent organizational unit contains the entities in this organizational unit and can update this organizational unit.
	// If this organizational unit is the global organizational unit, then this field has a value of `null`.
	ParentId *string `json:"parent_id"`
	// Number of users to whom this organizational unit or any of its descendants have been assigned.
	UserCount *int64 `json:"user_count"`
	// A user along with a role.
	Users []*UserWithRole `json:"users"`
}

PatchOrganizationalUnitNoTaskResponse represents a custom type struct for Success

type PatchOrganizationalUnitNoTaskResponseV1 added in v0.7.0

type PatchOrganizationalUnitNoTaskResponseV1 struct {
	// URLs to pages related to the resource.
	Links *OULinks `json:"_links"`
	// Number of immediate children of the organizational unit.
	ChildrenCount *int64 `json:"children_count"`
	// Datasource types configured in this organizational unit. Possible values include `aws`, `microsoft365`, `vmware`, or `mssql`.
	ConfiguredDatasourceTypes []*string `json:"configured_datasource_types"`
	// List of all recursive descendant organizational units of this OU.
	DescendantIds []*string `json:"descendant_ids"`
	// A description of the organizational unit.
	Description *string `json:"description"`
	// The Clumio assigned ID of the organizational unit.
	Id *string `json:"id"`
	// Unique name assigned to the organizational unit.
	Name *string `json:"name"`
	// The Clumio assigned ID of the parent organizational unit.
	// The parent organizational unit contains the entities in this organizational unit and can update this organizational unit.
	// If this organizational unit is the global organizational unit, then this field has a value of `null`.
	ParentId *string `json:"parent_id"`
	// Number of users to whom this organizational unit or any of its descendants have been assigned.
	UserCount *int64 `json:"user_count"`
	// Users IDs to whom the organizational unit has been assigned.
	// This attribute will be available when reading a single OU and not when listing OUs.
	Users []*string `json:"users"`
}

PatchOrganizationalUnitNoTaskResponseV1 represents a custom type struct for Success

type PatchOrganizationalUnitResponse

type PatchOrganizationalUnitResponse struct {
	// Embedded responses related to the resource.
	Embedded *EntityGroupEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *OrganizationalUnitLinks `json:"_links"`
	// Number of immediate children of the organizational unit.
	ChildrenCount *int64 `json:"children_count"`
	// Datasource types configured in this organizational unit. Possible values include `aws`, `microsoft365`, `vmware`, or `mssql`.
	ConfiguredDatasourceTypes []*string `json:"configured_datasource_types"`
	// List of all recursive descendant organizational units of this OU.
	DescendantIds []*string `json:"descendant_ids"`
	// A description of the organizational unit.
	Description *string `json:"description"`
	// The Clumio assigned ID of the organizational unit.
	Id *string `json:"id"`
	// Unique name assigned to the organizational unit.
	Name *string `json:"name"`
	// The Clumio assigned ID of the parent organizational unit.
	// The parent organizational unit contains the entities in this organizational unit and can update this organizational unit.
	// If this organizational unit is the global organizational unit, then this field has a value of `null`.
	ParentId *string `json:"parent_id"`
	// The Clumio-assigned ID of the task associated with this organizational unit.
	// The progress of the task can be monitored using the
	// [GET /tasks/{task_id}](#operation/read-task) endpoint.
	TaskId *string `json:"task_id"`
	// Number of users to whom this organizational unit or any of its descendants have been assigned.
	UserCount *int64 `json:"user_count"`
	// A user along with a role.
	Users []*UserWithRole `json:"users"`
}

PatchOrganizationalUnitResponse represents a custom type struct. Accepted

type PatchOrganizationalUnitResponseV1 added in v0.7.0

type PatchOrganizationalUnitResponseV1 struct {
	// Embedded responses related to the resource.
	Embedded *EntityGroupEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *OrganizationalUnitLinks `json:"_links"`
	// Number of immediate children of the organizational unit.
	ChildrenCount *int64 `json:"children_count"`
	// Datasource types configured in this organizational unit. Possible values include `aws`, `microsoft365`, `vmware`, or `mssql`.
	ConfiguredDatasourceTypes []*string `json:"configured_datasource_types"`
	// List of all recursive descendant organizational units of this OU.
	DescendantIds []*string `json:"descendant_ids"`
	// A description of the organizational unit.
	Description *string `json:"description"`
	// The Clumio assigned ID of the organizational unit.
	Id *string `json:"id"`
	// Unique name assigned to the organizational unit.
	Name *string `json:"name"`
	// The Clumio assigned ID of the parent organizational unit.
	// The parent organizational unit contains the entities in this organizational unit and can update this organizational unit.
	// If this organizational unit is the global organizational unit, then this field has a value of `null`.
	ParentId *string `json:"parent_id"`
	// The Clumio-assigned ID of the task associated with this organizational unit.
	// The progress of the task can be monitored using the
	// [GET /tasks/{task_id}](#operation/read-task) endpoint.
	TaskId *string `json:"task_id"`
	// Number of users to whom this organizational unit or any of its descendants have been assigned.
	UserCount *int64 `json:"user_count"`
	// Users IDs to whom the organizational unit has been assigned.
	// This attribute will be available when reading a single OU and not when listing OUs.
	Users []*string `json:"users"`
}

PatchOrganizationalUnitResponseV1 represents a custom type struct. Accepted

type PatchOrganizationalUnitResponseWrapper added in v0.6.0

type PatchOrganizationalUnitResponseWrapper struct {
	// HTTP status code of response
	StatusCode int
	// PatchOrganizationalUnitNoTaskResponse represents Success response of status code Http200
	Http200 *PatchOrganizationalUnitNoTaskResponse
	// PatchOrganizationalUnitResponse represents Success response of status code Http202
	Http202 *PatchOrganizationalUnitResponse
}

PatchOrganizationalUnitResponseWrapper represents a custom type struct wrapper for different success responses

type PatchOrganizationalUnitV1Request

type PatchOrganizationalUnitV1Request struct {
	// A description of the organizational unit.
	Description *string `json:"description"`
	// Updates to the entities in the organizational unit.
	// Adding or removing entities from the OU is an asynchronous operation.
	// The response has a task ID which can be used to track the progress of the operation.
	Entities *UpdateEntities `json:"entities"`
	// Unique name assigned to the organizational unit.
	Name *string `json:"name"`
	// Updates to the user assignments.
	Users *UpdateUserAssignments `json:"users"`
}

PatchOrganizationalUnitV1Request represents a custom type struct

type PatchOrganizationalUnitV1ResponseWrapper added in v0.7.0

type PatchOrganizationalUnitV1ResponseWrapper struct {
	// HTTP status code of response
	StatusCode int
	// PatchOrganizationalUnitNoTaskResponseV1 represents Success response of status code Http200
	Http200 *PatchOrganizationalUnitNoTaskResponseV1
	// PatchOrganizationalUnitResponseV1 represents Success response of status code Http202
	Http202 *PatchOrganizationalUnitResponseV1
}

PatchOrganizationalUnitV1ResponseWrapper represents a custom type struct wrapper for different success responses

type PatchOrganizationalUnitV2Request added in v0.8.0

type PatchOrganizationalUnitV2Request struct {
	// A description of the organizational unit.
	Description *string `json:"description"`
	// Updates to the entities in the organizational unit.
	// Adding or removing entities from the OU is an asynchronous operation.
	// The response has a task ID which can be used to track the progress of the operation.
	Entities *UpdateEntities `json:"entities"`
	// Unique name assigned to the organizational unit.
	Name *string `json:"name"`
	// UpdateProtectionGroupAssignments denotes the protection groups to be assigned or
	// unassigned.
	// Updates to the protection group assignments.
	ProtectionGroups *UpdateProtectionGroupAssignments `json:"protection_groups"`
	// UpdateUserAssignmentsWithRole denotes the users to be added or removed along with the role.
	Users *UpdateUserAssignmentsWithRole `json:"users"`
}

PatchOrganizationalUnitV2Request represents a custom type struct

type PermissionModel

type PermissionModel struct {
	// Description of the permission.
	Description *string `json:"description"`
	// The Clumio-assigned ID of the permission.
	Id *string `json:"id"`
	// Name of the permission.
	// The following table lists the supported permissions for a role:
	//
	// +----------------------------------------------------+-------------------------+
	// |                  Permission Name                   | Full/Partial Applicable |
	// +====================================================+=========================+
	// | Policy Management                                  | Yes                     |
	// +----------------------------------------------------+-------------------------+
	// | Data Source Management                             | Yes                     |
	// +----------------------------------------------------+-------------------------+
	// | Perform Backup (Scheduled or On-demand)            | Yes                     |
	// +----------------------------------------------------+-------------------------+
	// | Regular Restore                                    | No                      |
	// +----------------------------------------------------+-------------------------+
	// | Redirected Granular Restore (things like GRR &     | Yes                     |
	// | content download)                                  |                         |
	// +----------------------------------------------------+-------------------------+
	// | Dashboards & Reports                               | Yes                     |
	// +----------------------------------------------------+-------------------------+
	// | Some Admin Functions (User mgmt, SSO/MFA, IP       | No                      |
	// | Allow, Password expiry, OU, KMS)                   |                         |
	// +----------------------------------------------------+-------------------------+
	// | Other Admin Functions (API Tokens, Tasks, Alerts   | Yes                     |
	// | and Audit Logs)                                    |                         |
	// +----------------------------------------------------+-------------------------+
	//
	Name *string `json:"name"`
}

PermissionModel represents a custom type struct

type Policy

type Policy struct {
	// If the `embed` query parameter is set, displays the responses of the related resource,
	// as defined by the embeddable link specified.
	Embedded *PolicyEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *PolicyLinks `json:"_links"`
	// The status of the policy.
	// Refer to the Policy Activation Status table for a complete list of policy statuses.
	ActivationStatus *string `json:"activation_status"`
	// The created time of the policy in unix time.
	CreatedTime *int64 `json:"created_time"`
	// The Clumio-assigned ID of the policy.
	Id *string `json:"id"`
	// The following table describes the possible lock statuses of a policy.
	//
	// +----------+-------------------------------------------------------------------+
	// |  Status  |                            Description                            |
	// +==========+===================================================================+
	// | unlocked | Policies are unlocked until an update or deletion task is queued. |
	// +----------+-------------------------------------------------------------------+
	// | updating | During a policy edit, concurrent edits or deletion requests will  |
	// |          | be rejected.                                                      |
	// +----------+-------------------------------------------------------------------+
	// | deleting | During policy deletion, concurrent edits or deletion requests     |
	// |          | will be rejected.                                                 |
	// +----------+-------------------------------------------------------------------+
	//
	LockStatus *string `json:"lock_status"`
	// The user-provided name of the policy.
	Name *string `json:"name"`
	// TODO: Add struct field description
	Operations []*PolicyOperation `json:"operations"`
	// The Clumio-assigned ID of the organizational unit associated with the policy.
	OrganizationalUnitId *string `json:"organizational_unit_id"`
	// The policy-level timezone is deprecated, as the operation-level timezone should be used instead.
	// The timezone must be a valid location name from the IANA Time Zone database.
	// For instance, "America/New_York", "US/Central", "UTC".
	// Deprecated: true
	Timezone *string `json:"timezone"`
	// The updated time of the policy in unix time.
	UpdatedTime *int64 `json:"updated_time"`
}

Policy represents a custom type struct

type PolicyAdvancedSettings added in v0.2.2

type PolicyAdvancedSettings struct {
	// Advanced settings for EBS backup.
	AwsEbsVolumeBackup *EBSBackupAdvancedSetting `json:"aws_ebs_volume_backup"`
	// Advanced settings for EC2 backup.
	AwsEc2InstanceBackup *EC2BackupAdvancedSetting `json:"aws_ec2_instance_backup"`
	// Advanced settings for RDS PITR configuration sync.
	AwsRdsConfigSync *RDSConfigSyncAdvancedSetting `json:"aws_rds_config_sync"`
	// Settings for determining if a RDS policy is created with standard or frozen tier.
	AwsRdsResourceGranularBackup *RDSLogicalBackupAdvancedSetting `json:"aws_rds_resource_granular_backup"`
	// Additional policy configuration settings for the `ec2_mssql_database_backup` operation. If this operation is not of type `ec2_mssql_database_backup`, then this field is omitted from the response.
	Ec2MssqlDatabaseBackup *EC2MSSQLDatabaseBackupAdvancedSetting `json:"ec2_mssql_database_backup"`
	// Additional policy configuration settings for the `ec2_mssql_log_backup` operation. If this operation is not of type `ec2_mssql_log_backup`, then this field is omitted from the response.
	Ec2MssqlLogBackup *EC2MSSQLLogBackupAdvancedSetting `json:"ec2_mssql_log_backup"`
	// Additional policy configuration settings for the `mssql_database_backup` operation. If this operation is not of type `mssql_database_backup`, then this field is omitted from the response.
	MssqlDatabaseBackup *MSSQLDatabaseBackupAdvancedSetting `json:"mssql_database_backup"`
	// Additional policy configuration settings for the `mssql_log_backup` operation. If this operation is not of type `mssql_log_backup`, then this field is omitted from the response.
	MssqlLogBackup *MSSQLLogBackupAdvancedSetting `json:"mssql_log_backup"`
	// Additional policy configuration settings for the `protection_group_backup` operation. If this operation is not of type `protection_group_backup`, then this field is omitted from the response.
	ProtectionGroupBackup *ProtectionGroupBackupAdvancedSetting `json:"protection_group_backup"`
}

PolicyAdvancedSettings represents a custom type struct. Additional operation-specific policy settings. For operation types which do not support additional settings, this field is `null`.

type PolicyDetails added in v0.13.0

type PolicyDetails struct {
	// "description" is a Clumio assigned term. User can choose to ignore it.
	Description *string `json:"description"`
	// "name" is a Clumio assigned term. User can choose to ignore it.
	Name *string `json:"name"`
	// "policy_document" has stringified JSON blob. The user has to JSONify it and then paste
	// the JSONified blob in aws console while creating the policy.
	PolicyDocument interface{} `json:"policy_document"`
}

PolicyDetails represents a custom type struct

type PolicyEmbedded

type PolicyEmbedded struct {
	// Embeds the EBS compliance statistics into the response.
	ReadPolicyAwsEbsVolumesComplianceStats interface{} `json:"read-policy-aws-ebs-volumes-compliance-stats"`
	// Embeds the VM compliance statisticss into the response.
	ReadPolicyVmwareVmsComplianceStats interface{} `json:"read-policy-vmware-vms-compliance-stats"`
}

PolicyEmbedded represents a custom type struct. If the `embed` query parameter is set, displays the responses of the related resource, as defined by the embeddable link specified.

type PolicyLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// A resource-specific HATEOAS link.
	DeletePolicyDefinition *HateoasLink `json:"delete-policy-definition"`
	// A resource-specific HATEOAS link.
	UpdatePolicyDefinition *HateoasLink `json:"update-policy-definition"`
}

PolicyLinks represents a custom type struct. URLs to pages related to the resource.

type PolicyListEmbedded

type PolicyListEmbedded struct {
	// TODO: Add struct field description
	Items []*Policy `json:"items"`
}

PolicyListEmbedded represents a custom type struct. An array of embedded resources related to this resource.

type PolicyListLinks struct {
	// The HATEOAS link to the first page of results.
	First *HateoasFirstLink `json:"_first"`
	// The HATEOAS link to the next page of results.
	Next *HateoasNextLink `json:"_next"`
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// A resource-specific HATEOAS link.
	CreatePolicyDefinition *HateoasLink `json:"create-policy-definition"`
}

PolicyListLinks represents a custom type struct. URLs to pages related to the resource.

type PolicyOperation

type PolicyOperation struct {
	// Determines whether the protection policy should take action now or during the specified backup window.
	// If set to `immediate`, Clumio starts the backup process right away. If set to `window`, Clumio starts the backup process when the backup window (`backup_window_tz`) opens.
	// If set to `window` and `operation in ("aws_rds_resource_aws_snapshot", "mssql_log_backup", "ec2_mssql_log_backup")`,
	// the backup window will not be determined by Clumio's backup window.
	ActionSetting *string `json:"action_setting"`
	// Additional operation-specific policy settings. For operation types which do not support additional settings, this field is `null`.
	AdvancedSettings *PolicyAdvancedSettings `json:"advanced_settings"`
	// The region in which this backup is stored. This might be used for cross-region backup.
	BackupAwsRegion *string `json:"backup_aws_region"`
	// The start and end times of the customized backup window. Use of `backup_window` is deprecated, use `backup_window_tz` instead.
	BackupWindow *BackupWindow `json:"backup_window"`
	// The start and end times of the customized backup window. Use of `backup_window` is deprecated, use `backup_window_tz` instead.
	BackupWindowTz *BackupWindow `json:"backup_window_tz"`
	// The next start time of this operation in unix time.
	NextStartTime *int64 `json:"next_start_time"`
	// The previous start time of this operation in unix time.
	PreviousStartTime *int64 `json:"previous_start_time"`
	// backup_sla captures the SLA parameters
	// backup_sla captures the SLA parameters
	Slas []*BackupSLA `json:"slas"`
	// The timezone for the operation. The timezone must be a valid location name from the IANA Time Zone database.
	// For instance, "America/New_York", "US/Central", "UTC".
	Timezone *string `json:"timezone"`
	// The operation to be performed for this SLA set. Each SLA set corresponds to one and only one operation.
	// Refer to the Policy Operation table for a complete list of policy operations.
	ClumioType *string `json:"type"`
}

PolicyOperation represents a custom type struct

type PolicyOperationInput added in v0.5.0

type PolicyOperationInput struct {
	// Determines whether the protection policy should take action now or during the specified backup window.
	// If set to `immediate`, Clumio starts the backup process right away. If set to `window`, Clumio starts the backup process when the backup window (`backup_window_tz`) opens.
	// If set to `window` and `operation in ("aws_rds_resource_aws_snapshot", "mssql_log_backup", "ec2_mssql_log_backup")`,
	// the backup window will not be determined by Clumio's backup window.
	ActionSetting *string `json:"action_setting"`
	// Additional operation-specific policy settings. For operation types which do not support additional settings, this field is `null`.
	AdvancedSettings *PolicyAdvancedSettings `json:"advanced_settings"`
	// The region in which this backup is stored. This might be used for cross-region backup.
	BackupAwsRegion *string `json:"backup_aws_region"`
	// The start and end times of the customized backup window. Use of `backup_window` is deprecated, use `backup_window_tz` instead.
	BackupWindow *BackupWindow `json:"backup_window"`
	// The start and end times of the customized backup window. Use of `backup_window` is deprecated, use `backup_window_tz` instead.
	BackupWindowTz *BackupWindow `json:"backup_window_tz"`
	// backup_sla captures the SLA parameters
	// backup_sla captures the SLA parameters
	Slas []*BackupSLA `json:"slas"`
	// The timezone for the operation. The timezone must be a valid location name from the IANA Time Zone database.
	// For instance, "America/New_York", "US/Central", "UTC".
	Timezone *string `json:"timezone"`
	// The operation to be performed for this SLA set. Each SLA set corresponds to one and only one operation.
	// Refer to the Policy Operation table for a complete list of policy operations.
	ClumioType *string `json:"type"`
}

PolicyOperationInput represents a custom type struct

type PostProcessAwsConnectionV1Request

type PostProcessAwsConnectionV1Request struct {
	// The AWS-assigned ID of the account associated with the connection.
	AccountNativeId *string `json:"account_native_id"`
	// The AWS region associated with the connection. For example, `us-east-1`.
	AwsRegion *string `json:"aws_region"`
	// ClumioEventPubId is the Clumio Event Pub SNS topic ID.
	ClumioEventPubId *string `json:"clumio_event_pub_id"`
	// Configuration represents the AWS connection configuration in json string format
	Configuration *string `json:"configuration"`
	// Role arn to be assumed before accessing ClumioRole in customer account
	IntermediateRoleArn *string `json:"intermediate_role_arn"`
	// Properties is a key value map meant to be used for passing additional information
	// like resource IDs/ARNs.
	Properties map[string]*string `json:"properties"`
	// RequestType indicates whether this is a Create, Update or Delete request
	RequestType *string `json:"request_type"`
	// RoleArn is the ARN of the ClumioIAMRole created in the customer account
	RoleArn *string `json:"role_arn"`
	// Role External Id is the unique string passed while creating the AWS resources .
	RoleExternalId *string `json:"role_external_id"`
	// The 36-character Clumio AWS integration ID token used to identify the
	// installation of the CloudFormation/Terraform template on the account.
	Token *string `json:"token"`
}

PostProcessAwsConnectionV1Request represents a custom type struct. The body of the request.

type PostProcessKmsV1Request added in v0.2.7

type PostProcessKmsV1Request struct {
	// The AWS-assigned ID of the account associated with the connection.
	AccountNativeId *string `json:"account_native_id"`
	// The AWS region associated with the connection. For example, `us-east-1`.
	AwsRegion *string `json:"aws_region"`
	// Whether the CMK was created or an existing CMK was used.
	CreatedMultiRegionCmk *bool `json:"created_multi_region_cmk"`
	// The multi-region CMK Key ID.
	MultiRegionCmkKeyId *string `json:"multi_region_cmk_key_id"`
	// Indicates whether this is a Create, Update or Delete request.
	RequestType *string `json:"request_type"`
	// The ARN of the role.
	RoleArn *string `json:"role_arn"`
	// The external ID to use with the role.
	RoleExternalId *string `json:"role_external_id"`
	// The ID of the role.
	RoleId *string `json:"role_id"`
	// The 36-character Clumio AWS integration ID token used to identify the
	// installation of the CloudFormation/Terraform template on the account.
	Token *string `json:"token"`
	// The cloudformation/terraform template version used.
	Version *uint64 `json:"version"`
}

PostProcessKmsV1Request represents a custom type struct. The body of the request.

type PrefixFilter added in v0.1.2

type PrefixFilter struct {
	// List of subprefixes to exclude from the prefix.
	ExcludedSubPrefixes []*string `json:"excluded_sub_prefixes"`
	// Prefix to include.
	Prefix *string `json:"prefix"`
}

PrefixFilter represents a custom type struct. PrefixFilter

type PreviewDetailsProtectionGroupLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

PreviewDetailsProtectionGroupLinks represents a custom type struct. URLs to pages related to the resource.

type PreviewDetailsProtectionGroupResponse added in v0.6.0

type PreviewDetailsProtectionGroupResponse struct {
	// The ETag value.
	Etag *string `json:"_etag"`
	// URLs to pages related to the resource.
	Links *PreviewDetailsProtectionGroupLinks `json:"_links"`
	// Object defines one object to restore
	Objects []*Object `json:"objects"`
}

PreviewDetailsProtectionGroupResponse represents a custom type struct for Success

type PreviewProtectionGroupAsyncLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// A HATEOAS link to the task associated with this resource.
	ReadTask *ReadTaskHateoasLink `json:"read-task"`
}

PreviewProtectionGroupAsyncLinks represents a custom type struct. URLs to pages related to the resource.

type PreviewProtectionGroupAsyncResponse added in v0.6.0

type PreviewProtectionGroupAsyncResponse struct {
	// URLs to pages related to the resource.
	Links *PreviewProtectionGroupAsyncLinks `json:"_links"`
	// The identifier for the requested preview which is used to fetch results of the preview.
	// Note that this field is given only for async request.
	PreviewId *string `json:"preview_id"`
	// The Clumio-assigned ID of the task created by this restore request.
	// The progress of the task can be monitored using the
	// `GET /tasks/{task_id}` endpoint.
	// Note that this field is given only for async request.
	TaskId *string `json:"task_id"`
}

PreviewProtectionGroupAsyncResponse represents a custom type struct. Success (Async)

type PreviewProtectionGroupResponseWrapper added in v0.6.0

type PreviewProtectionGroupResponseWrapper struct {
	// HTTP status code of response
	StatusCode int
	// PreviewProtectionGroupSyncResponse represents Success response of status code Http200
	Http200 *PreviewProtectionGroupSyncResponse
	// PreviewProtectionGroupAsyncResponse represents Success response of status code Http202
	Http202 *PreviewProtectionGroupAsyncResponse
}

PreviewProtectionGroupResponseWrapper represents a custom type struct wrapper for different success responses

type PreviewProtectionGroupS3AssetAsyncLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// A HATEOAS link to the task associated with this resource.
	ReadTask *ReadTaskHateoasLink `json:"read-task"`
}

PreviewProtectionGroupS3AssetAsyncLinks represents a custom type struct. URLs to pages related to the resource.

type PreviewProtectionGroupS3AssetAsyncResponse added in v0.6.0

type PreviewProtectionGroupS3AssetAsyncResponse struct {
	// URLs to pages related to the resource.
	Links *PreviewProtectionGroupS3AssetAsyncLinks `json:"_links"`
	// The identifier for the requested preview which is used to fetch results of the preview.
	PreviewId *string `json:"preview_id"`
	// The Clumio-assigned ID of the task created by this restore request.
	// The progress of the task can be monitored using the
	// `GET /tasks/{task_id}` endpoint.
	// Note that this field is given only for async request.
	TaskId *string `json:"task_id"`
}

PreviewProtectionGroupS3AssetAsyncResponse represents a custom type struct. Success (Async)

type PreviewProtectionGroupS3AssetDetailsLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

PreviewProtectionGroupS3AssetDetailsLinks represents a custom type struct. URLs to pages related to the resource.

type PreviewProtectionGroupS3AssetDetailsResponse added in v0.6.0

type PreviewProtectionGroupS3AssetDetailsResponse struct {
	// The ETag value.
	Etag *string `json:"_etag"`
	// URLs to pages related to the resource.
	Links *PreviewProtectionGroupS3AssetDetailsLinks `json:"_links"`
	// Object defines one object to restore
	Objects []*Object `json:"objects"`
}

PreviewProtectionGroupS3AssetDetailsResponse represents a custom type struct for Success

type PreviewProtectionGroupS3AssetResponseWrapper added in v0.6.0

type PreviewProtectionGroupS3AssetResponseWrapper struct {
	// HTTP status code of response
	StatusCode int
	// PreviewProtectionGroupS3AssetSyncResponse represents Success response of status code Http200
	Http200 *PreviewProtectionGroupS3AssetSyncResponse
	// PreviewProtectionGroupS3AssetAsyncResponse represents Success response of status code Http202
	Http202 *PreviewProtectionGroupS3AssetAsyncResponse
}

PreviewProtectionGroupS3AssetResponseWrapper represents a custom type struct wrapper for different success responses

type PreviewProtectionGroupS3AssetSyncLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

PreviewProtectionGroupS3AssetSyncLinks represents a custom type struct. URLs to pages related to the resource.

type PreviewProtectionGroupS3AssetSyncResponse added in v0.6.0

type PreviewProtectionGroupS3AssetSyncResponse struct {
	// URLs to pages related to the resource.
	Links *PreviewProtectionGroupS3AssetSyncLinks `json:"_links"`
	// Object defines one object to restore
	Objects []*Object `json:"objects"`
}

PreviewProtectionGroupS3AssetSyncResponse represents a custom type struct. Success (Sync)

type PreviewProtectionGroupS3AssetV1Request added in v0.6.0

type PreviewProtectionGroupS3AssetV1Request struct {
	// Backup ID.
	BackupId *string `json:"backup_id"`
	// Response type to be sync
	IsSyncPreview *bool `json:"is_sync_preview"`
	// Search for or restore only objects that pass the source object filter.
	ObjectFilters *SourceObjectFilters `json:"object_filters"`
	// The end timestamp of the period within which objects are to be restored, in RFC-3339
	// format. Clumio searches for objects modified before the given time. If `pitr_end_timestamp`
	// is empty, Clumio searches for objects modified up to the current time of the restore request.
	//  If `pitr_end_timestamp` is given without `pitr_start_timestamp`,
	// it is the same as point in time preview.
	PitrEndTimestamp *string `json:"pitr_end_timestamp"`
	// The start timestamp of the period within which objects are to be restored, in RFC-3339
	// format. Clumio searches for objects modified since the given time. If `pitr_start_timestamp`
	// is empty, Clumio searches for objects from the beginning of the first backup.
	PitrStartTimestamp *string `json:"pitr_start_timestamp"`
}

PreviewProtectionGroupS3AssetV1Request represents a custom type struct

type PreviewProtectionGroupSyncLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

PreviewProtectionGroupSyncLinks represents a custom type struct. URLs to pages related to the resource.

type PreviewProtectionGroupSyncResponse added in v0.6.0

type PreviewProtectionGroupSyncResponse struct {
	// URLs to pages related to the resource.
	Links *PreviewProtectionGroupSyncLinks `json:"_links"`
	// Object defines one object to restore
	Objects []*Object `json:"objects"`
}

PreviewProtectionGroupSyncResponse represents a custom type struct. Success (Sync)

type PreviewProtectionGroupV1Request added in v0.6.0

type PreviewProtectionGroupV1Request struct {
	// The Clumio-assigned ID of the protection group backup to be restored. Use the
	// [GET /backups/protection-groups](#operation/list-backup-protection-groups)
	// endpoint to fetch valid values.
	BackupId *string `json:"backup_id"`
	// Whether to wait for the preview task.
	IsSyncPreview *bool `json:"is_sync_preview"`
	// Search for or restore only objects that pass the source object filter.
	ObjectFilters *SourceObjectFilters `json:"object_filters"`
	// The end timestamp of the period within which objects are to be restored, in RFC-3339
	// format. Clumio searches for objects modified before the given time. If `pitr_end_timestamp`
	// is empty, Clumio searches for objects modified up to the current time of the restore request.
	//  If `pitr_end_timestamp` is given without `pitr_start_timestamp`,
	// it is the same as point in time preview.
	PitrEndTimestamp *string `json:"pitr_end_timestamp"`
	// The start timestamp of the period within which objects are to be restored, in RFC-3339
	// format. Clumio searches for objects modified since the given time. If `pitr_start_timestamp`
	// is empty, Clumio searches for objects from the beginning of the first backup.
	PitrStartTimestamp *string `json:"pitr_start_timestamp"`
	// A list of Clumio-assigned IDs of protection group S3 assets, representing the
	// buckets within the protection group to restore from. Use the
	// [GET /datasources/protection-groups/s3-assets](#operation/list-protection-group-s3-assets)
	// endpoint to fetch valid values.
	ProtectionGroupS3AssetIds []*string `json:"protection_group_s3_asset_ids"`
}

PreviewProtectionGroupV1Request represents a custom type struct

type Projection added in v0.5.0

type Projection struct {
	// Represents the non-key attribute names which will be projected into the index.
	// For [POST /restores/aws/dynamodb](#operation/restore-aws-dynamodb-table), this must be empty if
	// 'projection_type' is ALL or KEYS_ONLY, and non-empty if 'projection_type' is INCLUDE.
	NonKeyAttributes []*string `json:"non_key_attributes"`
	// The set of attributes that are projected into the index. Valid Values: ALL, KEYS_ONLY, INCLUDE.
	ProjectionType *string `json:"projection_type"`
}

Projection represents a custom type struct. Represents attributes that are copied (projected) from the table into an index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.

type ProtectConfig

type ProtectConfig struct {
	// The asset types supported on the current version of the feature
	AssetTypesEnabled []*string `json:"asset_types_enabled"`
	// EbsAssetInfo
	// The installed information for the EBS feature.
	Ebs *EbsAssetInfo `json:"ebs"`
	// The current version of the feature.
	InstalledTemplateVersion *string `json:"installed_template_version"`
	// RdsAssetInfo
	// The installed information for the RDS feature.
	Rds *RdsAssetInfo `json:"rds"`
}

ProtectConfig represents a custom type struct. The configuration of the Clumio Cloud Protect product for this connection. If this connection is not configured for Clumio Cloud Protect, then this field has a value of `null`.

type ProtectEntitiesHateoasLink struct {
	// The URI for the referenced operation.
	Href *string `json:"href"`
	// Determines whether the "href" link is a URI template. If set to `true`, the "href" link is a URI template.
	Templated *bool `json:"templated"`
	// The HTTP method to be used with the "href" link for the referenced operation.
	ClumioType *string `json:"type"`
}

ProtectEntitiesHateoasLink represents a custom type struct. A HATEOAS link to protect the entities.

type ProtectedStatsDeprecated

type ProtectedStatsDeprecated struct {
	// ComplianceStatsDeprecated denotes compliance metrics for all entities associated with a given type
	Protected *ComplianceStatsDeprecated `json:"protected"`
	// Unprotected count.
	Unprotected *uint32 `json:"unprotected"`
}

ProtectedStatsDeprecated represents a custom type struct. ProtectedStatsDeprecated contains the compliance stats for policies which are protected along with the unprotected policies count

type ProtectionComplianceStatsWithSeeding added in v0.1.2

type ProtectionComplianceStatsWithSeeding struct {
	// The total number of compliant entities.
	CompliantCount *int64 `json:"compliant_count"`
	// The total number of entities associated with deactivated policies.
	DeactivatedCount *int64 `json:"deactivated_count"`
	// Determines whether one or more entities is currently seeding or waiting for seeding.
	// If set to `true`, at least one entity is currently seeding or waiting for seeding.
	HasSeedingEntities *bool `json:"has_seeding_entities"`
	// The total number of non-compliant entities.
	NonCompliantCount *int64 `json:"non_compliant_count"`
	// The number of entities with protection applied.
	ProtectedCount *int64 `json:"protected_count"`
	// The number of entities without protection applied.
	UnprotectedCount *int64 `json:"unprotected_count"`
}

ProtectionComplianceStatsWithSeeding represents a custom type struct. The compliance statistics of workloads associated with this entity.

type ProtectionGroup added in v0.1.2

type ProtectionGroup struct {
	// Embedded responses related to the resource.
	Embedded *ProtectionGroupEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *ProtectionGroupLinks `json:"_links"`
	// The backup target AWS region associated with the protection group, empty if
	// in-region or not configured.
	BackupTargetAwsRegion *string `json:"backup_target_aws_region"`
	// Number of buckets
	BucketCount *int64 `json:"bucket_count"`
	// The following table describes the possible conditions for a bucket to be
	// automatically added to a protection group.
	//
	// +---------+----------------+---------------------------------------------------+
	// |  Field  | Rule Condition |                    Description                    |
	// +=========+================+===================================================+
	// | aws_tag | $eq            | Denotes the AWS tag(s) to conditionalize on       |
	// |         |                |                                                   |
	// |         |                | {"aws_tag":{"$eq":{"key":"Environment",           |
	// |         |                | "value":"Prod"}}}                                 |
	// |         |                |                                                   |
	// |         |                |                                                   |
	// +---------+----------------+---------------------------------------------------+
	//
	BucketRule *string `json:"bucket_rule"`
	// The compliance statistics of workloads associated with this entity.
	ComplianceStats *ProtectionComplianceStatsWithSeeding `json:"compliance_stats"`
	// Creation time of the protection group in RFC-3339 format.
	CreatedTimestamp *string `json:"created_timestamp"`
	// The user-assigned description of the protection group.
	Description *string `json:"description"`
	// The Clumio-assigned ID of the protection group.
	Id *string `json:"id"`
	// Whether the protection group already has a backup target configured by a policy, or
	// is open to be protected by an in-region or out-of-region S3 policy.
	IsBackupTargetRegionConfigured *bool `json:"is_backup_target_region_configured"`
	// Determines whether the protection group is active or has been deleted. Deleted protection
	// groups may be purged after some time once there are no active backups associated with it.
	IsDeleted *bool `json:"is_deleted"`
	// Time of the last backup in RFC-3339 format.
	LastBackupTimestamp *string `json:"last_backup_timestamp"`
	// Time of the last successful continuous backup in RFC-3339 format.
	LastContinuousBackupTimestamp *string `json:"last_continuous_backup_timestamp"`
	// Modified time of the protection group in RFC-3339 format.
	ModifiedTimestamp *string `json:"modified_timestamp"`
	// The user-assigned name of the protection group.
	Name *string `json:"name"`
	// ObjectFilter
	// defines which objects will be backed up.
	ObjectFilter *ObjectFilter `json:"object_filter"`
	// The Clumio-assigned ID of the organizational unit associated with the Protection Group.
	OrganizationalUnitId *string `json:"organizational_unit_id"`
	// The protection policy applied to this resource. If the resource is not protected, then this field has a value of `null`.
	ProtectionInfo *ProtectionInfoWithRule `json:"protection_info"`
	// The protection status of the protection group. Possible values include "protected",
	// "unprotected", and "unsupported". If the protection group does not support backups, then
	// this field has a value of `unsupported`.
	ProtectionStatus *string `json:"protection_status"`
	// Cumulative count of all unexpired objects in each backup (any new or updated since
	// the last backup) that have been backed up as part of this protection group
	TotalBackedUpObjectCount *int64 `json:"total_backed_up_object_count"`
	// Cumulative size of all unexpired objects in each backup (any new or updated since
	// the last backup) that have been backed up as part of this protection group
	TotalBackedUpSizeBytes *int64 `json:"total_backed_up_size_bytes"`
	// Version of the protection group. The version number is incremented every time
	// a change is made to the protection group.
	Version *int64 `json:"version"`
}

ProtectionGroup represents a custom type struct

type ProtectionGroupBackup added in v0.2.5

type ProtectionGroupBackup struct {
	// URLs to pages related to the resource.
	Links *ProtectionGroupBackupLinks `json:"_links"`
	// The number of objects in the protection group that were successfully backed up.
	BackedUpObjectCount *int64 `json:"backed_up_object_count"`
	// The total size in bytes of objects in the protection group that were
	// successfully backed up.
	BackedUpSizeBytes *int64 `json:"backed_up_size_bytes"`
	// The timestamp of when this backup expires. Represented in RFC-3339 format.
	ExpirationTimestamp *string `json:"expiration_timestamp"`
	// The number of objects in the protection group that failed to be backed up.
	FailedObjectCount *int64 `json:"failed_object_count"`
	// The total size in bytes of objects in the protection group that failed
	// to be backed up.
	FailedSizeBytes *int64 `json:"failed_size_bytes"`
	// The Clumio-assigned ID of the protection group backup.
	Id *string `json:"id"`
	// The Clumio-assigned ID of the protection group.
	ProtectionGroupId *string `json:"protection_group_id"`
	// The user-assigned name of the protection group.
	ProtectionGroupName *string `json:"protection_group_name"`
	// The version of the protection group at the time the backup was taken.
	ProtectionGroupVersion *int64 `json:"protection_group_version"`
	// The timestamp of when this backup started. Represented in RFC-3339 format.
	StartTimestamp *string `json:"start_timestamp"`
	// The type of backup. Possible values include `protection_group_backup`.
	ClumioType *string `json:"type"`
}

ProtectionGroupBackup represents a custom type struct

type ProtectionGroupBackupAdvancedSetting added in v0.2.2

type ProtectionGroupBackupAdvancedSetting struct {
	// Backup tier to store the backup in. Valid values are: `cold`, `frozen`
	BackupTier *string `json:"backup_tier"`
}

ProtectionGroupBackupAdvancedSetting represents a custom type struct. Additional policy configuration settings for the `protection_group_backup` operation. If this operation is not of type `protection_group_backup`, then this field is omitted from the response.

type ProtectionGroupBackupLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

ProtectionGroupBackupLinks represents a custom type struct. URLs to pages related to the resource.

type ProtectionGroupBackupListEmbedded added in v0.2.5

type ProtectionGroupBackupListEmbedded struct {
	// TODO: Add struct field description
	Items []*ProtectionGroupBackup `json:"items"`
}

ProtectionGroupBackupListEmbedded represents a custom type struct. Embedded responses related to the resource.

type ProtectionGroupBackupListLinks struct {
	// The HATEOAS link to the first page of results.
	First *HateoasFirstLink `json:"_first"`
	// The HATEOAS link to the last page of results.
	Last *HateoasLastLink `json:"_last"`
	// The HATEOAS link to the next page of results.
	Next *HateoasNextLink `json:"_next"`
	// The HATEOAS link to the previous page of results.
	Prev *HateoasPrevLink `json:"_prev"`
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

ProtectionGroupBackupListLinks represents a custom type struct. URLs to pages related to the resource.

type ProtectionGroupBucket added in v0.1.2

type ProtectionGroupBucket struct {
	// Embedded responses related to the resource.
	Embedded *ProtectionGroupBucketEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *ProtectionGroupBucketLinks `json:"_links"`
	// The AWS-assigned ID of the account associated with the DynamoDB table.
	AccountNativeId *string `json:"account_native_id"`
	// Whether this bucket was added to this protection group by the bucket rule
	AddedByBucketRule *bool `json:"added_by_bucket_rule"`
	// Whether this bucket was added to this protection group by the user
	AddedByUser *bool `json:"added_by_user"`
	// The AWS region associated with the DynamoDB table.
	AwsRegion *string `json:"aws_region"`
	// The backup target AWS region associated with the protection group S3 asset.
	BackupTargetAwsRegion *string `json:"backup_target_aws_region"`
	// The Clumio-assigned ID of the bucket
	BucketId *string `json:"bucket_id"`
	// The name of the bucket
	BucketName *string `json:"bucket_name"`
	// The compliance status of the protected protection group. Possible values include
	// "compliant" and "noncompliant". If the table is not protected, then this field has
	// a value of `null`.
	ComplianceStatus *string `json:"compliance_status"`
	// Creation time of the protection group in RFC-3339 format.
	CreatedTimestamp *string `json:"created_timestamp"`
	// The Clumio-assigned ID of the AWS environment associated with the protection group.
	EnvironmentId *string `json:"environment_id"`
	// The Clumio-assigned ID of the protection group
	GroupId *string `json:"group_id"`
	// The name of the protection group
	GroupName *string `json:"group_name"`
	// The Clumio-assigned ID that represents the bucket within the protection group.
	Id *string `json:"id"`
	// Determines whether the protection group bucket has been deleted
	IsDeleted *bool `json:"is_deleted"`
	// Time of the last backup in RFC-3339 format.
	LastBackupTimestamp *string `json:"last_backup_timestamp"`
	// Time of the last successful continuous backup in RFC-3339 format.
	LastContinuousBackupTimestamp *string `json:"last_continuous_backup_timestamp"`
	// The Clumio-assigned ID of the organizational unit associated with the protection group.
	OrganizationalUnitId *string `json:"organizational_unit_id"`
	// The protection policy applied to this resource. If the resource is not protected, then this field has a value of `null`.
	ProtectionInfo *ProtectionInfoWithRule `json:"protection_info"`
	// The protection status of the protection group. Possible values include "protected",
	// "unprotected", and "unsupported". If the protection group does not support backups, then
	// this field has a value of `unsupported`.
	ProtectionStatus *string `json:"protection_status"`
	// Cumulative count of all unexpired objects in each backup (any new or updated since
	// the last backup) that have been backed up as part of this protection group
	TotalBackedUpObjectCount *int64 `json:"total_backed_up_object_count"`
	// Cumulative size of all unexpired objects in each backup (any new or updated since
	// the last backup) that have been backed up as part of this protection group
	TotalBackedUpSizeBytes *int64 `json:"total_backed_up_size_bytes"`
	// The unsupported reason for the S3 bucket.
	UnsupportedReason *string `json:"unsupported_reason"`
}

ProtectionGroupBucket represents a custom type struct

type ProtectionGroupBucketContinuousBackupStats added in v0.11.0

type ProtectionGroupBucketContinuousBackupStats struct {
	// The end time for the continuous backup stats in RFC-3339 format.
	BackupEndTime *string `json:"backup_end_time"`
	// The start time for the continuous backup stats in RFC-3339 format.
	BackupStartTime *string `json:"backup_start_time"`
	// The number of objects in the continuous backup task successfully deleted.
	DeletedObjectsCount *uint64 `json:"deleted_objects_count"`
	// The total size in bytes of objects in the continuous backup task successfully deleted.
	DeletedObjectsSize *uint64 `json:"deleted_objects_size"`
	// The number of failed continuous backup task executions.
	FailedContinuousBackupsCount *uint32 `json:"failed_continuous_backups_count"`
	// The number of objects in the continuous backup task failed to be backed up.
	FailedObjectsCount *uint64 `json:"failed_objects_count"`
	// The total size in bytes of objects in the continuous backup task failed to be backed up.
	FailedObjectsSize *uint64 `json:"failed_objects_size"`
	// The number of included objects after the protection group filter.
	FilteredInCount *uint64 `json:"filtered_in_count"`
	// The total size in bytes of included objects after the protection group filter.
	FilteredInSize *uint64 `json:"filtered_in_size"`
	// The number of excluded objects after the protection group filter.
	FilteredOutCount *uint64 `json:"filtered_out_count"`
	// The total size in bytes of excluded objects after the protection group filter.
	FilteredOutSize *uint64 `json:"filtered_out_size"`
	// The number of objects in the continuous backup task missed to be backed up.
	MissingObjectsCount *uint64 `json:"missing_objects_count"`
	// The total size in bytes of objects in the continuous backup task missed to be backed up.
	MissingObjectsSize *uint64 `json:"missing_objects_size"`
	// The number of ongoing continuous backup task executions.
	OngoingContinuousBackupsCount *uint32 `json:"ongoing_continuous_backups_count"`
	// The number of successful continuous backup task executions.
	SuccessfulContinuousBackupsCount *uint32 `json:"successful_continuous_backups_count"`
	// The number of objects in the continuous backup task successfully backed up.
	SuccessfulObjectsCount *uint64 `json:"successful_objects_count"`
	// The total size in bytes of objects in the continuous backup task successfully backed up.
	SuccessfulObjectsSize *uint64 `json:"successful_objects_size"`
	// The number of total continuous backup task executions.
	TotalContinuousBackupsCount *uint32 `json:"total_continuous_backups_count"`
}

ProtectionGroupBucketContinuousBackupStats represents a custom type struct. ProtectionGroupBucketContinuousBackupStats

type ProtectionGroupBucketContinuousBackupStatsLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

ProtectionGroupBucketContinuousBackupStatsLinks represents a custom type struct. ProtectionGroupBucketContinuousBackupStatsLinks URLs to pages related to the resources.

type ProtectionGroupBucketEmbedded added in v0.1.2

type ProtectionGroupBucketEmbedded struct {
	// This embed is for internal use only since an embed results in additional HTTP
	// calls. "embeds" can affect the performance of "list" API calls as an embed is
	// processed once per item in the result list.
	ReadOrganizationalUnit interface{} `json:"read-organizational-unit"`
	// Embeds the associated policy of a protected resource in the response if requested using the `embed` query parameter. Unprotected resources will not have an associated policy.
	ReadPolicyDefinition interface{} `json:"read-policy-definition"`
}

ProtectionGroupBucketEmbedded represents a custom type struct. Embedded responses related to the resource.

type ProtectionGroupBucketLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// A resource-specific HATEOAS link.
	DeleteBucketProtectionGroup *HateoasLink `json:"delete-bucket-protection-group"`
	// A resource-specific HATEOAS link.
	ReadOrganizationalUnit *HateoasLink `json:"read-organizational-unit"`
	// A HATEOAS link to the policy protecting this resource. Will be omitted for unprotected entities.
	ReadPolicyDefinition *ReadPolicyDefinitionHateoasLink `json:"read-policy-definition"`
}

ProtectionGroupBucketLinks represents a custom type struct. URLs to pages related to the resource.

type ProtectionGroupBucketListEmbedded added in v0.1.2

type ProtectionGroupBucketListEmbedded struct {
	// TODO: Add struct field description
	Items []*ProtectionGroupBucket `json:"items"`
}

ProtectionGroupBucketListEmbedded represents a custom type struct. Embedded responses related to the resource.

type ProtectionGroupBucketListLinks struct {
	// The HATEOAS link to the first page of results.
	First *HateoasFirstLink `json:"_first"`
	// The HATEOAS link to the last page of results.
	Last *HateoasLastLink `json:"_last"`
	// The HATEOAS link to the next page of results.
	Next *HateoasNextLink `json:"_next"`
	// The HATEOAS link to the previous page of results.
	Prev *HateoasPrevLink `json:"_prev"`
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

ProtectionGroupBucketListLinks represents a custom type struct. URLs to pages related to the resource.

type ProtectionGroupEmbedded added in v0.1.2

type ProtectionGroupEmbedded struct {
	// This embed is for internal use only since an embed results in additional HTTP
	// calls. "embeds" can affect the performance of "list" API calls as an embed is
	// processed once per item in the result list.
	ReadOrganizationalUnit interface{} `json:"read-organizational-unit"`
	// Embeds the associated policy of a protected resource in the response if requested using the `embed` query parameter. Unprotected resources will not have an associated policy.
	ReadPolicyDefinition interface{} `json:"read-policy-definition"`
}

ProtectionGroupEmbedded represents a custom type struct. Embedded responses related to the resource.

type ProtectionGroupLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// A resource-specific HATEOAS link.
	AddBucketProtectionGroup *HateoasLink `json:"add-bucket-protection-group"`
	// A resource-specific HATEOAS link.
	DeleteBucketProtectionGroup *HateoasLink `json:"delete-bucket-protection-group"`
	// A resource-specific HATEOAS link.
	ReadOrganizationalUnit *HateoasLink `json:"read-organizational-unit"`
	// A HATEOAS link to the policy protecting this resource. Will be omitted for unprotected entities.
	ReadPolicyDefinition *ReadPolicyDefinitionHateoasLink `json:"read-policy-definition"`
	// A resource-specific HATEOAS link.
	UpdateProtectionGroup *HateoasLink `json:"update-protection-group"`
}

ProtectionGroupLinks represents a custom type struct. URLs to pages related to the resource.

type ProtectionGroupListEmbedded added in v0.1.2

type ProtectionGroupListEmbedded struct {
	// TODO: Add struct field description
	Items []*ProtectionGroup `json:"items"`
}

ProtectionGroupListEmbedded represents a custom type struct. Embedded responses related to the resource.

type ProtectionGroupListLinks struct {
	// The HATEOAS link to the first page of results.
	First *HateoasFirstLink `json:"_first"`
	// The HATEOAS link to the last page of results.
	Last *HateoasLastLink `json:"_last"`
	// The HATEOAS link to the next page of results.
	Next *HateoasNextLink `json:"_next"`
	// The HATEOAS link to the previous page of results.
	Prev *HateoasPrevLink `json:"_prev"`
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

ProtectionGroupListLinks represents a custom type struct. URLs to pages related to the resource.

type ProtectionGroupRestoreSource added in v0.2.5

type ProtectionGroupRestoreSource struct {
	// The Clumio-assigned ID of the protection group backup to be restored. Use the
	// [GET /backups/protection-groups](#operation/list-backup-protection-groups)
	// endpoint to fetch valid values.
	// Note that only one of `backup_id` or `pitr` must be given.
	BackupId *string `json:"backup_id"`
	// Search for or restore only objects that pass the source object filter.
	ObjectFilters *SourceObjectFilters `json:"object_filters"`
	// The parameters for initiating a point in time restore.
	// Note that only one of `backup_id` or `pitr` must be given.
	Pitr *ProtectionGroupRestoreSourcePitrOptions `json:"pitr"`
	// A list of Clumio-assigned IDs of protection group S3 assets, representing the
	// buckets within the protection group to restore from. Use the
	// [GET /datasources/protection-groups/s3-assets](#operation/list-protection-group-s3-assets)
	// endpoint to fetch valid values.
	ProtectionGroupS3AssetIds []*string `json:"protection_group_s3_asset_ids"`
}

ProtectionGroupRestoreSource represents a custom type struct. The parameters for initiating a protection group restore from a backup.

type ProtectionGroupRestoreSourcePitrOptions added in v0.6.0

type ProtectionGroupRestoreSourcePitrOptions struct {
	// Clumio-assigned ID of protection group, representing the
	// protection group to restore from. Use the
	// [GET /datasources/protection-groups](#operation/list-protection-group)
	// endpoint to fetch valid values.
	ProtectionGroupId *string `json:"protection_group_id"`
	// The end timestamp to be restored in RFC-3339 format.
	// Clumio restores last objects modified before the given time.
	// If `restore_end_timestamp` is given without `restore_start_timestamp`,
	// it is the same as point in time restore.
	RestoreEndTimestamp *string `json:"restore_end_timestamp"`
	// The start timestamp to be restored in RFC-3339 format.
	// Clumio restores objects modified since the given time.
	RestoreStartTimestamp *string `json:"restore_start_timestamp"`
}

ProtectionGroupRestoreSourcePitrOptions represents a custom type struct. The parameters for initiating a point in time restore.<br> Note that only one of `backup_id` or `pitr` must be given.

type ProtectionGroupRestoreTarget added in v0.2.5

type ProtectionGroupRestoreTarget struct {
	// The Clumio-assigned ID of the bucket to which the backup must be restored.
	// Use the [GET /datasources/aws/s3-buckets](#operation/list-aws-s3-buckets) endpoint
	// to fetch valid values.
	BucketId *string `json:"bucket_id"`
	// The Clumio-assigned ID of the AWS environment to be used as the restore destination.
	// Use the [GET /datasources/aws/s3-buckets/{bucket_id}](#operation/read-aws-s3-bucket) endpoint
	// to fetch the environment ID for a bucket.
	EnvironmentId *string `json:"environment_id"`
	// If overwrite is set to true, we will overwrite an object if it exists. If it's set to false,
	// then we will fail the restore if an object already exists.
	Overwrite *bool `json:"overwrite"`
	// Prefix to restore the objects under. If more than one bucket is restored, the
	// bucket name will be appended to the prefix.
	Prefix *string `json:"prefix"`
	// Whether to restore objects with their original storage class or not.
	// If it is `true`, `storage_class` must be empty.
	// Otherwise, `storage_class` must be given.
	RestoreOriginalStorageClass *bool `json:"restore_original_storage_class"`
	// Storage class for restored objects. Valid values are: `S3 Standard`, `S3 Standard-IA`,
	// `S3 Intelligent-Tiering` and `S3 One Zone-IA`.
	// Note that this must be given unless `restore_original_storage_class` is `true`.
	StorageClass *string `json:"storage_class"`
	// A tag created through AWS Console which can be applied to EBS volumes.
	Tags []*AwsTagCommonModel `json:"tags"`
}

ProtectionGroupRestoreTarget represents a custom type struct. The destination where the protection group will be restored.

type ProtectionGroupS3AssetBackup added in v0.2.5

type ProtectionGroupS3AssetBackup struct {
	// URLs to pages related to the resource.
	Links *ProtectionGroupS3AssetBackupLinks `json:"_links"`
	// The AWS region in which the instance backup resides. For example, `us-west-2`.
	AwsRegion *string `json:"aws_region"`
	// The number of objects in the protection group S3 asset that were successfully backed up.
	BackedUpObjectCount *uint64 `json:"backed_up_object_count"`
	// The total size in bytes of objects in the protection group S3 asset that were
	// successfully backed up.
	BackedUpSizeBytes *uint64 `json:"backed_up_size_bytes"`
	// The Clumio-assigned ID of the bucket.
	BucketId *string `json:"bucket_id"`
	// The name of the bucket.
	BucketName *string `json:"bucket_name"`
	// The timestamp of when this backup expires. Represented in RFC-3339 format.
	ExpirationTimestamp *string `json:"expiration_timestamp"`
	// The number of objects in the protection group S3 asset that failed to be backed up.
	FailedObjectCount *uint64 `json:"failed_object_count"`
	// The total size in bytes of objects in the protection group S3 asset that failed
	// to be backed up.
	FailedSizeBytes *uint64 `json:"failed_size_bytes"`
	// The Clumio-assigned ID of the protection group S3 asset backup.
	Id *string `json:"id"`
	// The Clumio-assigned ID of the protection group.
	ProtectionGroupId *string `json:"protection_group_id"`
	// The Clumio-assigned ID of the protection group S3 asset.
	ProtectionGroupS3AssetId *string `json:"protection_group_s3_asset_id"`
	// The version of the protection group at the time the backup was taken.
	ProtectionGroupVersion *int64 `json:"protection_group_version"`
	// The timestamp of when this backup started. Represented in RFC-3339 format.
	StartTimestamp *string `json:"start_timestamp"`
	// The type of backup. Possible values include `protection_group_s3_asset_backup`.
	ClumioType *string `json:"type"`
}

ProtectionGroupS3AssetBackup represents a custom type struct

type ProtectionGroupS3AssetBackupLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

ProtectionGroupS3AssetBackupLinks represents a custom type struct. URLs to pages related to the resource.

type ProtectionGroupS3AssetBackupListEmbedded added in v0.2.5

type ProtectionGroupS3AssetBackupListEmbedded struct {
	// TODO: Add struct field description
	Items []*ProtectionGroupS3AssetBackup `json:"items"`
}

ProtectionGroupS3AssetBackupListEmbedded represents a custom type struct. Embedded responses related to the resource.

type ProtectionGroupS3AssetBackupListLinks struct {
	// The HATEOAS link to the first page of results.
	First *HateoasFirstLink `json:"_first"`
	// The HATEOAS link to the last page of results.
	Last *HateoasLastLink `json:"_last"`
	// The HATEOAS link to the next page of results.
	Next *HateoasNextLink `json:"_next"`
	// The HATEOAS link to the previous page of results.
	Prev *HateoasPrevLink `json:"_prev"`
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

ProtectionGroupS3AssetBackupListLinks represents a custom type struct. URLs to pages related to the resource.

type ProtectionGroupS3AssetRestoreSource added in v0.2.5

type ProtectionGroupS3AssetRestoreSource struct {
	// The Clumio-assigned ID of the protection group S3 asset backup to be restored. Use the
	// [GET /backups/protection-groups/s3-assets](#operation/list-backup-protection-group-s3-assets)
	// endpoint to fetch valid values.
	// Note that only one of `backup_id` or `pitr` must be given.
	BackupId *string `json:"backup_id"`
	// Search for or restore only objects that pass the source object filter.
	ObjectFilters *SourceObjectFilters `json:"object_filters"`
	// The parameters for initiating a point in time restore.
	// Note that only one of `backup_id` or `pitr` must be given.
	Pitr *ProtectionGroupS3AssetRestoreSourcePitrOptions `json:"pitr"`
}

ProtectionGroupS3AssetRestoreSource represents a custom type struct. The parameters for initiating a protection group S3 asset restore or creation of an instant access endpoint from a backup.

type ProtectionGroupS3AssetRestoreSourcePitrOptions added in v0.6.0

type ProtectionGroupS3AssetRestoreSourcePitrOptions struct {
	// Clumio-assigned ID of protection group S3 asset, representing the
	// bucket within the protection group to restore from. Use the
	// [GET /datasources/protection-groups/s3-assets](#operation/list-protection-group-s3-assets)
	// endpoint to fetch valid values.
	ProtectionGroupS3AssetId *string `json:"protection_group_s3_asset_id"`
	// The ending time to be restored in RFC-3339 format.
	// We will restore last objects modified before the given time.
	// If `restore_end_timestamp` is given without `restore_start_timestamp`,
	// it is the same as point in time restore.
	RestoreEndTimestamp *string `json:"restore_end_timestamp"`
	// The starting time to be restored in RFC-3339 format.
	// We will restore objects modified since the given time.
	RestoreStartTimestamp *string `json:"restore_start_timestamp"`
}

ProtectionGroupS3AssetRestoreSourcePitrOptions represents a custom type struct. The parameters for initiating a point in time restore.<br> Note that only one of `backup_id` or `pitr` must be given.

type ProtectionGroupVersionLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

ProtectionGroupVersionLinks represents a custom type struct. URLs to pages related to the resource.

type ProtectionInfo

type ProtectionInfo struct {
	// The ID of the entity from which protection was inherited.
	// If protection was not inherited, then this field has a value of `null`.
	InheritingEntityId *string `json:"inheriting_entity_id"`
	// The type of entity from which protection was inherited.
	// If protection was not inherited, then this field has a value of `null`.
	// Entities from which protection can be inherited include the following:
	//
	// +--------------------------------+---------------------------------+
	// |     Inheriting Entity Type     |             Details             |
	// +================================+=================================+
	// | aws_tag                        | AWS tag.                        |
	// +--------------------------------+---------------------------------+
	// | vmware_vm_folder               | VMware VM folder.               |
	// +--------------------------------+---------------------------------+
	// | vmware_datacenter              | VMware data center.             |
	// +--------------------------------+---------------------------------+
	// | vmware_datacenter_folder       | VMware data center folder.      |
	// +--------------------------------+---------------------------------+
	// | vmware_tag                     | VMware tag.                     |
	// +--------------------------------+---------------------------------+
	// | vmware_category                | VMware tag category.            |
	// +--------------------------------+---------------------------------+
	// | vmware_compute_resource        | VMware compute resource.        |
	// +--------------------------------+---------------------------------+
	// | vmware_compute_resource_folder | VMware compute resource folder. |
	// +--------------------------------+---------------------------------+
	//
	InheritingEntityType *string `json:"inheriting_entity_type"`
	// A system-generated ID assigned to the policy protecting this resource.
	PolicyId *string `json:"policy_id"`
}

ProtectionInfo represents a custom type struct. The protection policy applied to this resource. If the resource is not protected, then this field has a value of `null`.

type ProtectionInfoDeprecated

type ProtectionInfoDeprecated struct {
	// TODO: Add struct field description
	Inheritedfrom *InheritedFrom `json:"inheritedFrom"`
	// PolicyID for the policy.
	Policyid *string `json:"policyId"`
}

ProtectionInfoDeprecated represents a custom type struct

type ProtectionInfoWithRule

type ProtectionInfoWithRule struct {
	// The ID of the entity from which protection was inherited.
	// If protection was not inherited, then this field has a value of `null`.
	InheritingEntityId *string `json:"inheriting_entity_id"`
	// The type of entity from which protection was inherited.
	// If protection was not inherited, then this field has a value of `null`.
	// Entities from which protection can be inherited include the following:
	//
	// +--------------------------------+---------------------------------+
	// |     Inheriting Entity Type     |             Details             |
	// +================================+=================================+
	// | aws_tag                        | AWS tag.                        |
	// +--------------------------------+---------------------------------+
	// | vmware_vm_folder               | VMware VM folder.               |
	// +--------------------------------+---------------------------------+
	// | vmware_datacenter              | VMware data center.             |
	// +--------------------------------+---------------------------------+
	// | vmware_datacenter_folder       | VMware data center folder.      |
	// +--------------------------------+---------------------------------+
	// | vmware_tag                     | VMware tag.                     |
	// +--------------------------------+---------------------------------+
	// | vmware_category                | VMware tag category.            |
	// +--------------------------------+---------------------------------+
	// | vmware_compute_resource        | VMware compute resource.        |
	// +--------------------------------+---------------------------------+
	// | vmware_compute_resource_folder | VMware compute resource folder. |
	// +--------------------------------+---------------------------------+
	//
	InheritingEntityType *string `json:"inheriting_entity_type"`
	// A system-generated ID assigned to the policy protecting this resource.
	PolicyId *string `json:"policy_id"`
}

ProtectionInfoWithRule represents a custom type struct. The protection policy applied to this resource. If the resource is not protected, then this field has a value of `null`.

type ProvisionedThroughput added in v0.5.0

type ProvisionedThroughput struct {
	// The maximum number of strongly consistent reads consumed per second.
	ReadCapacityUnits *int64 `json:"read_capacity_units"`
	// The maximum number of writes consumed per second.
	WriteCapacityUnits *int64 `json:"write_capacity_units"`
}

ProvisionedThroughput represents a custom type struct. Represents the provisioned throughput settings for a DynamoDB table.

type ProvisionedThroughputOverride added in v0.5.0

type ProvisionedThroughputOverride struct {
	// The maximum number of strongly consistent reads consumed per second.
	ReadCapacityUnits *int64 `json:"read_capacity_units"`
}

ProvisionedThroughputOverride represents a custom type struct. Replica-specific provisioned throughput settings. If not specified, uses the source table's provisioned throughput settings.

type RDSBackupDatabase added in v0.6.0

type RDSBackupDatabase struct {
	// The name of the database.
	Name *string `json:"name"`
}

RDSBackupDatabase represents a custom type struct

type RDSBackupDatabaseListEmbedded added in v0.6.0

type RDSBackupDatabaseListEmbedded struct {
	// TODO: Add struct field description
	Items []*RDSBackupDatabase `json:"items"`
}

RDSBackupDatabaseListEmbedded represents a custom type struct. Embedded responses related to the resource.

type RDSBackupDatabaseListLinks struct {
	// The HATEOAS link to the first page of results.
	First *HateoasFirstLink `json:"_first"`
	// The HATEOAS link to the next page of results.
	Next *HateoasNextLink `json:"_next"`
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

RDSBackupDatabaseListLinks represents a custom type struct. URLs to pages related to the resource.

type RDSConfigSyncAdvancedSetting added in v0.13.0

type RDSConfigSyncAdvancedSetting struct {
	// Syncs the configuration of RDS PITR in AWS. Valid values are: `immediate`, and `maintenance_window`.
	// Note that applying the setting "immediately" may cause unexpected downtime.
	Apply *string `json:"apply"`
}

RDSConfigSyncAdvancedSetting represents a custom type struct. Advanced settings for RDS PITR configuration sync.

type RDSDatabaseTable added in v0.6.0

type RDSDatabaseTable struct {
	// Embedded responses related to the resource.
	Embedded *RDSDatabaseTableEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *RDSDatabaseTableLinks `json:"_links"`
	// The name of the table within the specified RDS database.
	Name *string `json:"name"`
}

RDSDatabaseTable represents a custom type struct

type RDSDatabaseTableColumn added in v0.5.0

type RDSDatabaseTableColumn struct {
	// The name of the column.
	Name *string `json:"name"`
	// The Hive data type of the column. Possible values include `int`, `bigint`, `string`, and `boolean`.
	ClumioType *string `json:"type"`
}

RDSDatabaseTableColumn represents a custom type struct. RDSDatabaseTableColumn denotes the model for rds database column

type RDSDatabaseTableColumnLinks struct {
	// The HATEOAS link to the first page of results.
	First *HateoasFirstLink `json:"_first"`
	// The HATEOAS link to the next page of results.
	Next *HateoasNextLink `json:"_next"`
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

RDSDatabaseTableColumnLinks represents a custom type struct. URLs to pages related to the resource.

type RDSDatabaseTableEmbedded added in v0.6.0

type RDSDatabaseTableEmbedded struct {
	// Add resource specific HATEOAS embedded
	ReadBackupAwsRdsResourceDatabaseTableColumns interface{} `json:"read-backup-aws-rds-resource-database-table-columns"`
}

RDSDatabaseTableEmbedded represents a custom type struct. Embedded responses related to the resource.

type RDSDatabaseTableLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// A resource-specific HATEOAS link.
	ReadBackupAwsRdsResourceDatabaseTableColumns *HateoasLink `json:"read-backup-aws-rds-resource-database-table-columns"`
}

RDSDatabaseTableLinks represents a custom type struct. URLs to pages related to the resource.

type RDSDatabaseTableListEmbedded added in v0.6.0

type RDSDatabaseTableListEmbedded struct {
	// TODO: Add struct field description
	Items []*RDSDatabaseTable `json:"items"`
}

RDSDatabaseTableListEmbedded represents a custom type struct. Embedded responses related to the resource.

type RDSDatabaseTableListLinks struct {
	// The HATEOAS link to the first page of results.
	First *HateoasFirstLink `json:"_first"`
	// The HATEOAS link to the next page of results.
	Next *HateoasNextLink `json:"_next"`
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

RDSDatabaseTableListLinks represents a custom type struct. URLs to pages related to the resource.

type RDSLogicalBackupAdvancedSetting added in v0.14.0

type RDSLogicalBackupAdvancedSetting struct {
	// Backup tier to store the backup in. Valid values are: `standard`, `frozen`
	BackupTier *string `json:"backup_tier"`
}

RDSLogicalBackupAdvancedSetting represents a custom type struct. Settings for determining if a RDS policy is created with standard or frozen tier.

type RDSLogicalPreviewQueryResult added in v0.5.0

type RDSLogicalPreviewQueryResult struct {
	// RDSDatabaseTableColumn denotes the model for rds database column
	Columns []*RDSDatabaseTableColumn `json:"columns"`
	// The rows of the previewed query result.
	Rows []*[]string `json:"rows"`
}

RDSLogicalPreviewQueryResult represents a custom type struct. The preview of the query result, if `preview:true` in the request. If preview was not set to true in the request, then the result of the query will be available for download asynchronously.

type RPOBackupSLAParam

type RPOBackupSLAParam struct {
	// The weekday in decimal of the Weekly SLA parameter. Valid values are integers from 0 to 6, incidates Sunday, Monday, ..., Saturday. For example, to configure backup on every Monday, set `unit="weekly"`, `value=1`, and `offsets={1}`.
	Offsets []*int64 `json:"offsets"`
	// The measurement unit of the SLA parameter.
	Unit *string `json:"unit"`
	// The measurement value of the SLA parameter.
	Value *int64 `json:"value"`
}

RPOBackupSLAParam represents a custom type struct. The minimum frequency between backups for this SLA. Also known as the recovery point objective (RPO) interval. For example, to configure the minimum frequency between backups to be every 2 days, set `unit="days"` and `value=2`. To configure the SLA for on-demand backups, set `unit="on_demand"` and leave the `value` field empty.

type RdsAssetInfo

type RdsAssetInfo struct {
	// The current version of the feature.
	InstalledTemplateVersion *string `json:"installed_template_version"`
}

RdsAssetInfo represents a custom type struct. RdsAssetInfo The installed information for the RDS feature.

type RdsDatabaseBackup added in v0.6.0

type RdsDatabaseBackup struct {
	// URLs to pages related to the resource.
	Links *RdsDatabaseBackupLinks `json:"_links"`
	// The AWS-assigned ID of the account associated with this database at the time of backup.
	AccountNativeId *string `json:"account_native_id"`
	// The AWS availability zones associated with this database at the time of backup.
	AwsAzs []*string `json:"aws_azs"`
	// The AWS region associated with this environment.
	AwsRegion *string `json:"aws_region"`
	// The AWS-assigned ID of the database at the time of backup.
	DatabaseNativeId *string `json:"database_native_id"`
	// The AWS database engine at the time of backup.
	Engine *string `json:"engine"`
	// The aws database engine version at the time of backup.
	EngineVersion *string `json:"engine_version"`
	// The timestamp of when this backup expires. Represented in RFC-3339 format.
	ExpirationTimestamp *string `json:"expiration_timestamp"`
	// The Clumio-assigned ID of the backup.
	Id *string `json:"id"`
	// TODO: Add struct field description
	Instances []*RdsInstanceModel `json:"instances"`
	// The AWS-assigned ID of the KMS key associated with this database at the time of backup.
	KmsKeyNativeId *string `json:"kms_key_native_id"`
	// The timestamp of when the migration was triggered. This field will be set only for
	// migration granular backups. Represented in RFC-3339 format.
	MigrationTimestamp *string `json:"migration_timestamp"`
	// Option group name associated with the backed up RDS resource
	OptionGroupName *string `json:"option_group_name"`
	// The Clumio-assigned ID of the database associated with this backup.
	ResourceId *string `json:"resource_id"`
	// The type of the RDS resource associated with this backup. Possible values include `aws_rds_cluster` and `aws_rds_instance`.
	ResourceType *string `json:"resource_type"`
	// The AWS-assigned IDs of the security groups associated with this RDS resource backup.
	SecurityGroupNativeIds []*string `json:"security_group_native_ids"`
	// The size of the RDS resource backup. Measured in bytes (B).
	Size *int64 `json:"size"`
	// The timestamp of when this backup started. Represented in RFC-3339 format.
	StartTimestamp *string `json:"start_timestamp"`
	// The AWS-assigned name of the subnet group associated with this RDS resource backup.
	SubnetGroupName *string `json:"subnet_group_name"`
	// A tag created through AWS Console which can be applied to EBS volumes.
	Tags []*AwsTagCommonModel `json:"tags"`
	// The type of backup. Possible values include `clumio_snapshot` and `granular_backup`.
	ClumioType *string `json:"type"`
}

RdsDatabaseBackup represents a custom type struct

type RdsDatabaseBackupLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// A resource-specific HATEOAS link.
	ListAwsRdsResourcesOptionGroups *HateoasLink `json:"list-aws-rds-resources-option-groups"`
	// A resource-specific HATEOAS link.
	RestoreAwsRdsResource *HateoasLink `json:"restore-aws-rds-resource"`
	// A resource-specific HATEOAS link.
	RestoreRdsRecord *HateoasLink `json:"restore-rds-record"`
}

RdsDatabaseBackupLinks represents a custom type struct. URLs to pages related to the resource.

type RdsDatabaseBackupListEmbedded added in v0.6.0

type RdsDatabaseBackupListEmbedded struct {
	// TODO: Add struct field description
	Items []*RdsDatabaseBackup `json:"items"`
}

RdsDatabaseBackupListEmbedded represents a custom type struct. Embedded responses related to the resource.

type RdsDatabaseBackupListLinks struct {
	// The HATEOAS link to the first page of results.
	First *HateoasFirstLink `json:"_first"`
	// The HATEOAS link to the last page of results.
	Last *HateoasLastLink `json:"_last"`
	// The HATEOAS link to the next page of results.
	Next *HateoasNextLink `json:"_next"`
	// The HATEOAS link to the previous page of results.
	Prev *HateoasPrevLink `json:"_prev"`
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

RdsDatabaseBackupListLinks represents a custom type struct. URLs to pages related to the resource.

type RdsInstanceModel added in v0.6.0

type RdsInstanceModel struct {
	// The class of the RDS instance at the time of backup. Possible values include `db.r5.2xlarge` and `db.t2.small`.
	// For a full list of possible values, refer to the Amazon documentation at
	// https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html.
	Class *string `json:"class"`
	// Determines whether the RDS instance had a public IP address in addition to the private IP address at the time of backup.
	// For more information about the public access option, refer to the Amazon documentation at
	// https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html.
	IsPubliclyAccessible *bool `json:"is_publicly_accessible"`
	// The AWS-assigned name of the RDS instance at the time of backup.
	Name *string `json:"name"`
}

RdsInstanceModel represents a custom type struct

type RdsResource added in v0.6.0

type RdsResource struct {
	// Embedded responses related to the resource.
	Embedded *RdsResourceEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *RdsResourceLinks `json:"_links"`
	// The AWS-assigned ID of the account associated with this resource.
	AccountNativeId *string `json:"account_native_id"`
	// The AWS availability zone(s) associated with the resource. For example, `us-west-2a`.
	AwsAzs []*string `json:"aws_azs"`
	// The AWS region associated with this resource.
	AwsRegion *string `json:"aws_region"`
	// The compliance status of the protected RDS resource. Possible values include
	// `compliant` and `noncompliant`. If the resource is not protected, then this field has
	// a value of `null`.
	ComplianceStatus *string `json:"compliance_status"`
	// The timestamp of when the RDS resource was deleted. Represented in RFC-3339 format.
	// If the resource was not deleted, then this field has a value of `null`.
	DeletionTimestamp *string `json:"deletion_timestamp"`
	// The Clumio-assigned ID of the policy directly assigned to the entity.
	DirectAssignmentPolicyId *string `json:"direct_assignment_policy_id"`
	// The timestamp of the oldest AWS snapshot of the RDS resource. Represented in RFC-3339
	// format. If the resource has no available snapshots, then this field has a value of `null`.
	EarliestAwsSnapshotRestorableTimestamp *string `json:"earliest_aws_snapshot_restorable_timestamp"`
	// The database engine of the RDS resource. Possible values include `postgres` and `mysql`.
	// For a full list of possible values, please refer to the AWS documentation at
	// https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-engine-versions.html
	Engine *string `json:"engine"`
	// The database engine mode of the RDS resource. Possible values include `provisioned`
	// and `serverless`.
	EngineMode *string `json:"engine_mode"`
	// The database engine version of the RDS resource. For example, `10.12`.
	EngineVersion *string `json:"engine_version"`
	// The Clumio-assigned ID of the AWS environment associated with this resource.
	EnvironmentId *string `json:"environment_id"`
	// The timestamp of the first active backup of the database to Clumio. Represented
	// in RFC-3339 format.
	FirstClumioSnapshotTimestamp *string `json:"first_clumio_snapshot_timestamp"`
	// The timestamp of the first active granular backup for the database. Represented in
	// RFC-3339 format.
	FirstGranularBackupTimestamp *string `json:"first_granular_backup_timestamp"`
	// Determines whether the table has a direct assignment.
	HasDirectAssignment *bool `json:"has_direct_assignment"`
	// The Clumio-assigned ID of the resource.
	Id *string `json:"id"`
	// Determines whether an RDS resource is deleted.
	IsDeleted *bool `json:"is_deleted"`
	// Determines whether an RDS resource is encrypted.
	IsEncrypted *bool `json:"is_encrypted"`
	// Determines whether the RDS resource is supported for backups.
	IsSupported *bool `json:"is_supported"`
	// The AWS-assigned ID of the KMS key encrypting this resource. If the resource is
	// unencrypted, then this field has a value of `null`.
	KmsKeyNativeId *string `json:"kms_key_native_id"`
	// The timestamp of the last time this database was backed up to Clumio. Represented
	// in RFC-3339 format.
	LastClumioSnapshotTimestamp *string `json:"last_clumio_snapshot_timestamp"`
	// The timestamp of the last time this database had granular backup performed.
	// Represented in RFC-3339 format.
	LastGranularBackupTimestamp *string `json:"last_granular_backup_timestamp"`
	// The timestamp of the newest AWS snapshot of the RDS resource. Represented in RFC-3339
	// format. If the resource has no available snapshots, then this field has a value of `null`.
	LatestAwsSnapshotRestorableTimestamp *string `json:"latest_aws_snapshot_restorable_timestamp"`
	// The AWS-assigned name of the RDS resource. For example, `clumio-aurora-dev`.
	Name *string `json:"name"`
	// The organizational unit to which this resource belongs.
	OrganizationalUnitId *string `json:"organizational_unit_id"`
	// The protection policy applied to this resource. If the resource is not protected, then this field has a value of `null`.
	ProtectionInfo *ProtectionInfoWithRule `json:"protection_info"`
	// The protection status of the RDS resource. Possible values include `protected`,
	// `unprotected`, and `unsupported`. If the RDS resource does not support backups, then
	// this field has a value of `unsupported`. If the resource has been deleted, then this
	// field has a value of `null`.
	ProtectionStatus *string `json:"protection_status"`
	// The AWS-assigned ID of the RDS resource. For example, `cluster-3WW6IXRWO5ZS4PTUIKGZEACISY`.
	ResourceNativeId *string `json:"resource_native_id"`
	// The AWS-assigned IDs of the security groups associated with this resource
	SecurityGroupNativeIds []*string `json:"security_group_native_ids"`
	// The size of the RDS resource. Measured in bytes (B).
	Size *int64 `json:"size"`
	// The RDS subnet group name associated with this resource.
	SubnetGroupName *string `json:"subnet_group_name"`
	// A tag created through AWS console which can be applied to EBS volumes.
	Tags []*AwsTagModel `json:"tags"`
	// The RDS resource type. Possible values include `aws_rds_cluster` and `aws_rds_instance`.
	ClumioType *string `json:"type"`
	// The reason why protection is not available on this RDS resource, if any.
	// Possible values include `rds_engine_oracle` and `rds_postgres_9_4`.
	// If the resource is supported, then this field has a value of `null`.
	UnsupportedReason *string `json:"unsupported_reason"`
}

RdsResource represents a custom type struct

type RdsResourceEmbedded added in v0.6.0

type RdsResourceEmbedded struct {
	// Embeds the associated policy of a protected resource in the response if requested using the `embed` query parameter. Unprotected resources will not have an associated policy.
	ReadPolicyDefinition interface{} `json:"read-policy-definition"`
}

RdsResourceEmbedded represents a custom type struct. Embedded responses related to the resource.

type RdsResourceLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// A resource-specific HATEOAS link.
	ListBackupAwsRdsResources *HateoasLink `json:"list-backup-aws-rds-resources"`
	// A resource-specific HATEOAS link.
	ListRdsRestoredRecords *HateoasLink `json:"list-rds-restored-records"`
	// A HATEOAS link to the policy protecting this resource. Will be omitted for unprotected entities.
	ReadPolicyDefinition *ReadPolicyDefinitionHateoasLink `json:"read-policy-definition"`
	// A resource-specific HATEOAS link.
	RestoreAwsRdsResource *HateoasLink `json:"restore-aws-rds-resource"`
}

RdsResourceLinks represents a custom type struct. URLs to pages related to the resource.

type RdsResourceListEmbedded added in v0.6.0

type RdsResourceListEmbedded struct {
	// TODO: Add struct field description
	Items []*RdsResource `json:"items"`
}

RdsResourceListEmbedded represents a custom type struct. Embedded responses related to the resource.

type RdsResourceListLinks struct {
	// The HATEOAS link to the first page of results.
	First *HateoasFirstLink `json:"_first"`
	// The HATEOAS link to the last page of results.
	Last *HateoasLastLink `json:"_last"`
	// The HATEOAS link to the next page of results.
	Next *HateoasNextLink `json:"_next"`
	// The HATEOAS link to the previous page of results.
	Prev *HateoasPrevLink `json:"_prev"`
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

RdsResourceListLinks represents a custom type struct. URLs to pages related to the resource.

type RdsResourceRestoreSource added in v0.5.0

type RdsResourceRestoreSource struct {
	// The parameters for initiating an RDS restore from a backup.
	Backup *RdsResourceRestoreSourceAirGapOptions `json:"backup"`
	// The parameters for initiating an RDS restore from a snapshot.
	Snapshot *RdsResourceRestoreSourcePitrOptions `json:"snapshot"`
}

RdsResourceRestoreSource represents a custom type struct. The RDS resource backup or snapshot to be restored. Only one of these fields should be set.

type RdsResourceRestoreSourceAirGapOptions added in v0.5.0

type RdsResourceRestoreSourceAirGapOptions struct {
	// The Clumio-assigned ID of the RDS backup to be restored.
	// Use the [GET /backups/aws/rds-resources](#operation/list-backup-aws-rds-resources)
	// endpoint to fetch valid values.
	BackupId *string `json:"backup_id"`
}

RdsResourceRestoreSourceAirGapOptions represents a custom type struct. The parameters for initiating an RDS restore from a backup.

type RdsResourceRestoreSourcePitrOptions added in v0.5.0

type RdsResourceRestoreSourcePitrOptions struct {
	// The Clumio-assigned ID of the RDS resource to be restored.
	// Use the [GET /datasources/aws/rds-resources](#operation/list-aws-rds-resources)
	// endpoint to fetch valid values.
	ResourceId *string `json:"resource_id"`
	// A point in time to be restored in RFC-3339 format.
	Timestamp *string `json:"timestamp"`
}

RdsResourceRestoreSourcePitrOptions represents a custom type struct. The parameters for initiating an RDS restore from a snapshot.

type RdsResourceRestoreTarget added in v0.5.0

type RdsResourceRestoreTarget struct {
	// The Clumio-assigned ID of the AWS environment to be used as the restore destination.
	// Use the [GET /datasources/aws/environments](#operation/list-aws-environments) endpoint to fetch valid values.
	EnvironmentId *string `json:"environment_id"`
	// The instance class of the RDS resources to be created. Possible values include `db.r5.2xlarge` and `db.t2.small`.
	InstanceClass *string `json:"instance_class"`
	// Designates whether the restored RDS resource also has a public IP address in addition to the private IP address.
	IsPubliclyAccessible *bool `json:"is_publicly_accessible"`
	// The AWS-assigned ID of the KMS encryption key used to encrypt data in this RDS resource.
	KmsKeyNativeId *string `json:"kms_key_native_id"`
	// The name given to the restored RDS resource.
	// The name must follow AWS RDS naming conventions:
	// https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints
	Name *string `json:"name"`
	// Option group name to be added to the restored RDS resource
	OptionGroupName *string `json:"option_group_name"`
	// The AWS-assigned IDs of the security groups to be associated with the restored RDS resource.
	SecurityGroupNativeIds []*string `json:"security_group_native_ids"`
	// The AWS-assigned name of the subnet group to be associated with the restored RDS resource.
	SubnetGroupName *string `json:"subnet_group_name"`
	// A tag created through AWS Console which can be applied to EBS volumes.
	Tags []*AwsTagCommonModel `json:"tags"`
}

RdsResourceRestoreTarget represents a custom type struct. The configuration of the RDS resource to be restored.

type RdsTemplateInfo

type RdsTemplateInfo struct {
	// The latest available feature version for the asset.
	AvailableTemplateVersion *string `json:"available_template_version"`
}

RdsTemplateInfo represents a custom type struct

type ReadAWSConnectionResponse

type ReadAWSConnectionResponse struct {
	// The ETag value.
	Etag *string `json:"_etag"`
	// URLs to pages related to the resource.
	Links *AWSConnectionLinks `json:"_links"`
	// The alias given to the account on AWS.
	AccountName *string `json:"account_name"`
	// The AWS-assigned ID of the account associated with the connection.
	AccountNativeId *string `json:"account_native_id"`
	// The AWS region associated with the connection. For example, `us-east-1`.
	AwsRegion *string `json:"aws_region"`
	// AWS account ID of the Clumio control plane.
	ClumioAwsAccountId *string `json:"clumio_aws_account_id"`
	// AWS region of the Clumio control plane
	ClumioAwsRegion *string `json:"clumio_aws_region"`
	// The consolidated configuration of the Clumio Cloud Protect and Clumio Cloud Discover products for this connection.
	// If this connection is deprecated to use unconsolidated configuration, then this field has a
	// value of `null`.
	Config *ConsolidatedConfig `json:"config"`
	// The status of the connection. Possible values include "connecting",
	// "connected", and "unlinked".
	ConnectionStatus *string `json:"connection_status"`
	// The timestamp of when the connection was created.
	CreatedTimestamp *string `json:"created_timestamp"`
	// AWS account ID of the data plane for the connection.
	DataPlaneAccountId *string `json:"data_plane_account_id"`
	// The user-provided description for this connection.
	Description *string `json:"description"`
	// The configuration of the Clumio Discover product for this connection.
	// If this connection is not configured for Clumio Discover, then this field has a
	// value of `null`.
	Discover *DiscoverConfig `json:"discover"`
	// Clumio assigned external ID of the connection or of the associated connection group.
	ExternalId *string `json:"external_id"`
	// The Clumio-assigned ID of the connection.
	Id *string `json:"id"`
	// Status denoting whether Ingestion has started for the connection.
	// Valid values are "initial", "in_progress", "failed", "completed".
	IngestionStatus *string `json:"ingestion_status"`
	// K8S Namespace
	Namespace *string `json:"namespace"`
	// The Clumio-assigned ID of the organizational unit associated with the
	// AWS environment. If this parameter is not provided, then the value
	// defaults to the first organizational unit assigned to the requesting
	// user. For more information about organizational units, refer to the
	// Organizational-Units documentation.
	OrganizationalUnitId *string `json:"organizational_unit_id"`
	// The configuration of the Clumio Cloud Protect product for this connection.
	// If this connection is not configured for Clumio Cloud Protect, then this field has a
	// value of `null`.
	Protect *ProtectConfig `json:"protect"`
	// The asset types enabled for protect.
	// Valid values are any of ["EBS", "RDS", "DynamoDB", "EC2MSSQL", "S3"].
	ProtectAssetTypesEnabled []*string `json:"protect_asset_types_enabled"`
	// The services to be enabled for this configuration. Valid values are
	// ["discover"], ["discover", "protect"]. This is only set when the
	// registration is created, the enabled services are obtained directly from
	// the installed template after that. (Deprecated as all connections will have
	// both discover and protect enabled)
	ServicesEnabled []*string `json:"services_enabled"`
	// The Amazon Resource Name of the installed CloudFormation stack in this AWS account
	StackArn *string `json:"stack_arn"`
	// The name given to the installed CloudFormation stack on AWS.
	StackName *string `json:"stack_name"`
	// Status denoting whether Target Setup has started for the connection.
	// Valid values are "initial", "in_progress", "failed", "completed".
	TargetSetupStatus *string `json:"target_setup_status"`
	// The 36-character Clumio AWS integration ID token used to identify the
	// installation of the CloudFormation template on the account. This value
	// will be pasted into the ClumioToken field when creating the
	// CloudFormation stack.
	Token *string `json:"token"`
}

ReadAWSConnectionResponse represents a custom type struct for Success

type ReadAWSEnvironmentResponse

type ReadAWSEnvironmentResponse struct {
	// Embedded responses related to the resource.
	Embedded *AWSEnvironmentEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *AWSEnvironmentLinks `json:"_links"`
	// The name given to the account.
	AccountName *string `json:"account_name"`
	// The AWS-assigned ID of the account associated with the environment.
	AccountNativeId *string `json:"account_native_id"`
	// The valid AWS availability zones for the environment. For example, `us_west-2a`.
	AwsAz []*string `json:"aws_az"`
	// The AWS region associated with the environment. For example, `us-west-2`.
	AwsRegion *string `json:"aws_region"`
	// The consolidated configuration of the Clumio Cloud Protect and Clumio Cloud Discover products for this connection.
	// If this connection is deprecated to use unconsolidated configuration, then this field has a
	// value of `null`.
	Config *ConsolidatedConfig `json:"config"`
	// The Clumio-assigned ID of the connection associated with the environment.
	ConnectionId *string `json:"connection_id"`
	// The status of the connection to the environment, which is mediated by a CloudFormation stack.
	ConnectionStatus *string `json:"connection_status"`
	// The user-provided account description.
	Description *string `json:"description"`
	// The Clumio-assigned ID of the environment.
	Id *string `json:"id"`
	// The Clumio-assigned ID of the organizational unit associated with the environment.
	OrganizationalUnitId *string `json:"organizational_unit_id"`
	// The AWS services enabled for this environment. Possible values include "ebs", "rds" and "dynamodb".
	ServicesEnabled []*string `json:"services_enabled"`
	// The Clumio CloudFormation template version used to deploy the CloudFormation stack.
	TemplateVersion *int64 `json:"template_version"`
}

ReadAWSEnvironmentResponse represents a custom type struct for Success

type ReadAWSTemplatesV2Response

type ReadAWSTemplatesV2Response struct {
	// URLs to pages related to the resource.
	Links *TemplateLinks `json:"_links"`
	// The configuration of the given template
	Config *TemplateConfigurationV2 `json:"config"`
}

ReadAWSTemplatesV2Response represents a custom type struct for Success

type ReadAlertResponse

type ReadAlertResponse struct {
	// Embedded responses related to the resource.
	Embedded *AlertEmbedded `json:"_embedded"`
	// The ETag value.
	Etag *string `json:"_etag"`
	// URLs to pages related to the resource.
	Links *AlertLinks `json:"_links"`
	// The issue that generated the alert. Each cause belongs to an alert type.
	Cause *string `json:"cause"`
	// The timestamp of when the alert was cleared, either automatically by Clumio or manually by a Clumio user.
	// Represented in RFC-3339 format. If this alert has not been cleared, then this field has a value of `null`.
	ClearedTimestamp *string `json:"cleared_timestamp"`
	// The Clumio-assigned ID of the consolidated alert associated with this individual alert. Alerts are consolidated based on matching parent entity, alert type, and alert cause.
	ConsolidatedAlertId *string `json:"consolidated_alert_id"`
	// Additional information about the alert.
	Details *IndividualAlertDetails `json:"details"`
	// The Clumio-assigned ID of the individual alert.
	Id *string `json:"id"`
	// A record of user-provided information about the alert.
	Notes *string `json:"notes"`
	// The parent object of the primary entity associated with or affected by the alert. For example, "aws_environment" is the parent entity of primary entity "aws_ebs_volume".
	ParentEntity *AlertParentEntity `json:"parent_entity"`
	// The primary object associated with or affected by the alert. Examples of primary entities include "aws_connection", "aws_ebs_volume" and "vmware_vm".
	PrimaryEntity *AlertPrimaryEntity `json:"primary_entity"`
	// The number of times the alert has recurred for this primary entity.
	RaisedCount *uint64 `json:"raised_count"`
	// The timestamp of when the alert was raised. Represented in RFC-3339 format.
	RaisedTimestamp *string `json:"raised_timestamp"`
	// The alert severity level. Values include "error" and "warning".
	Severity *string `json:"severity"`
	// The individual alert status. An individual alert that is in "active" status is one that is still open and has yet to be addressed.
	// An individual alert that is in "cleared" status is one that has been cleared, either automatically by Clumio or manually by a Clumio user.
	Status *string `json:"status"`
	// TODO: Add struct field description
	Tags []*RestEntity `json:"tags"`
	// The general alert category. Some alert types may be associated with multiple causes.
	// Refer to the Alert Type table for a complete list of alert types.
	ClumioType *string `json:"type"`
	// The timestamp of when the alert was last updated. Represented in RFC-3339 format.
	// The alert is updated whenever there is a new occurrence of the same alert within the same entity.
	UpdatedTimestamp *string `json:"updated_timestamp"`
}

ReadAlertResponse represents a custom type struct for Success

type ReadAutoUserProvisioningRuleResponse added in v0.3.0

type ReadAutoUserProvisioningRuleResponse struct {
	// Embedded responses related to the resource.
	Embedded *AutoUserProvisioningRuleEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *AutoUserProvisioningRuleLinks `json:"_links"`
	// The following table describes the possible conditions for a rule.
	//
	// +--------------------------+-------------------------+-------------------------+
	// |     Group Selection      |     Rule Condition      |       Description       |
	// +==========================+=========================+=========================+
	// | This group               |                         | User must belong to the |
	// |                          |                         | specified group.        |
	// |                          | {"user.groups":{"$eq":" |                         |
	// |                          | Admin"}}                |                         |
	// |                          |                         |                         |
	// |                          |                         |                         |
	// +--------------------------+-------------------------+-------------------------+
	// | ANY of these groups      |                         | User must belong to at  |
	// |                          |                         | least one of the        |
	// |                          | {"user.groups":{"$in":[ | specified groups.       |
	// |                          | "Admin", "Eng",         |                         |
	// |                          | "Sales"]}}              |                         |
	// |                          |                         |                         |
	// |                          |                         |                         |
	// +--------------------------+-------------------------+-------------------------+
	// | ALL of these groups      |                         | User must belong to all |
	// |                          |                         | the specified groups.   |
	// |                          | {"user.groups":{"$all": |                         |
	// |                          | ["Admin", "Eng",        |                         |
	// |                          | "Sales"]}}              |                         |
	// |                          |                         |                         |
	// |                          |                         |                         |
	// +--------------------------+-------------------------+-------------------------+
	// | Group CONTAINS this      |                         | User's group must       |
	// | keyword                  |                         | contain the specified   |
	// |                          | {"user.groups":{"$conta | keyword.                |
	// |                          | ins":{"$in":["Admin"]}} |                         |
	// |                          | }                       |                         |
	// |                          |                         |                         |
	// |                          |                         |                         |
	// +--------------------------+-------------------------+-------------------------+
	// | Group CONTAINS ANY of    |                         | User's group must       |
	// | these keywords           |                         | contain at least one of |
	// |                          | {"user.groups":{"$conta | the specified keywords. |
	// |                          | ins":{"$in":["Admin",   |                         |
	// |                          | "Eng", "Sales"]}}}      |                         |
	// |                          |                         |                         |
	// |                          |                         |                         |
	// +--------------------------+-------------------------+-------------------------+
	// | Group CONTAINS ALL of    |                         | User's group must       |
	// | these keywords           |                         | contain all the         |
	// |                          | {"user.groups":{"$conta | specified keywords.     |
	// |                          | ins":{"$all":["Admin",  |                         |
	// |                          | "Eng", "Sales"]}}}      |                         |
	// |                          |                         |                         |
	// |                          |                         |                         |
	// +--------------------------+-------------------------+-------------------------+
	//
	Condition *string `json:"condition"`
	// Unique name assigned to the rule.
	Name *string `json:"name"`
	// Specifies the role and the organizational units to be assigned to the user subject to the rule criteria.
	Provision *RuleProvision `json:"provision"`
	// The Clumio-assigned ID of the rule.
	RuleId *string `json:"rule_id"`
}

ReadAutoUserProvisioningRuleResponse represents a custom type struct for Success

type ReadAutoUserProvisioningSettingResponse added in v0.3.0

type ReadAutoUserProvisioningSettingResponse struct {
	// URLs to pages related to the resource.
	Links *AutoUserProvisioningSettingLinks `json:"_links"`
	// Whether auto user provisioning is enabled or not.
	IsEnabled *bool `json:"is_enabled"`
}

ReadAutoUserProvisioningSettingResponse represents a custom type struct for Success

type ReadAwsTagResponse

type ReadAwsTagResponse struct {
	// Embedded responses related to the resource.
	Embedded *AwsTagEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *AwsTagLinks `json:"_links"`
	// The Clumio-assigned ID of the AWS tag.
	Id *string `json:"id"`
	// The AWS-assigned tag key.
	Key *string `json:"key"`
	// The Clumio-assigned ID of the AWS key.
	KeyId *string `json:"key_id"`
	// The Clumio-assigned ID of the organizational unit associated with the tag.
	OrganizationalUnitId *string `json:"organizational_unit_id"`
	// The protection policy applied to this resource. If the resource is not protected, then this field has a value of `null`.
	ProtectionInfo *ProtectionInfo `json:"protection_info"`
	// The protection status of the EBS volume. Possible values include "protected" and "unprotected".
	ProtectionStatus *string `json:"protection_status"`
	// The AWS-assigned tag value.
	Value *string `json:"value"`
}

ReadAwsTagResponse represents a custom type struct for Success

type ReadBucketResponse added in v0.1.2

type ReadBucketResponse struct {
	// Embedded responses related to the resource.
	Embedded interface{} `json:"_embedded"`
	// The ETag value.
	Etag *string `json:"_etag"`
	// URLs to pages related to the resource.
	Links *BucketLinks `json:"_links"`
	// The AWS-assigned ID of the account associated with the S3 bucket.
	AccountNativeId *string `json:"account_native_id"`
	// The AWS region associated with the S3 bucket.
	AwsRegion *string `json:"aws_region"`
	// The total size breakdown of S3 buckets in bytes per storage class. This parameter aggregates relevant fields from cloudwatch_metrics > size_bytes_per_storage_class
	BucketSizeBytesBreakdown *S3BucketsInventorySummaryBucketSizeBreakdown `json:"bucket_size_bytes_breakdown"`
	// The Cloudwatch metrics of the bucket.
	CloudwatchMetrics *S3CloudwatchMetrics `json:"cloudwatch_metrics"`
	// The timestamp of when the bucket was created. Represented in RFC-3339 format.
	CreationTimestamp *string `json:"creation_timestamp"`
	// The AWS encryption output of the bucket.
	EncryptionSetting *S3EncryptionOutput `json:"encryption_setting"`
	// The Clumio-assigned ID of the AWS environment associated with the S3 bucket.
	EnvironmentId *string `json:"environment_id"`
	// The EventBridge enablement state for the S3 bucket.
	EventBridgeEnabled *bool `json:"event_bridge_enabled"`
	// The Clumio-assigned ID of the bucket.
	Id *string `json:"id"`
	// The Encryption enablement state for the S3 bucket.
	IsEncryptionEnabled *bool `json:"is_encryption_enabled"`
	// The Replication enablement state for the S3 bucket.
	IsReplicationEnabled *bool `json:"is_replication_enabled"`
	// The Versioning enablement state for the S3 bucket.
	IsVersioningEnabled *bool `json:"is_versioning_enabled"`
	// Time of the last backup in RFC-3339 format.
	LastBackupTimestamp *string `json:"last_backup_timestamp"`
	// Time of the last continuous backup in RFC-3339 format.
	LastContinuousBackupTimestamp *string `json:"last_continuous_backup_timestamp"`
	// The AWS-assigned name of the bucket.
	Name *string `json:"name"`
	// Number of objects in bucket.
	ObjectCount *int64 `json:"object_count"`
	// The Clumio-assigned ID of the organizational unit associated with the S3 bucket.
	OrganizationalUnitId *string `json:"organizational_unit_id"`
	// Protection group count reflects how many protection groups are linked to this
	// bucket.
	ProtectionGroupCount *int64 `json:"protection_group_count"`
	// The AWS replication output of the bucket.
	ReplicationSetting *S3ReplicationOutput `json:"replication_setting"`
	// Size of bucket in bytes.
	SizeBytes *int64 `json:"size_bytes"`
	// A tag created through AWS console which can be applied to EBS volumes.
	Tags []*AwsTagModel `json:"tags"`
	// The AWS versioning output of the bucket.
	VersioningSetting *S3VersioningOutput `json:"versioning_setting"`
}

ReadBucketResponse represents a custom type struct for Success

type ReadComputeResourceResponse

type ReadComputeResourceResponse struct {
	// Embedded responses related to the resource.
	Embedded *ComputeResourceEmbedded `json:"_embedded"`
	// The ETag value.
	Etag *string `json:"_etag"`
	// URLs to pages related to the resource.
	Links *ComputeResourceLinks `json:"_links"`
	// The compute resource folder in which the compute resource resides.
	ComputeResourceFolder *VMwareVCenterComputeResourceFolderModel `json:"compute_resource_folder"`
	// The data center associated with this compute resource.
	Datacenter *VMwareVCenterComputeResourceDatacenterModel `json:"datacenter"`
	// The VMware-assigned Managed Object Reference (MoRef) ID of the compute resource.
	Id *string `json:"id"`
	// Determines whether the compute resource is a cluster. If `true`, then the compute resource is a cluster.
	IsCluster *bool `json:"is_cluster"`
	// Determines whether the compute resource has Distributed Resource Scheduler (DRS) enabled. If this field and `"is_cluster":true`, then DRS is enabled in the compute resource cluster.
	IsDrsEnabled *bool `json:"is_drs_enabled"`
	// The VMware-assigned name of the compute resource.
	Name *string `json:"name"`
	// The Clumio-assigned ID of the organizational unit associated with the compute resource.
	OrganizationalUnitId *string `json:"organizational_unit_id"`
	// The protection policy applied to this resource. If the resource is not protected, then this field has a value of `null`.
	ProtectionInfo *ProtectionInfo `json:"protection_info"`
	// The protection status of this compute resource. Refer to the Protection Status table for a complete list of protection statuses.
	ProtectionStatus *string `json:"protection_status"`
}

ReadComputeResourceResponse represents a custom type struct for Success

type ReadConsolidatedAlertResponse

type ReadConsolidatedAlertResponse struct {
	// The ETag value.
	Etag *string `json:"_etag"`
	// URLs to pages related to the resource.
	Links *ConsolidatedAlertLinks `json:"_links"`
	// The number of currently active individual alerts associated with the consolidated alert.
	ActiveEntityCount *int64 `json:"active_entity_count"`
	// The issue that generated the alert. Each alert cause is associated with an alert type.
	Cause *string `json:"cause"`
	// The number of cleared individual alerts associated with the consolidated alert.
	ClearedEntityCount *int64 `json:"cleared_entity_count"`
	// The timestamp of when the consolidated alert was cleared, if ever. Represented in RFC-3339 format. If this alert has not been cleared, this field will have a value of `null`.
	// A consolidated alert goes into "cleared" status when all of its associated individual alerts are in "cleared" status or when a Clumio user manually clears it.
	ClearedTimestamp *string `json:"cleared_timestamp"`
	// Additional information about the consolidated alert.
	Details *ConsolidatedAlertDetails `json:"details"`
	// The Clumio-assigned ID of the consolidated alert.
	Id *string `json:"id"`
	// A record of user-provided information about the alert.
	Notes *string `json:"notes"`
	// The entity associated with or affected by the alert.
	ParentEntity *ConsolidatedAlertParentEntity `json:"parent_entity"`
	// The timestamp of when the consolidated alert was initially raised. Represented in RFC-3339 format.
	RaisedTimestamp *string `json:"raised_timestamp"`
	// The alert severity level. Values include "error" and "warning".
	Severity *string `json:"severity"`
	// The consolidated alert status. A consolidated alert is in "active" status if one or more of its associated individual alerts is in "active" status.
	// A consolidated alert goes into "cleared" status when all of its associated individual alerts are in "cleared" status or when a Clumio user manually clears it.
	Status *string `json:"status"`
	// The general alert category. An alert type may be associated with multiple alert causes. Examples of alert types include "tag_conflict" and "policy_violated".
	// Refer to the Alert Type table for a complete list of alert types.
	ClumioType *string `json:"type"`
	// The timestamp of when the consolidated alert was last updated. Represented in RFC-3339 format.
	// Raising a new individual alert will update its associated consolidated alert.
	UpdatedTimestamp *string `json:"updated_timestamp"`
}

ReadConsolidatedAlertResponse represents a custom type struct for Success

type ReadDatacenterResponse

type ReadDatacenterResponse struct {
	// Embedded responses related to the resource.
	Embedded *DatacenterEmbedded `json:"_embedded"`
	// The ETag value.
	Etag *string `json:"_etag"`
	// URLs to pages related to the resource.
	Links *DatacenterLinks `json:"_links"`
	// TODO: Add struct field description
	AncestorRefs []*AncestorRefModel `json:"ancestor_refs"`
	// The data center folder in which the data center resides.
	DatacenterFolder *VMwareDatacenterFolderIDModel `json:"datacenter_folder"`
	// Determines whether compute resources exist directly under the hidden root compute resource folder. If `true`, then compute resources exist directly under the root compute resource folder.
	HasComputeResources *bool `json:"has_compute_resources"`
	// Determines whether VMs exist directly under the hidden root VM folder. If `true`, then VMs exist directly under the root VM folder.
	HasVmFolders *bool `json:"has_vm_folders"`
	// The VMware-assigned Managed Object Reference (MoRef) ID of the data center.
	Id *string `json:"id"`
	// The VMware-assigned name of this data center.
	Name *string `json:"name"`
	// The Clumio-assigned ID of the organizational unit associated with the datacenter.
	OrganizationalUnitId *string `json:"organizational_unit_id"`
	// The protection policy applied to this resource. If the resource is not protected, then this field has a value of `null`.
	ProtectionInfo *ProtectionInfo `json:"protection_info"`
	// The protection status of this data center. Refer to the Protection Status table for a complete list of protection statuses.
	ProtectionStatus *string `json:"protection_status"`
	// The hidden root compute resource folder of the data center.
	RootComputeResourceFolder *VMwareRootComputeResourceFolderIDModel `json:"root_compute_resource_folder"`
	// The hidden root virtual machine folder of the data center.
	RootVmFolder *VMwareRootVMFolderIDModel `json:"root_vm_folder"`
}

ReadDatacenterResponse represents a custom type struct for Success

type ReadDirectoryResponse

type ReadDirectoryResponse struct {
	// Embedded responses related to the resource.
	Embedded *DirectoryBrowseEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *DirectoryBrowseLinks `json:"_links"`
	// The number of items listed on the current page.
	CurrentCount *int64 `json:"current_count"`
	// The maximum number of items displayed per page in the response.
	Limit *int64 `json:"limit"`
	// The page token used to get this response.
	Start *string `json:"start"`
}

ReadDirectoryResponse represents a custom type struct for Success

type ReadDynamoDBTableBackupResponse added in v0.5.0

type ReadDynamoDBTableBackupResponse struct {
	// The ETag value.
	Etag *string `json:"_etag"`
	// URLs to pages related to the resource.
	Links *DynamoDBTableBackupLinks `json:"_links"`
	// The AWS-assigned ID of the account associated with this database at the time of backup.
	AccountNativeId *string `json:"account_native_id"`
	// The AWS region associated with this environment.
	AwsRegion *string `json:"aws_region"`
	// The billing mode of the DynamoDB table. Possible values are PROVISIONED or PAY_PER_REQUEST.
	// For [POST /restores/aws/dynamodb](#operation/restore-aws-dynamodb-table), this is defaulted to the
	// configuration of source table if both 'billing_mode' and 'provisioned_throughput' are empty or `null`.
	BillingMode *string `json:"billing_mode"`
	// The timestamp of when this backup expires. Represented in RFC-3339 format.
	ExpirationTimestamp *string `json:"expiration_timestamp"`
	// Represents the properties of a global secondary index.
	GlobalSecondaryIndexes []*GlobalSecondaryIndex `json:"global_secondary_indexes"`
	// Describes the version of global tables in use, if the table is replicated across AWS Regions. If the table
	// is not a global table, then this field has a value of `null`. Possible values are 2017.11.29 or 2019.11.21.
	// For [POST /restores/aws/dynamodb](#operation/restore-aws-dynamodb-table), the version is defaulted to 2019.11.21.
	GlobalTableVersion *string `json:"global_table_version"`
	// The Clumio-assigned ID of the backup.
	Id *string `json:"id"`
	// The number of items in DynamoDB table backup.
	ItemCount *int64 `json:"item_count"`
	// Represents the properties of a local secondary index.
	LocalSecondaryIndexes []*LocalSecondaryIndex `json:"local_secondary_indexes"`
	// Represents the provisioned throughput settings for a DynamoDB table.
	ProvisionedThroughput *ProvisionedThroughput `json:"provisioned_throughput"`
	// Contains the details of the replica.
	Replicas []*ReplicaDescription `json:"replicas"`
	// The size of the DynamoDB table backup in bytes.
	Size *int64 `json:"size"`
	// Represents the server-side encryption settings for a table.
	SseSpecification *SSESpecification `json:"sse_specification"`
	// The timestamp of when this backup started. Represented in RFC-3339 format.
	StartTimestamp *string `json:"start_timestamp"`
	// The table class of the DynamoDB table. Possible values are STANDARD or STANDARD_INFREQUENT_ACCESS.
	// For [POST /restores/aws/dynamodb](#operation/restore-aws-dynamodb-table), this is defaulted to the
	// STANDARD storage class if empty.
	TableClass *string `json:"table_class"`
	// The Clumio-assigned ID of the DynamoDB table.
	TableId *string `json:"table_id"`
	// The name of the DynamoDB table.
	TableName *string `json:"table_name"`
	// A tag created through AWS Console which can be applied to EBS volumes.
	Tags []*AwsTagCommonModel `json:"tags"`
	// The type of backup. Possible values include `clumio_backup` and `aws_snapshot`.
	ClumioType *string `json:"type"`
}

ReadDynamoDBTableBackupResponse represents a custom type struct for Success

type ReadDynamoDBTableResponse added in v0.6.0

type ReadDynamoDBTableResponse struct {
	// Embedded responses related to the resource.
	Embedded *DynamoDBTableEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *DynamoDBTableLinks `json:"_links"`
	// The AWS-assigned ID of the account associated with the DynamoDB table.
	AccountNativeId *string `json:"account_native_id"`
	// The AWS region associated with the DynamoDB table.
	AwsRegion *string `json:"aws_region"`
	// The billing mode of the DynamoDB table. Possible values are PROVISIONED or PAY_PER_REQUEST.
	// For [POST /restores/aws/dynamodb](#operation/restore-aws-dynamodb-table), this is defaulted to the
	// configuration of source table if both 'billing_mode' and 'provisioned_throughput' are empty or `null`.
	BillingMode *string `json:"billing_mode"`
	// The compliance status of the protected DynamoDB table. Possible values include
	// "compliant" and "noncompliant". If the table is not protected, then this field has
	// a value of `null`.
	ComplianceStatus *string `json:"compliance_status"`
	// The timestamp of when the table was deleted. Represented in RFC-3339 format.
	// If this table has not been deleted, then this field has a value of `null`.
	DeletionTimestamp *string `json:"deletion_timestamp"`
	// The Clumio-assigned ID of the policy directly assigned to the entity.
	DirectAssignmentPolicyId *string `json:"direct_assignment_policy_id"`
	// The earliest continuous snapshot restorable time of the DynamoDB table for Point-in-time restore.
	// Represented in RFC-3339 format. If PITR is not enabled for the table, then this field has a value of `null`.
	EarliestContinuousSnapshotRestorableTimestamp *string `json:"earliest_continuous_snapshot_restorable_timestamp"`
	// The Clumio-assigned ID of the AWS environment associated with the DynamoDB table.
	EnvironmentId *string `json:"environment_id"`
	// Represents the properties of a global secondary index.
	GlobalSecondaryIndexes []*GlobalSecondaryIndex `json:"global_secondary_indexes"`
	// Describes the version of global tables in use, if the table is replicated across AWS Regions. If the table
	// is not a global table, then this field has a value of `null`. Possible values are 2017.11.29 or 2019.11.21.
	// For [POST /restores/aws/dynamodb](#operation/restore-aws-dynamodb-table), the version is defaulted to 2019.11.21.
	GlobalTableVersion *string `json:"global_table_version"`
	// Determines whether the table has a direct assignment.
	HasDirectAssignment *bool `json:"has_direct_assignment"`
	// The Clumio-assigned ID of the DynamoDB table.
	Id *string `json:"id"`
	// Determines whether the DynamoDB table has been deleted. If `true`, the table has been deleted.
	IsDeleted *bool `json:"is_deleted"`
	// Determines whether the DynamoDB table is supported for backups.
	IsSupported *bool `json:"is_supported"`
	// The number of items in the DynamoDB table.
	ItemCount *int64 `json:"item_count"`
	// The timestamp of the most recent snapshot of the DynamoDB table taken as part of
	// AwsSnapMgr. Represented in RFC-3339 format. If the table has never been
	// snapshotted, then this field has a value of `null`.
	LastSnapshotTimestamp *string `json:"last_snapshot_timestamp"`
	// The latest continuous snapshot restorable time of the DynamoDB table for Point-in-time restore.
	// Represented in RFC-3339 format. If PITR is not enabled for the table, then this field has a value of `null`.
	LatestContinuousSnapshotRestorableTimestamp *string `json:"latest_continuous_snapshot_restorable_timestamp"`
	// Represents the properties of a local secondary index.
	LocalSecondaryIndexes []*LocalSecondaryIndex `json:"local_secondary_indexes"`
	// The AWS-assigned name of the DynamoDB table.
	Name *string `json:"name"`
	// The Clumio-assigned ID of the organizational unit associated with the DynamoDB table.
	OrganizationalUnitId *string `json:"organizational_unit_id"`
	// The protection policy applied to this resource. If the resource is not protected, then this field has a value of `null`.
	ProtectionInfo *ProtectionInfoWithRule `json:"protection_info"`
	// The protection status of the DynamoDB table. Possible values include "protected",
	// "unprotected", and "unsupported". If the DynamoDB table does not support backups, then
	// this field has a value of `unsupported`.
	ProtectionStatus *string `json:"protection_status"`
	// Represents the provisioned throughput settings for a DynamoDB table.
	ProvisionedThroughput *ProvisionedThroughput `json:"provisioned_throughput"`
	// Contains the details of the replica.
	Replicas []*ReplicaDescription `json:"replicas"`
	// The size of the DynamoDB table. Measured in bytes (B).
	Size *int64 `json:"size"`
	// Represents the server-side encryption settings for a table.
	SseSpecification *SSESpecification `json:"sse_specification"`
	// The AWS-assigned ARN of the DynamoDB table.
	TableArn *string `json:"table_arn"`
	// The table class of the DynamoDB table. Possible values are STANDARD or STANDARD_INFREQUENT_ACCESS.
	// For [POST /restores/aws/dynamodb](#operation/restore-aws-dynamodb-table), this is defaulted to the
	// STANDARD storage class if empty.
	TableClass *string `json:"table_class"`
	// Represents the DynamoDB table keys.
	TableKeys *DynamoDBKeys `json:"table_keys"`
	// The AWS-assigned ID of the DynamoDB table.
	TableNativeId *string `json:"table_native_id"`
	// The current state of the table.
	TableStatus *string `json:"table_status"`
	// A tag created through AWS console which can be applied to EBS volumes.
	Tags []*AwsTagModel `json:"tags"`
	// The reason why protection is not available. If the table is supported,
	// then this field has a value of `null`.
	UnsupportedReason *string `json:"unsupported_reason"`
}

ReadDynamoDBTableResponse represents a custom type struct for Success

type ReadEBSBackupResponse added in v0.8.0

type ReadEBSBackupResponse struct {
	// URLs to pages related to the resource.
	Links *EBSBackupLinks `json:"_links"`
	// The AWS-assigned ID of the account associated with the backup.
	AccountNativeId *string `json:"account_native_id"`
	// The availability zone associated with the volume backup. For example, `us-west-2a`.
	AwsAz *string `json:"aws_az"`
	// The AWS region in which the volume backup resides. For example, `us-west-2`.
	AwsRegion *string `json:"aws_region"`
	// Backup Tier
	BackupTier *string `json:"backup_tier"`
	// The reason that browsing is unavailable for the backup. Possible values include "file_limit_exceeded" and
	// "browsing_unavailable". If browse indexing is successful, then this field has a value of `null`.
	BrowsingFailedReason *string `json:"browsing_failed_reason"`
	// The timestamp of when this backup expires. Represented in RFC-3339 format.
	ExpirationTimestamp *string `json:"expiration_timestamp"`
	// The Clumio-assigned ID of the volume backup.
	Id *string `json:"id"`
	// Iops of the volume.
	Iops *int64 `json:"iops"`
	// Determines whether browsing is available for the backup. If `true`, then browsing is available for the backup.
	IsBrowsable *bool `json:"is_browsable"`
	// Determines whether the EBS volume backup is encrypted. If `true`, the volume backup is encrypted.
	IsEncrypted *bool `json:"is_encrypted"`
	// The AWS-assigned ID of the KMS key encrypting this EBS volume backup. If the volume is not encrypted, this field has a value of `null`.
	KmsKeyNativeId *string `json:"kms_key_native_id"`
	// The timestamp of when the migration was triggered. This field will be set only for
	// migration backups. Represented in RFC-3339 format.
	MigrationTimestamp *string `json:"migration_timestamp"`
	// The size of the volume backup. Measured in gigabytes (GB).
	Size *int64 `json:"size"`
	// The timestamp of when this backup started. Represented in RFC-3339 format.
	StartTimestamp *string `json:"start_timestamp"`
	// A tag created through AWS Console which can be applied to EBS volumes.
	Tags []*AwsTagCommonModel `json:"tags"`
	// The type of the backup. Possible values - `clumio_backup`, `aws_snapshot`.
	ClumioType *string `json:"type"`
	// Utilized size
	UtilizedSizeInBytes *uint64 `json:"utilized_size_in_bytes"`
	// The Clumio-assigned ID of the EBS volume associated with the volume backup.
	VolumeId *string `json:"volume_id"`
	// The AWS-assigned ID of the EBS volume associated with the volume backup.
	VolumeNativeId *string `json:"volume_native_id"`
	// The volume type of the original EBS volume before backup. Possible values include `gp2`, `io1`, `st1`, `sc1`, `standard`.
	VolumeType *string `json:"volume_type"`
}

ReadEBSBackupResponse represents a custom type struct for Success

type ReadEBSBackupResponseV1

type ReadEBSBackupResponseV1 struct {
	// URLs to pages related to the resource.
	Links *EBSBackupLinksV1 `json:"_links"`
	// The AWS-assigned ID of the account associated with the backup.
	AccountNativeId *string `json:"account_native_id"`
	// The availability zone associated with the volume backup. For example, `us-west-2a`.
	AwsAz *string `json:"aws_az"`
	// The AWS region in which the volume backup resides. For example, `us-west-2`.
	AwsRegion *string `json:"aws_region"`
	// The reason that browsing is unavailable for the backup. Possible values include "file_limit_exceeded" and
	// "browsing_unavailable". If browse indexing is successful, then this field has a value of `null`.
	BrowsingFailedReason *string `json:"browsing_failed_reason"`
	// The timestamp of when this backup expires. Represented in RFC-3339 format.
	ExpirationTimestamp *string `json:"expiration_timestamp"`
	// The Clumio-assigned ID of the volume backup.
	Id *string `json:"id"`
	// Determines whether browsing is available for the backup. If `true`, then browsing is available for the backup.
	IsBrowsable *bool `json:"is_browsable"`
	// Determines whether the EBS volume backup is encrypted. If `true`, the volume backup is encrypted.
	IsEncrypted *bool `json:"is_encrypted"`
	// The AWS-assigned ID of the KMS key encrypting this EBS volume backup. If the volume is not encrypted, this field has a value of `null`.
	KmsKeyNativeId *string `json:"kms_key_native_id"`
	// The size of the volume backup. Measured in gigabytes (GB).
	Size *int64 `json:"size"`
	// The timestamp of when this backup started. Represented in RFC-3339 format.
	StartTimestamp *string `json:"start_timestamp"`
	// A tag created through AWS Console which can be applied to EBS volumes.
	Tags []*AwsTagCommonModel `json:"tags"`
	// The volume type of the original EBS volume before backup. Possible values include `gp2`, `io1`, `st1`, `sc1`, `standard`.
	ClumioType *string `json:"type"`
	// The Clumio-assigned ID of the EBS volume associated with the volume backup.
	VolumeId *string `json:"volume_id"`
	// The AWS-assigned ID of the EBS volume associated with the volume backup.
	VolumeNativeId *string `json:"volume_native_id"`
}

ReadEBSBackupResponseV1 represents a custom type struct for Success

type ReadEC2BackupResponse added in v0.9.0

type ReadEC2BackupResponse struct {
	// URLs to pages related to the resource.
	Links *EC2BackupLinks `json:"_links"`
	// The AWS-assigned ID of the account associated with the backup.
	AccountNativeId *string `json:"account_native_id"`
	// An Amazon Machine Image is a supported and maintained image provided by AWS
	// that provides the information required to launch an instance.
	Ami *AmiModel `json:"ami"`
	// TODO: Add struct field description
	AttachedBackupEbsVolumes []*AttachedEBSVolumeFullModel `json:"attached_backup_ebs_volumes"`
	// The availability zone of the instance.
	AwsAz *string `json:"aws_az"`
	// The AWS region in which the instance backup resides. For example, `us-west-2`.
	AwsRegion *string `json:"aws_region"`
	// An Amazon Machine Image is a supported and maintained image provided by AWS
	// that provides the information required to launch an instance.
	BackupAmi *AmiModel `json:"backup_ami"`
	// The tier to which the backup is tagged to.
	BackupTier *string `json:"backup_tier"`
	// The reason that browsing is unavailable for the backup.
	// If browse indexing is successful, then this field has a value of `null`.
	BrowsingFailedReason *string `json:"browsing_failed_reason"`
	// The timestamp of when this backup expires. Represented in RFC-3339 format.
	ExpirationTimestamp *string `json:"expiration_timestamp"`
	// Denotes an IAM instance profile. An instance profile is a container for an
	// IAM role that you can use to pass role information to an EC2 instance when
	// the instance starts.
	IamInstanceProfile *IamInstanceProfileModel `json:"iam_instance_profile"`
	// The Clumio-assigned ID of the instance backup.
	Id *string `json:"id"`
	// The Clumio-assigned ID of the EC2 instance associated with the instance backup.
	InstanceId *string `json:"instance_id"`
	// The AWS-assigned ID of the EC2 instance associated with the instance backup.
	InstanceNativeId *string `json:"instance_native_id"`
	// TODO: Add struct field description
	InstanceStoreBlockDeviceMappings []*InstanceStoreBlockDeviceMapping `json:"instance_store_block_device_mappings"`
	// The instance type of the original EC2 instance before backup. For example, `m5.large`.
	InstanceType *string `json:"instance_type"`
	// Determines whether browsing is available for the backup. If `true`, then browsing is available for the backup.
	IsBrowsable *bool `json:"is_browsable"`
	// The name of the key pair associated with this instance. If this instance was not launched with an associated key pair, then this field has a value of `null`.
	KeyPairName *string `json:"key_pair_name"`
	// The ID of the key pair associated with this instance. If this instance was not launched with an associated key pair, then this field has a value of `null`.
	KeyPairNativeId *string `json:"key_pair_native_id"`
	// The timestamp of when the migration was triggered. This field will be set only for
	// migration backups. Represented in RFC-3339 format.
	MigrationTimestamp *string `json:"migration_timestamp"`
	// TODO: Add struct field description
	NetworkInterfaces []*NetworkInterface `json:"network_interfaces"`
	// The public IP v4 address of the instance if one was assigned.
	PublicIpAddress *string `json:"public_ip_address"`
	// The size of the instance backup. This is the sum of all the EBS volumes attached to the EC2 measured in gigabytes (GB).
	Size *int64 `json:"size"`
	// The timestamp of when this backup started. Represented in RFC-3339 format.
	StartTimestamp *string `json:"start_timestamp"`
	// The AWS-assigned Subnet ID of the EC2 instance.
	SubnetNativeId *string `json:"subnet_native_id"`
	// A tag created through AWS Console which can be applied to EBS volumes.
	Tags []*AwsTagCommonModel `json:"tags"`
	// The type of the backup.
	ClumioType *string `json:"type"`
	// The total number of bytes written in all the disks of the EC2 instance.
	UtilizedSizeInBytes *uint64 `json:"utilized_size_in_bytes"`
	// The AWS-assigned ID of the VPC associated with the EC2 instance.
	VpcNativeId *string `json:"vpc_native_id"`
}

ReadEC2BackupResponse represents a custom type struct for Success

type ReadEC2MSSQLDatabaseBackupResponse added in v0.6.0

type ReadEC2MSSQLDatabaseBackupResponse struct {
	// Embedded responses related to the resource.
	Embedded *EC2MSSQLDatabaseBackupEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *EC2MSSQLDatabaseBackupLinks `json:"_links"`
	// TODO: Add struct field description
	DatabaseFiles []*MssqlDatabaseFile `json:"database_files"`
	// The Clumio-assigned ID of the database associated with this backup.
	DatabaseId *string `json:"database_id"`
	// The Microsoft SQL database engine at the time of backup.
	Engine *string `json:"engine"`
	// The Microsoft SQL database engine version at the time of backup.
	EngineVersion *string `json:"engine_version"`
	// The Clumio-assigned ID of the AWS environment associated with the database at the time of backup.
	EnvironmentId *string `json:"environment_id"`
	// The timestamp of when this backup expires. Represented in RFC-3339 format.
	ExpirationTimestamp *string `json:"expiration_timestamp"`
	// The user-provided endpoint of the host containing the given database at the time of backup.
	HostEndpoint *string `json:"host_endpoint"`
	// The Clumio-assigned ID of the host associated with the database at the time of backup.
	HostId *string `json:"host_id"`
	// The Clumio-assigned ID of the backup.
	Id *string `json:"id"`
	// The Clumio-assigned instance id at the time of backup.
	InstanceId *string `json:"instance_id"`
	// The instance name at the time of backup.
	InstanceName *string `json:"instance_name"`
	// The timestamp of when this backup started. Represented in RFC-3339 format.
	StartTimestamp *string `json:"start_timestamp"`
	// The type of backup.
	ClumioType *string `json:"type"`
}

ReadEC2MSSQLDatabaseBackupResponse represents a custom type struct for Success

type ReadEC2MSSQLDatabaseResponse added in v0.10.0

type ReadEC2MSSQLDatabaseResponse struct {
	// Embedded responses related to the resource.
	Embedded *EC2MSSQLDatabaseEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *EC2MSSQLDatabaseLinks `json:"_links"`
	// The AWS-assigned ID of the account associated with the EC2 instance the database resides in.
	AccountNativeId *string `json:"account_native_id"`
	// The Clumio-assigned ID of the availability group. It is null in case of a standalone database.
	AvailabilityGroupId *string `json:"availability_group_id"`
	// The Microsoft SQL assigned name of the availability group. It is null in case of a standalone database.
	AvailabilityGroupName *string `json:"availability_group_name"`
	// The AWS region associated with the EC2 instance the database resides in.
	AwsRegion *string `json:"aws_region"`
	// The policy compliance status of the resource. If the database is not protected,
	// then this field has a value of `null`. Refer to
	//
	// the Compliance Status table
	//
	// for a complete list of compliance statuses.
	ComplianceStatus *string `json:"compliance_status"`
	// The Clumio-assigned ID of the AWS environment associated with the EC2 MSSQL database.
	EnvironmentId *string `json:"environment_id"`
	// The Clumio-assigned ID of the failover cluster.
	FailoverClusterId *string `json:"failover_cluster_id"`
	// The Microsoft SQL assigned name of the Failover Cluster
	FailoverClusterName *string `json:"failover_cluster_name"`
	// Failovercluster Protection Status is used to indicate the fci protection status associated with the
	// fci database
	FailoverClusterProtectionStatus *string `json:"failover_cluster_protection_status"`
	// The Clumio-assigned ID of the host connection containing the given database.
	HostConnectionId *string `json:"host_connection_id"`
	// The user-provided endpoint of the host containing the given database.
	HostEndpoint *string `json:"host_endpoint"`
	// The Clumio-assigned ID of the host containing the given database.
	HostId *string `json:"host_id"`
	// The Clumio-assigned ID of the Database.
	Id *string `json:"id"`
	// The Clumio-assigned ID of the instance containing the given database.
	InstanceId *string `json:"instance_id"`
	// The name of the Microsoft SQL instance containing the given database.
	InstanceName *string `json:"instance_name"`
	// is_supported is true if Clumio supports backup of the database.
	IsSupported *bool `json:"is_supported"`
	// The timestamp of the last time this database was full backed up.
	// Represented in RFC-3339 format. If this database has never been backed up,
	// this field has a value of `null`.
	LastBackupTimestamp *string `json:"last_backup_timestamp"`
	// The timestamp of the last time this database was log backed up in Bulk Recovery Model.
	// Represented in RFC-3339 format. If this database has never been backed up,
	// this field has a value of `null`.
	LastBulkRecoveryModelLogBackupTimestamp *string `json:"last_bulk_recovery_model_log_backup_timestamp"`
	// The timestamp of the last time this database was log backed up in Full Recovery Model.
	// Represented in RFC-3339 format. If this database has never been backed up,
	// this field has a value of `null`.
	LastFullRecoveryModelLogBackupTimestamp *string `json:"last_full_recovery_model_log_backup_timestamp"`
	// The name of the Database.
	Name *string `json:"name"`
	// The Clumio-assigned ID of the organizational unit associated with the database.
	OrganizationalUnitId *string `json:"organizational_unit_id"`
	// The protection policy applied to this resource. If the resource is not protected, then this field has a value of `null`.
	ProtectionInfo *ProtectionInfo `json:"protection_info"`
	// recovery_model is the recovery model of the database. Possible values include 'simple_recovery_model',
	// 'bulk_recovery_model', and 'full_recovery_model'.
	RecoveryModel *string `json:"recovery_model"`
	// The size of the Database.
	Size *float64 `json:"size"`
	// The status of the database, Possible values include 'active' and 'inactive'.
	Status *string `json:"status"`
	// The type of the database. Possible values include 'availability_group_database' and 'standalone_database'.
	ClumioType *string `json:"type"`
	// unsupported_reason is the reason why Clumio doesn't support backup of such database,
	// possible values include 'filestream_enabled_database'.
	UnsupportedReason *string `json:"unsupported_reason"`
}

ReadEC2MSSQLDatabaseResponse represents a custom type struct for Success

type ReadEC2MSSQLFCIResponse added in v0.10.0

type ReadEC2MSSQLFCIResponse struct {
	// Embedded responses related to the resource.
	Embedded *EC2MSSQLFCIEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *EC2MSSQLFCILinks `json:"_links"`
	// ComplianceStatus of the resource
	ComplianceStatus *string `json:"compliance_status"`
	// The Clumio-assigned ID of the failover cluster.
	Id *string `json:"id"`
	// The Microsoft SQL-assigned name of the failover cluster.
	Name *string `json:"name"`
	// The Clumio-assigned ID of the organizational unit associated with the FCI.
	OrganizationalUnitId *string `json:"organizational_unit_id"`
	// The protection policy applied to this resource. If the resource is not protected, then this field has a value of `null`.
	ProtectionInfo *ProtectionInfo `json:"protection_info"`
	// ProtectionStatus of the FCI
	ProtectionStatus *string `json:"protection_status"`
	// The status of the FCI, Possible values include 'active' and 'inactive'.
	Status *string `json:"status"`
}

ReadEC2MSSQLFCIResponse represents a custom type struct for Success

type ReadEC2MSSQLInstanceResponse added in v0.10.0

type ReadEC2MSSQLInstanceResponse struct {
	// Embedded responses related to the resource.
	Embedded *EC2MSSQLInstanceEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *EC2MSSQLInstanceLinks `json:"_links"`
	// The AWS-assigned ID of the account associated with the EC2 instance of the MSSQL instance.
	AccountNativeId *string `json:"account_native_id"`
	// The AWS region associated with the EC2 instance of the MSSQL instance.
	AwsRegion *string `json:"aws_region"`
	// The Clumio-assigned ID of the AWS environment associated with the EC2 MSSQL instance.
	EnvironmentId *string `json:"environment_id"`
	// The boolean value represents if availability group is present in the instance.
	HasAssociatedAvailabilityGroup *bool `json:"has_associated_availability_group"`
	// The Clumio-assigned ID of the host connection containing the given mssql instance.
	HostConnectionId *string `json:"host_connection_id"`
	// The user-provided endpoint of the host containing the given database.
	HostEndpoint *string `json:"host_endpoint"`
	// The Clumio-assigned ID of the host, containing the instance.
	HostId *string `json:"host_id"`
	// The Clumio-assigned ID of the Instance.
	Id *string `json:"id"`
	// The Microsoft SQL assigned name of the instance.
	Name *string `json:"name"`
	// The Clumio-assigned ID of the organizational unit associated with the instance.
	OrganizationalUnitId *string `json:"organizational_unit_id"`
	// Product Version of the instance.
	ProductVersion *string `json:"product_version"`
	// The protection policy applied to this resource. If the resource is not protected, then this field has a value of `null`.
	ProtectionInfo *ProtectionInfo `json:"protection_info"`
	// The Microsoft SQL assigned server name of the instance.
	ServerName *string `json:"server_name"`
	// The status of the Instance, Possible values include 'active' and 'inactive'.
	Status *string `json:"status"`
}

ReadEC2MSSQLInstanceResponse represents a custom type struct for Success

type ReadEC2MSSQLInvHostResponse added in v0.10.0

type ReadEC2MSSQLInvHostResponse struct {
	// Embedded responses related to the resource.
	Embedded interface{} `json:"_embedded"`
	// EC2MSSQLInvHostLinks contains links related to ec2 mssql host
	// URLs to pages related to the resource.
	Links *EC2MSSQLInvHostLinks `json:"_links"`
	// The AWS-assigned ID of the account associated with the EC2 instance of the MSSQL host.
	AccountNativeId *string `json:"account_native_id"`
	// The AWS region associated with the EC2 instance of the MSSQL host.
	AwsRegion *string `json:"aws_region"`
	// The Clumio-assigned ID of the host connection.
	ConnectionId *string `json:"connection_id"`
	// The user-provided endpoint of the host containing the given database.
	Endpoint *string `json:"endpoint"`
	// The Clumio-assigned ID of the AWS environment associated with the EC2 MSSQL host.
	EnvironmentId *string `json:"environment_id"`
	// Determines whether or not an availability group is present in the host.
	HasAssociatedAvailabilityGroup *bool `json:"has_associated_availability_group"`
	// The Clumio-assigned ID of the Host.
	Id *string `json:"id"`
	// The number of instances present in the host.
	InstanceCount *int64 `json:"instance_count"`
	// IsPartOfFCI is a boolean field representing if the Host is part of Failover Cluster
	IsPartOfFci *bool `json:"is_part_of_fci"`
	// The Clumio-assigned ID of the organizational unit associated with the host.
	OrganizationalUnitId *string `json:"organizational_unit_id"`
	// The protection policy applied to this resource. If the resource is not protected, then this field has a value of `null`.
	ProtectionInfo *ProtectionInfo `json:"protection_info"`
	// The status of the Host, Possible values include 'active' and 'inactive'.
	Status *string `json:"status"`
}

ReadEC2MSSQLInvHostResponse represents a custom type struct for Success

type ReadEC2MssqlAGResponse added in v0.10.0

type ReadEC2MssqlAGResponse struct {
	// Embedded responses related to the resource.
	Embedded *EC2MSSQLAGEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *EC2MSSQLAGLinks `json:"_links"`
	// The Clumio-assigned ID of the availability group.
	Id *string `json:"id"`
	// The Microsoft SQL-assigned name of the availability group.
	Name *string `json:"name"`
	// The Clumio-assigned ID of the organizational unit associated with the availability group.
	OrganizationalUnitId *string `json:"organizational_unit_id"`
	// The protection policy applied to this resource. If the resource is not protected, then this field has a value of `null`.
	ProtectionInfo *ProtectionInfo `json:"protection_info"`
	// The status of the availability group, Possible values include 'active' and 'inactive'.
	Status *string `json:"status"`
}

ReadEC2MssqlAGResponse represents a custom type struct for Success

type ReadEbsTagComplianceStatsResponse

type ReadEbsTagComplianceStatsResponse struct {
	// The total number of compliant entities.
	CompliantCount *int64 `json:"compliant_count"`
	// The total number of entities associated with deactivated policies.
	DeactivatedCount *int64 `json:"deactivated_count"`
	// Determines whether one or more entities is currently seeding or waiting for seeding.
	// If set to `true`, at least one entity is currently seeding or waiting for seeding.
	HasSeedingEntities *bool `json:"has_seeding_entities"`
	// The total number of non-compliant entities.
	NonCompliantCount *int64 `json:"non_compliant_count"`
	// The number of entities with protection applied.
	ProtectedCount *int64 `json:"protected_count"`
	// The number of entities without protection applied.
	UnprotectedCount *int64 `json:"unprotected_count"`
}

ReadEbsTagComplianceStatsResponse represents a custom type struct for Success

type ReadEbsVolumeResponse

type ReadEbsVolumeResponse struct {
	// Embedded responses related to the resource.
	Embedded *EbsVolumeEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *EbsVolumeLinks `json:"_links"`
	// The AWS-assigned ID of the account associated with the EBS volume.
	AccountNativeId *string `json:"account_native_id"`
	// The AWS availability zone in which the EBS volume resides. For example,
	// `us-west-2a`.
	AwsAz *string `json:"aws_az"`
	// The AWS region associated with the EBS volume.
	AwsRegion *string `json:"aws_region"`
	// The compliance status of the protected EBS volume. Possible values include
	// "compliant" and "noncompliant". If the volume is not protected, then this field has
	// a value of `null`.
	ComplianceStatus *string `json:"compliance_status"`
	// The timestamp of when the volume was deleted. Represented in RFC-3339 format. If
	// this volume has not been deleted, then this field has a value of `null`.
	DeletionTimestamp *string `json:"deletion_timestamp"`
	// The Clumio-assigned ID of the policy directly assigned to the entity.
	DirectAssignmentPolicyId *string `json:"direct_assignment_policy_id"`
	// The Clumio-assigned ID of the AWS environment associated with the EBS volume.
	EnvironmentId *string `json:"environment_id"`
	// Determines whether the table has a direct assignment.
	HasDirectAssignment *bool `json:"has_direct_assignment"`
	// The Clumio-assigned ID of the EBS volume.
	Id *string `json:"id"`
	// Iops of the volume.
	Iops *int64 `json:"iops"`
	// Determines whether the EBS volume has been deleted. If `true`, the volume has been
	// deleted.
	IsDeleted *bool `json:"is_deleted"`
	// Determines whether the EBS volume is encrypted. If `true`, the volume is encrypted.
	IsEncrypted *bool `json:"is_encrypted"`
	// Determines whether the EBS volume is supported for backups.
	IsSupported *bool `json:"is_supported"`
	// The AWS-assigned ID of the KMS key encrypting the EBS volume. If the volume is
	// unencrypted, then this field has a value of `null`.
	KmsKeyNativeId *string `json:"kms_key_native_id"`
	// The timestamp of the most recent backup of the EBS volume. Represented in RFC-3339
	// format. If the volume has never been backed up, then this field has a value of
	// `null`.
	LastBackupTimestamp *string `json:"last_backup_timestamp"`
	// The timestamp of the most recent snapshot of the EBS volume taken as part of
	// Snapshot Manager. Represented in RFC-3339 format. If the volume has never been
	// snapshotted, then this field has a value of `null`.
	LastSnapshotTimestamp *string `json:"last_snapshot_timestamp"`
	// The AWS-assigned name of the EBS volume.
	Name *string `json:"name"`
	// The Clumio-assigned ID of the organizational unit associated with the EBS volume.
	OrganizationalUnitId *string `json:"organizational_unit_id"`
	// The protection policy applied to this resource. If the resource is not protected, then this field has a value of `null`.
	ProtectionInfo *ProtectionInfoWithRule `json:"protection_info"`
	// The protection status of the EBS volume. Possible values include "protected",
	// "unprotected", and "unsupported". If the EBS volume does not support backups, then
	// this field has a value of `unsupported`. If the volume has been deleted, then this
	// field has a value of `null`.
	ProtectionStatus *string `json:"protection_status"`
	// The size of the EBS volume. Measured in bytes (B).
	Size *int64 `json:"size"`
	// A tag created through AWS console which can be applied to EBS volumes.
	Tags []*AwsTagModel `json:"tags"`
	// The type of EBS volume. Possible values include "gp2", "io1", "st1", "sc1", and
	// "standard".
	ClumioType *string `json:"type"`
	// The reason why protection is not available. If the volume is supported, then this
	// field has a value of `null`.
	UnsupportedReason *string `json:"unsupported_reason"`
	// The AWS-assigned ID of the EBS volume.
	VolumeNativeId *string `json:"volume_native_id"`
}

ReadEbsVolumeResponse represents a custom type struct for Success

type ReadEc2InstanceResponse added in v0.6.0

type ReadEc2InstanceResponse struct {
	// Embedded responses related to the resource.
	Embedded *Ec2InstanceEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *Ec2InstanceLinks `json:"_links"`
	// The AWS-assigned ID of the account associated with the EC2 instance.
	AccountNativeId *string `json:"account_native_id"`
	// The AWS availability zone in which the EC2 instance resides. For example,
	// `us-west-2a`.
	AwsAz *string `json:"aws_az"`
	// Determines whether the EC2 instance has been deleted. If `true`, the instance has
	// been deleted.
	AwsRegion *string `json:"aws_region"`
	// The compliance status of the protected EC2 instance. Possible values include
	// "compliant" and "noncompliant". If the instance is not protected, then this field
	// has a value of `null`.
	ComplianceStatus *string `json:"compliance_status"`
	// The timestamp of when the instance was deleted. Represented in RFC-3339 format.
	// If this instance has not been deleted, then this field has a value of `null`.
	DeletionTimestamp *string `json:"deletion_timestamp"`
	// The Clumio-assigned ID of the policy directly assigned to the entity.
	DirectAssignmentPolicyId *string `json:"direct_assignment_policy_id"`
	// The Clumio-assigned ID of the AWS environment associated with the EC2 instance.
	EnvironmentId *string `json:"environment_id"`
	// Determines whether the table has a direct assignment.
	HasDirectAssignment *bool `json:"has_direct_assignment"`
	// The Clumio-assigned ID of the EC2 instance.
	Id *string `json:"id"`
	// The AWS-assigned ID of the EC2 instance.
	InstanceNativeId *string `json:"instance_native_id"`
	// Determines whether the EC2 instance has been deleted. If `true`, the instance has
	// been deleted.
	IsDeleted *bool `json:"is_deleted"`
	// Determines whether the EC2 instance is supported for backups.
	IsSupported *bool `json:"is_supported"`
	// The timestamp of the most recent backup of the EC2 instance. Represented in
	// RFC-3339 format. If the instance has never been backed up, then this field has a
	// value of `null`.
	LastBackupTimestamp *string `json:"last_backup_timestamp"`
	// The timestamp of the most recent snapshot of the EC2 instance taken as part of the
	// EC2 Snapshot Manager. Represented in RFC-3339 format. If the instance has never
	// been backed up, then this field has a value of `null`.
	LastSnapshotTimestamp *string `json:"last_snapshot_timestamp"`
	// The AWS-assigned name of the EC2 instance.
	Name *string `json:"name"`
	// The Clumio-assigned ID of the organizational unit associated with the EC2 instance.
	OrganizationalUnitId *string `json:"organizational_unit_id"`
	// The protection policy applied to this resource. If the resource is not protected, then this field has a value of `null`.
	ProtectionInfo *ProtectionInfoWithRule `json:"protection_info"`
	// The protection status of the EC2 instance. Possible values include "protected",
	// "unprotected", and "unsupported". If the EC2 instance does not support backups,
	// then this field has a value of `unsupported`. If the instance has been deleted,
	// then this field has a value of `null`.
	ProtectionStatus *string `json:"protection_status"`
	// The state of the EC2 instance. Possible values include: pending, running,
	// terminated, stopped, stopping, shutting-down, rebooting
	State *string `json:"state"`
	// The AWS Subnet ID of the EC2 instance
	SubnetId *string `json:"subnet_id"`
	// A tag created through AWS console which can be applied to EBS volumes.
	Tags []*AwsTagModel `json:"tags"`
	// The AWS region associated with the EC2 instance. Possible instances types can be
	// found in: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html
	ClumioType *string `json:"type"`
	// The reason why protection is not available. If the volume is supported,
	// then this field has a value of `null`.
	UnsupportedReason *string `json:"unsupported_reason"`
	// AWS-assigned ID of the VPC associated with the EC2 instance.
	VpcId *string `json:"vpc_id"`
}

ReadEc2InstanceResponse represents a custom type struct for Success

type ReadFileSystemResponse

type ReadFileSystemResponse struct {
	// HateoasCommonLinks are the common fields for HATEOAS response.
	Links *HateoasCommonLinks `json:"_links"`
	// The amount of available memory on the filesystem in bytes. Does not include
	// reserved memory.
	Available *uint64 `json:"available"`
	// The filesystem UUID produced by the `lsblk` linux command. If this filesystem
	// was not given a UUID in the host environment, then this field has a value of
	// `null`.
	FilesystemNativeId *string `json:"filesystem_native_id"`
	// The Clumio-assigned ID of the filesystem.
	Id *string `json:"id"`
	// The reason why file indexing failed. If file indexing succeeded, then this field
	// has a value of `null`. Possible values include "unsupported" and "encrypted".
	IndexingFailedReason *string `json:"indexing_failed_reason"`
	// Determines whether the file system was encrypted.
	IsEncrypted *bool `json:"is_encrypted"`
	// Determines whether the file system has been indexed.
	// If `true`, file indexing completed successfully.
	IsIndexed *bool `json:"is_indexed"`
	// The location of this filesystem in the host environment. Only identifies mount
	// points that correspond to Windows drive letters. All other mount points are
	// identified by a '/'.
	MountPath *string `json:"mount_path"`
	// The number of files (including directories) indexed in the file system.
	NumFilesIndexed *int64 `json:"num_files_indexed"`
	// The total amount of memory available to the filesystem in bytes.
	Size *uint64 `json:"size"`
	// The type of the filesystem. This field is populated with values returned from
	// the lsblk command. Possible values include `ntfs`, `xfs`, and `ext3`.
	ClumioType *string `json:"type"`
	// The amount of memory used by the filesystem in bytes.
	Used *uint64 `json:"used"`
}

ReadFileSystemResponse represents a custom type struct for Success

type ReadFolderResponse

type ReadFolderResponse struct {
	// Embedded responses related to the resource.
	Embedded *FolderEmbedded `json:"_embedded"`
	// The ETag value.
	Etag *string `json:"_etag"`
	// URLs to pages related to the resource.
	Links *FolderLinks `json:"_links"`
	// The data center associated with this folder.
	Datacenter *VMwareVCenterFolderDatacenterModel `json:"datacenter"`
	// Count of all descendant folders inside this folder
	DescendantFolderCount *int64 `json:"descendant_folder_count"`
	// Determines whether the folder has direct child folders.
	HasChildFolders *bool `json:"has_child_folders"`
	// The VMware-assigned Managed Object Reference (MoRef) ID of the folder.
	Id *string `json:"id"`
	// Determines whether the folder is a hidden root folder. If `true`, the folder is a hidden root folder.
	IsRoot *bool `json:"is_root"`
	// Determines whether the folder can be used as a restore destination. If `true`, the folder can be used as a restore destination, and backups can be restored to the folder.
	IsSupported *bool `json:"is_supported"`
	// The VMware-assigned name of the folder.
	Name *string `json:"name"`
	// The Clumio-assigned ID of the organizational unit associated with the folder.
	OrganizationalUnitId *string `json:"organizational_unit_id"`
	// The parent folder under which this folder resides.
	ParentFolder *VMwareVCenterParentFolderModel `json:"parent_folder"`
	// The protection policy applied to this resource. If the resource is not protected, then this field has a value of `null`.
	ProtectionInfo *ProtectionInfo `json:"protection_info"`
	// The protection status of this folder. Refer to the Protection Status table for a complete list of protection statuses.
	ProtectionStatus *string `json:"protection_status"`
	// The folder type. Examples of folder types include "datacenter_folder" and "vm_folder". Refer to the Folder Type table for a complete list of folder types.
	ClumioType *string `json:"type"`
}

ReadFolderResponse represents a custom type struct for Success

type ReadGeneralSettingsResponseV2

type ReadGeneralSettingsResponseV2 struct {
	// URLs to pages related to the resource.
	Links *GeneralSettingsLinks `json:"_links"`
	// The length of time before a user is logged out of the Clumio system due to inactivity. Measured in seconds.
	// The valid range is between 600 seconds (10 minutes) and 3600 seconds (60 minutes).
	// If not configured, the value defaults to 900 seconds (15 minutes).
	AutoLogoutDuration *int64 `json:"auto_logout_duration"`
	// The designated range of IP addresses that are allowed to access the Clumio REST API.
	// API requests that originate from outside this list will be blocked.
	// The IP address of the server from which this request is being made must be in this list; otherwise, the request will fail.
	// Set the parameter to individual IP addresses and/or a range of IP addresses in CIDR notation.
	// For example, ["193.168.1.0/24", "193.172.1.1"].
	// If not configured, the value defaults to ["0.0.0.0/0"] meaning all addresses will be allowed.
	IpAllowlist []*string `json:"ip_allowlist"`
	// The grouping criteria for each datasource type.
	// These can only be edited for datasource types which do not have any
	// organizational units configured.
	OrganizationalUnitDataGroups *OUGroupingCriteria `json:"organizational_unit_data_groups"`
	// The length of time a user password is valid before it must be changed. Measured in seconds.
	// The valid range is between 2592000 seconds (30 days) and 15552000 seconds (180 days).
	// If not configured, the value defaults to 7776000 seconds (90 days).
	PasswordExpirationDuration *int64 `json:"password_expiration_duration"`
}

ReadGeneralSettingsResponseV2 represents a custom type struct for Success

type ReadHcmHostResponse

type ReadHcmHostResponse struct {
	// URLs to pages related to the resource.
	Links *HostLinks `json:"_links"`
	// The endpoints discovered post the host connection of the host.
	DiscoveredEndpoints []*string `json:"discovered_endpoints"`
	// The Current MSI version of the edge connector installed in the host.
	EdgeConnectorVersion *string `json:"edge_connector_version"`
	// The user-provided endpoint used to connect the host.
	Endpoint *string `json:"endpoint"`
	// The Clumio-assigned ID of the management group associated with the host.
	GroupId *string `json:"group_id"`
	// The Clumio-assigned ID of the Host.
	Id *string `json:"id"`
	// The timestamp of the last successful heartbeat of this host. Represented in RFC-3339 format.
	LastHeartbeatTimestamp *string `json:"last_heartbeat_timestamp"`
	// Name of the Host.
	Name *string `json:"name"`
	// The operational status of the Host. Possible values include `upgrade_in_progress`, `upgrade_success`, `upgrade_failed`, `delete_in_progress`, `delete_failed`, `move_in_progress`, `move_succeeded` and `move_failed`.
	OperationalStatus *string `json:"operational_status"`
	// The connection status of the Host. Possible values include `connected`, `disconnected`, `connection_pending`, and `invalid_token`.
	Status *string `json:"status"`
	// The Clumio-assigned ID of the subgroup associated with the host.
	SubgroupId *string `json:"subgroup_id"`
	// The Clumio-assigned UUID of the host. This UUID is used for filtering hosts during list operations.
	Uuid *string `json:"uuid"`
}

ReadHcmHostResponse represents a custom type struct for Success

type ReadHostResponse

type ReadHostResponse struct {
	// The ETag value.
	Etag *string `json:"_etag"`
	// URLs to pages related to the resource.
	Links *HostLinks `json:"_links"`
	// The VMware compute resource representing the host.
	ComputeResource *VMwareVCenterHostComputeResourceModel `json:"compute_resource"`
	// The connection state of the host as seen through the vCenter server. Examples include "connected", "disconnected", and "not_responding".
	ConnectionState *string `json:"connection_state"`
	// The data center in which the host resides.
	Datacenter *VMwareVCenterHostDatacenterModel `json:"datacenter"`
	// The VMware-assigned Managed Object Reference (MoRef) ID of the host.
	Id *string `json:"id"`
	// Determines whether the host has been placed in maintenance mode as seen through the vCenter server. If `true`, the host is in maintenance mode.
	IsInMaintenanceMode *bool `json:"is_in_maintenance_mode"`
	// Determines whether the host has been placed in quarantine mode as seen through the vCenter server. If `true`, the host is in quarantine mode.
	IsInQuarantineMode *bool `json:"is_in_quarantine_mode"`
	// Determines whether the host is a standalone host. If `true`, the host is a standalone host.
	IsStandalone *bool `json:"is_standalone"`
	// Determines whether the host can be used as a restore destination. If `true`, the host can be used as a restore destination and backups can be restored to the host.
	IsSupported *bool `json:"is_supported"`
	// The VMware-assigned name of the host.
	Name *string `json:"name"`
	// The power state of the host as seen through the vCenter server. Examples include "powered_off", "powered_on", and "standby".
	PowerState *string `json:"power_state"`
}

ReadHostResponse represents a custom type struct for Success

type ReadManagementGroupResponse

type ReadManagementGroupResponse struct {
	// Etag
	Etag *string `json:"_etag"`
	// URLs to pages related to the resource.
	Links *ManagementGroupLinks `json:"_links"`
	// Determines whether backups are allowed to occur across different subgroups or cloud connectors.
	BackupAcrossSubgroups *bool `json:"backup_across_subgroups"`
	// The Clumio-assigned ID of the management group.
	Id *string `json:"id"`
	// The name of the management group.
	Name *string `json:"name"`
	// The type of the management group. Possible values include `on_prem`.
	ClumioType *string `json:"type"`
	// The Clumio-assigned ID of the vCenter server associated with the management group.
	// All management groups are associated with a vCenter server.
	VcenterId *string `json:"vcenter_id"`
}

ReadManagementGroupResponse represents a custom type struct for Success

type ReadMssqlAGResponse

type ReadMssqlAGResponse struct {
	// MssqlAGEmbedded is embed of MSSQL Availability Groups
	// Embedded responses related to the resource.
	Embedded *MssqlAGEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *MssqlAGLinks `json:"_links"`
	// The Clumio-assigned ID of the availability group.
	Id *string `json:"id"`
	// The Microsoft SQL-assigned name of the availability group.
	Name *string `json:"name"`
	// The Clumio-assigned ID of the organizational unit associated with the availability group.
	OrganizationalUnitId *string `json:"organizational_unit_id"`
	// The protection policy applied to this resource. If the resource is not protected, then this field has a value of `null`.
	ProtectionInfo *ProtectionInfo `json:"protection_info"`
	// The status of the availability group, Possible values include 'active' and 'inactive'.
	Status *string `json:"status"`
}

ReadMssqlAGResponse represents a custom type struct for Success

type ReadMssqlDatabaseBackupResponse

type ReadMssqlDatabaseBackupResponse struct {
	// Embedded responses related to the resource.
	Embedded *MssqlDatabaseBackupEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *MssqlDatabaseBackupLinks `json:"_links"`
	// TODO: Add struct field description
	DatabaseFiles []*MssqlDatabaseFile `json:"database_files"`
	// The Clumio-assigned ID of the database associated with this backup.
	DatabaseId *string `json:"database_id"`
	// The Microsoft SQL database engine at the time of backup.
	Engine *string `json:"engine"`
	// The Microsoft SQL database engine version at the time of backup.
	EngineVersion *string `json:"engine_version"`
	// The timestamp of when this backup expires. Represented in RFC-3339 format.
	ExpirationTimestamp *string `json:"expiration_timestamp"`
	// The Clumio-assigned ID of the management group associated with the database at the time of backup.
	GroupId *string `json:"group_id"`
	// The user-provided endpoint of the host containing the given database at the time of backup.
	HostEndpoint *string `json:"host_endpoint"`
	// The Clumio-assigned ID of the host associated with the database at the time of backup.
	HostId *string `json:"host_id"`
	// The Clumio-assigned ID of the backup.
	Id *string `json:"id"`
	// The Clumio-assigned instance id at the time of backup.
	InstanceId *string `json:"instance_id"`
	// The instance name at the time of backup.
	InstanceName *string `json:"instance_name"`
	// The timestamp of when this backup started. Represented in RFC-3339 format.
	StartTimestamp *string `json:"start_timestamp"`
	// The Clumio-assigned ID of the management subgroup associated with the database at the time of backup.
	SubgroupId *string `json:"subgroup_id"`
	// The type of backup.
	ClumioType *string `json:"type"`
}

ReadMssqlDatabaseBackupResponse represents a custom type struct for Success

type ReadMssqlDatabaseResponse

type ReadMssqlDatabaseResponse struct {
	// Embedded responses related to the resource.
	Embedded *MssqlDatabaseEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *DatabaseLinks `json:"_links"`
	// The Clumio-assigned ID of the availability group. It is null in case of a standalone database.
	AvailabilityGroupId *string `json:"availability_group_id"`
	// The Microsoft SQL assigned name of the availability group. It is null in case of a standalone database.
	AvailabilityGroupName *string `json:"availability_group_name"`
	// The policy compliance status of the resource. If the database is not protected,
	// then this field has a value of `null`. Refer to
	//
	// the Compliance Status table
	//
	// for a complete list of compliance statuses.
	ComplianceStatus *string `json:"compliance_status"`
	// The Clumio-assigned ID of the failover cluster.
	FailoverClusterId *string `json:"failover_cluster_id"`
	// The Microsoft SQL assigned name of the Failover Cluster
	FailoverClusterName *string `json:"failover_cluster_name"`
	// Failovercluster Protection Status is used to indicate the fci protection status associated with the
	// fci database
	FailoverClusterProtectionStatus *string `json:"failover_cluster_protection_status"`
	// The Clumio-assigned ID of the group to which the standalone database belongs, in case of an
	// availability group database it will be empty.
	GroupId *string `json:"group_id"`
	// The user-provided endpoint of the host containing the given database.
	HostEndpoint *string `json:"host_endpoint"`
	// The Clumio-assigned ID of the host containing the given database.
	HostId *string `json:"host_id"`
	// The Clumio-assigned ID of the Database.
	Id *string `json:"id"`
	// The Clumio-assigned ID of the instance containing the given database.
	InstanceId *string `json:"instance_id"`
	// The name of the Microsoft SQL instance containing the given database.
	InstanceName *string `json:"instance_name"`
	// is_supported is true if Clumio supports backup of the database.
	IsSupported *bool `json:"is_supported"`
	// The timestamp of the last time this database was full backed up.
	// Represented in RFC-3339 format. If this database has never been backed up,
	// this field has a value of `null`.
	LastBackupTimestamp *string `json:"last_backup_timestamp"`
	// The timestamp of the last time this database was log backed up in Bulk Recovery Model.
	// Represented in RFC-3339 format. If this database has never been backed up,
	// this field has a value of `null`.
	LastBulkRecoveryModelLogBackupTimestamp *string `json:"last_bulk_recovery_model_log_backup_timestamp"`
	// The timestamp of the last time this database was log backed up in Full Recovery Model.
	// Represented in RFC-3339 format. If this database has never been backed up,
	// this field has a value of `null`.
	LastFullRecoveryModelLogBackupTimestamp *string `json:"last_full_recovery_model_log_backup_timestamp"`
	// The name of the Database.
	Name *string `json:"name"`
	// The Clumio-assigned ID of the organizational unit associated with the database.
	OrganizationalUnitId *string `json:"organizational_unit_id"`
	// The protection policy applied to this resource. If the resource is not protected, then this field has a value of `null`.
	ProtectionInfo *ProtectionInfo `json:"protection_info"`
	// recovery_model is the recovery model of the database. Possible values include 'simple_recovery_model',
	// 'bulk_recovery_model', and 'full_recovery_model'.
	RecoveryModel *string `json:"recovery_model"`
	// The size of the Database.
	Size *float64 `json:"size"`
	// The status of the database, Possible values include 'active' and 'inactive'.
	Status *string `json:"status"`
	// subgroup id is the id of the Subgroup where this database belongs, in case of AG database
	// it will be empty.
	SubgroupId *string `json:"subgroup_id"`
	// The type of the database. Possible values include 'availability_group_database' and 'standalone_database'.
	ClumioType *string `json:"type"`
	// unsupported_reason is the reason why Clumio doesn't support backup of such database,
	// possible values include 'filestream_enabled_database'.
	UnsupportedReason *string `json:"unsupported_reason"`
}

ReadMssqlDatabaseResponse represents a custom type struct for Success

type ReadMssqlHostResponse

type ReadMssqlHostResponse struct {
	// Embedded responses related to the resource.
	Embedded *MssqlHostEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *MssqlHostLinks `json:"_links"`
	// The user-provided endpoint of the host containing the given database.
	Endpoint *string `json:"endpoint"`
	// The Clumio-assigned ID of the management group to which the host belongs.
	GroupId *string `json:"group_id"`
	// Determines whether or not an availability group is present in the host.
	HasAssociatedAvailabilityGroup *bool `json:"has_associated_availability_group"`
	// Connection status of MSSQL Host
	HostConnectionStatus *string `json:"host_connection_status"`
	// The Clumio-assigned ID of the Host.
	Id *string `json:"id"`
	// The number of instances present in the host.
	InstanceCount *int64 `json:"instance_count"`
	// IsPartOfFCI is a boolean field representing if the Host is part of Failover Cluster
	IsPartOfFci *bool `json:"is_part_of_fci"`
	// The Clumio-assigned ID of the organizational unit associated with the host.
	OrganizationalUnitId *string `json:"organizational_unit_id"`
	// The protection policy applied to this resource. If the resource is not protected, then this field has a value of `null`.
	ProtectionInfo *ProtectionInfo `json:"protection_info"`
	// The status of the Host, Possible values include 'active' and 'inactive'.
	Status *string `json:"status"`
	// The Clumio-assigned ID of the management subgroup to which the host belongs.
	SubgroupId *string `json:"subgroup_id"`
}

ReadMssqlHostResponse represents a custom type struct for Success

type ReadMssqlInstanceResponse

type ReadMssqlInstanceResponse struct {
	// Embedded responses related to the resource.
	Embedded *MssqlInstanceEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *MssqlInstanceLinks `json:"_links"`
	// The Clumio-assigned ID of the management group to which the host belongs.
	GroupId *string `json:"group_id"`
	// The boolean value represents if availability group is present in the instance.
	HasAssociatedAvailabilityGroup *bool `json:"has_associated_availability_group"`
	// The user-provided endpoint of the host containing the given database.
	HostEndpoint *string `json:"host_endpoint"`
	// The Clumio-assigned ID of the host, containing the instance.
	HostId *string `json:"host_id"`
	// The Clumio-assigned ID of the Instance.
	Id *string `json:"id"`
	// The Microsoft SQL assigned name of the instance.
	Name *string `json:"name"`
	// The Clumio-assigned ID of the organizational unit associated with the instance.
	OrganizationalUnitId *string `json:"organizational_unit_id"`
	// Product Version of the instance.
	ProductVersion *string `json:"product_version"`
	// The protection policy applied to this resource. If the resource is not protected, then this field has a value of `null`.
	ProtectionInfo *ProtectionInfo `json:"protection_info"`
	// The Microsoft SQL assigned server name of the instance.
	ServerName *string `json:"server_name"`
	// The status of the Instance, Possible values include 'active' and 'inactive'.
	Status *string `json:"status"`
	// The Clumio-assigned ID of the management subgroup to which the host belongs.
	SubgroupId *string `json:"subgroup_id"`
}

ReadMssqlInstanceResponse represents a custom type struct for Success

type ReadOrganizationalUnitResponse

type ReadOrganizationalUnitResponse struct {
	// Embedded responses related to the resource.
	Embedded *EntityGroupEmbedded `json:"_embedded"`
	// ETag value
	Etag *string `json:"_etag"`
	// URLs to pages related to the resource.
	Links *OrganizationalUnitLinks `json:"_links"`
	// Number of immediate children of the organizational unit.
	ChildrenCount *int64 `json:"children_count"`
	// Datasource types configured in this organizational unit. Possible values include `aws`, `microsoft365`, `vmware`, or `mssql`.
	ConfiguredDatasourceTypes []*string `json:"configured_datasource_types"`
	// List of all recursive descendant organizational units of this OU.
	DescendantIds []*string `json:"descendant_ids"`
	// A description of the organizational unit.
	Description *string `json:"description"`
	// The Clumio assigned ID of the organizational unit.
	Id *string `json:"id"`
	// Unique name assigned to the organizational unit.
	Name *string `json:"name"`
	// The Clumio assigned ID of the parent organizational unit.
	// The parent organizational unit contains the entities in this organizational unit and can update this organizational unit.
	// If this organizational unit is the global organizational unit, then this field has a value of `null`.
	ParentId *string `json:"parent_id"`
	// The Clumio-assigned ID of the task associated with this organizational unit.
	// The progress of the task can be monitored using the
	// [GET /tasks/{task_id}](#operation/read-task) endpoint.
	TaskId *string `json:"task_id"`
	// Number of users to whom this organizational unit or any of its descendants have been assigned.
	UserCount *int64 `json:"user_count"`
	// A user along with a role.
	Users []*UserWithRole `json:"users"`
}

ReadOrganizationalUnitResponse represents a custom type struct for Success

type ReadOrganizationalUnitResponseV1 added in v0.7.0

type ReadOrganizationalUnitResponseV1 struct {
	// Embedded responses related to the resource.
	Embedded *EntityGroupEmbedded `json:"_embedded"`
	// ETag value
	Etag *string `json:"_etag"`
	// URLs to pages related to the resource.
	Links *OrganizationalUnitLinks `json:"_links"`
	// Number of immediate children of the organizational unit.
	ChildrenCount *int64 `json:"children_count"`
	// Datasource types configured in this organizational unit. Possible values include `aws`, `microsoft365`, `vmware`, or `mssql`.
	ConfiguredDatasourceTypes []*string `json:"configured_datasource_types"`
	// List of all recursive descendant organizational units of this OU.
	DescendantIds []*string `json:"descendant_ids"`
	// A description of the organizational unit.
	Description *string `json:"description"`
	// The Clumio assigned ID of the organizational unit.
	Id *string `json:"id"`
	// Unique name assigned to the organizational unit.
	Name *string `json:"name"`
	// The Clumio assigned ID of the parent organizational unit.
	// The parent organizational unit contains the entities in this organizational unit and can update this organizational unit.
	// If this organizational unit is the global organizational unit, then this field has a value of `null`.
	ParentId *string `json:"parent_id"`
	// The Clumio-assigned ID of the task associated with this organizational unit.
	// The progress of the task can be monitored using the
	// [GET /tasks/{task_id}](#operation/read-task) endpoint.
	TaskId *string `json:"task_id"`
	// Number of users to whom this organizational unit or any of its descendants have been assigned.
	UserCount *int64 `json:"user_count"`
	// Users IDs to whom the organizational unit has been assigned.
	// This attribute will be available when reading a single OU and not when listing OUs.
	Users []*string `json:"users"`
}

ReadOrganizationalUnitResponseV1 represents a custom type struct for Success

type ReadPolicyDefinitionHateoasLink struct {
	// The URI for the referenced operation.
	Href *string `json:"href"`
	// Determines whether the "href" link is a URI template. If set to `true`, the "href" link is a URI template.
	Templated *bool `json:"templated"`
	// The HTTP method to be used with the "href" link for the referenced operation.
	ClumioType *string `json:"type"`
}

ReadPolicyDefinitionHateoasLink represents a custom type struct. A HATEOAS link to the policy protecting this resource. Will be omitted for unprotected entities.

type ReadPolicyResponse

type ReadPolicyResponse struct {
	// If the `embed` query parameter is set, displays the responses of the related resource,
	// as defined by the embeddable link specified.
	Embedded *PolicyEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *PolicyLinks `json:"_links"`
	// The status of the policy.
	// Refer to the Policy Activation Status table for a complete list of policy statuses.
	ActivationStatus *string `json:"activation_status"`
	// The created time of the policy in unix time.
	CreatedTime *int64 `json:"created_time"`
	// The Clumio-assigned ID of the policy.
	Id *string `json:"id"`
	// The following table describes the possible lock statuses of a policy.
	//
	// +----------+-------------------------------------------------------------------+
	// |  Status  |                            Description                            |
	// +==========+===================================================================+
	// | unlocked | Policies are unlocked until an update or deletion task is queued. |
	// +----------+-------------------------------------------------------------------+
	// | updating | During a policy edit, concurrent edits or deletion requests will  |
	// |          | be rejected.                                                      |
	// +----------+-------------------------------------------------------------------+
	// | deleting | During policy deletion, concurrent edits or deletion requests     |
	// |          | will be rejected.                                                 |
	// +----------+-------------------------------------------------------------------+
	//
	LockStatus *string `json:"lock_status"`
	// The user-provided name of the policy.
	Name *string `json:"name"`
	// TODO: Add struct field description
	Operations []*PolicyOperation `json:"operations"`
	// The Clumio-assigned ID of the organizational unit associated with the policy.
	OrganizationalUnitId *string `json:"organizational_unit_id"`
	// The policy-level timezone is deprecated, as the operation-level timezone should be used instead.
	// The timezone must be a valid location name from the IANA Time Zone database.
	// For instance, "America/New_York", "US/Central", "UTC".
	// Deprecated: true
	Timezone *string `json:"timezone"`
	// The updated time of the policy in unix time.
	UpdatedTime *int64 `json:"updated_time"`
}

ReadPolicyResponse represents a custom type struct for Success

type ReadProtectionGroupBackupResponse added in v0.2.5

type ReadProtectionGroupBackupResponse struct {
	// URLs to pages related to the resource.
	Links *ProtectionGroupBackupLinks `json:"_links"`
	// The number of objects in the protection group that were successfully backed up.
	BackedUpObjectCount *int64 `json:"backed_up_object_count"`
	// The total size in bytes of objects in the protection group that were
	// successfully backed up.
	BackedUpSizeBytes *int64 `json:"backed_up_size_bytes"`
	// The timestamp of when this backup expires. Represented in RFC-3339 format.
	ExpirationTimestamp *string `json:"expiration_timestamp"`
	// The number of objects in the protection group that failed to be backed up.
	FailedObjectCount *int64 `json:"failed_object_count"`
	// The total size in bytes of objects in the protection group that failed
	// to be backed up.
	FailedSizeBytes *int64 `json:"failed_size_bytes"`
	// The Clumio-assigned ID of the protection group backup.
	Id *string `json:"id"`
	// The Clumio-assigned ID of the protection group.
	ProtectionGroupId *string `json:"protection_group_id"`
	// The user-assigned name of the protection group.
	ProtectionGroupName *string `json:"protection_group_name"`
	// The version of the protection group at the time the backup was taken.
	ProtectionGroupVersion *int64 `json:"protection_group_version"`
	// The timestamp of when this backup started. Represented in RFC-3339 format.
	StartTimestamp *string `json:"start_timestamp"`
	// The type of backup. Possible values include `protection_group_backup`.
	ClumioType *string `json:"type"`
}

ReadProtectionGroupBackupResponse represents a custom type struct for Success

type ReadProtectionGroupResponse added in v0.1.2

type ReadProtectionGroupResponse struct {
	// Embedded responses related to the resource.
	Embedded *ProtectionGroupEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *ProtectionGroupLinks `json:"_links"`
	// The backup target AWS region associated with the protection group, empty if
	// in-region or not configured.
	BackupTargetAwsRegion *string `json:"backup_target_aws_region"`
	// Number of buckets
	BucketCount *int64 `json:"bucket_count"`
	// The following table describes the possible conditions for a bucket to be
	// automatically added to a protection group.
	//
	// +---------+----------------+---------------------------------------------------+
	// |  Field  | Rule Condition |                    Description                    |
	// +=========+================+===================================================+
	// | aws_tag | $eq            | Denotes the AWS tag(s) to conditionalize on       |
	// |         |                |                                                   |
	// |         |                | {"aws_tag":{"$eq":{"key":"Environment",           |
	// |         |                | "value":"Prod"}}}                                 |
	// |         |                |                                                   |
	// |         |                |                                                   |
	// +---------+----------------+---------------------------------------------------+
	//
	BucketRule *string `json:"bucket_rule"`
	// The compliance statistics of workloads associated with this entity.
	ComplianceStats *ProtectionComplianceStatsWithSeeding `json:"compliance_stats"`
	// Creation time of the protection group in RFC-3339 format.
	CreatedTimestamp *string `json:"created_timestamp"`
	// The user-assigned description of the protection group.
	Description *string `json:"description"`
	// The Clumio-assigned ID of the protection group.
	Id *string `json:"id"`
	// Whether the protection group already has a backup target configured by a policy, or
	// is open to be protected by an in-region or out-of-region S3 policy.
	IsBackupTargetRegionConfigured *bool `json:"is_backup_target_region_configured"`
	// Determines whether the protection group is active or has been deleted. Deleted protection
	// groups may be purged after some time once there are no active backups associated with it.
	IsDeleted *bool `json:"is_deleted"`
	// Time of the last backup in RFC-3339 format.
	LastBackupTimestamp *string `json:"last_backup_timestamp"`
	// Time of the last successful continuous backup in RFC-3339 format.
	LastContinuousBackupTimestamp *string `json:"last_continuous_backup_timestamp"`
	// Modified time of the protection group in RFC-3339 format.
	ModifiedTimestamp *string `json:"modified_timestamp"`
	// The user-assigned name of the protection group.
	Name *string `json:"name"`
	// ObjectFilter
	// defines which objects will be backed up.
	ObjectFilter *ObjectFilter `json:"object_filter"`
	// The Clumio-assigned ID of the organizational unit associated with the Protection Group.
	OrganizationalUnitId *string `json:"organizational_unit_id"`
	// The protection policy applied to this resource. If the resource is not protected, then this field has a value of `null`.
	ProtectionInfo *ProtectionInfoWithRule `json:"protection_info"`
	// The protection status of the protection group. Possible values include "protected",
	// "unprotected", and "unsupported". If the protection group does not support backups, then
	// this field has a value of `unsupported`.
	ProtectionStatus *string `json:"protection_status"`
	// The list of AWS regions that this protection group is linked to
	Regions []*string `json:"regions"`
	// Cumulative count of all unexpired objects in each backup (any new or updated since
	// the last backup) that have been backed up as part of this protection group
	TotalBackedUpObjectCount *int64 `json:"total_backed_up_object_count"`
	// Cumulative size of all unexpired objects in each backup (any new or updated since
	// the last backup) that have been backed up as part of this protection group
	TotalBackedUpSizeBytes *int64 `json:"total_backed_up_size_bytes"`
	// Version of the protection group. The version number is incremented every time
	// a change is made to the protection group.
	Version *int64 `json:"version"`
}

ReadProtectionGroupResponse represents a custom type struct for Success

type ReadProtectionGroupS3AssetBackupResponse added in v0.2.5

type ReadProtectionGroupS3AssetBackupResponse struct {
	// URLs to pages related to the resource.
	Links *ProtectionGroupS3AssetBackupLinks `json:"_links"`
	// The AWS region in which the instance backup resides. For example, `us-west-2`.
	AwsRegion *string `json:"aws_region"`
	// The number of objects in the protection group S3 asset that were successfully backed up.
	BackedUpObjectCount *uint64 `json:"backed_up_object_count"`
	// The total size in bytes of objects in the protection group S3 asset that were
	// successfully backed up.
	BackedUpSizeBytes *uint64 `json:"backed_up_size_bytes"`
	// The Clumio-assigned ID of the bucket.
	BucketId *string `json:"bucket_id"`
	// The name of the bucket.
	BucketName *string `json:"bucket_name"`
	// The timestamp of when this backup expires. Represented in RFC-3339 format.
	ExpirationTimestamp *string `json:"expiration_timestamp"`
	// The number of objects in the protection group S3 asset that failed to be backed up.
	FailedObjectCount *uint64 `json:"failed_object_count"`
	// The total size in bytes of objects in the protection group S3 asset that failed
	// to be backed up.
	FailedSizeBytes *uint64 `json:"failed_size_bytes"`
	// The Clumio-assigned ID of the protection group S3 asset backup.
	Id *string `json:"id"`
	// The Clumio-assigned ID of the protection group.
	ProtectionGroupId *string `json:"protection_group_id"`
	// The Clumio-assigned ID of the protection group S3 asset.
	ProtectionGroupS3AssetId *string `json:"protection_group_s3_asset_id"`
	// The version of the protection group at the time the backup was taken.
	ProtectionGroupVersion *int64 `json:"protection_group_version"`
	// The timestamp of when this backup started. Represented in RFC-3339 format.
	StartTimestamp *string `json:"start_timestamp"`
	// The type of backup. Possible values include `protection_group_s3_asset_backup`.
	ClumioType *string `json:"type"`
}

ReadProtectionGroupS3AssetBackupResponse represents a custom type struct for Success

type ReadProtectionGroupS3AssetContinuousBackupStatsResponse added in v0.11.0

type ReadProtectionGroupS3AssetContinuousBackupStatsResponse struct {
	// ProtectionGroupBucketContinuousBackupStatsLinks
	// URLs to pages related to the resources.
	Links *ProtectionGroupBucketContinuousBackupStatsLinks `json:"_links"`
	// ProtectionGroupBucketContinuousBackupStats
	Bins []*ProtectionGroupBucketContinuousBackupStats `json:"bins"`
	// ProtectionGroupBucketContinuousBackupStats
	TotalStats *ProtectionGroupBucketContinuousBackupStats `json:"total_stats"`
}

ReadProtectionGroupS3AssetContinuousBackupStatsResponse represents a custom type struct for Success

type ReadProtectionGroupS3AssetResponse added in v0.1.2

type ReadProtectionGroupS3AssetResponse struct {
	// Embedded responses related to the resource.
	Embedded *ProtectionGroupBucketEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *ProtectionGroupBucketLinks `json:"_links"`
	// The AWS-assigned ID of the account associated with the DynamoDB table.
	AccountNativeId *string `json:"account_native_id"`
	// Whether this bucket was added to this protection group by the bucket rule
	AddedByBucketRule *bool `json:"added_by_bucket_rule"`
	// Whether this bucket was added to this protection group by the user
	AddedByUser *bool `json:"added_by_user"`
	// The AWS region associated with the DynamoDB table.
	AwsRegion *string `json:"aws_region"`
	// The backup target AWS region associated with the protection group S3 asset.
	BackupTargetAwsRegion *string `json:"backup_target_aws_region"`
	// The Clumio-assigned ID of the bucket
	BucketId *string `json:"bucket_id"`
	// The name of the bucket
	BucketName *string `json:"bucket_name"`
	// The compliance status of the protected protection group. Possible values include
	// "compliant" and "noncompliant". If the table is not protected, then this field has
	// a value of `null`.
	ComplianceStatus *string `json:"compliance_status"`
	// Creation time of the protection group in RFC-3339 format.
	CreatedTimestamp *string `json:"created_timestamp"`
	// The Clumio-assigned ID of the AWS environment associated with the protection group.
	EnvironmentId *string `json:"environment_id"`
	// The Clumio-assigned ID of the protection group
	GroupId *string `json:"group_id"`
	// The name of the protection group
	GroupName *string `json:"group_name"`
	// The Clumio-assigned ID that represents the bucket within the protection group.
	Id *string `json:"id"`
	// Determines whether the protection group bucket has been deleted
	IsDeleted *bool `json:"is_deleted"`
	// Time of the last backup in RFC-3339 format.
	LastBackupTimestamp *string `json:"last_backup_timestamp"`
	// Time of the last successful continuous backup in RFC-3339 format.
	LastContinuousBackupTimestamp *string `json:"last_continuous_backup_timestamp"`
	// The Clumio-assigned ID of the organizational unit associated with the protection group.
	OrganizationalUnitId *string `json:"organizational_unit_id"`
	// The protection policy applied to this resource. If the resource is not protected, then this field has a value of `null`.
	ProtectionInfo *ProtectionInfoWithRule `json:"protection_info"`
	// The protection status of the protection group. Possible values include "protected",
	// "unprotected", and "unsupported". If the protection group does not support backups, then
	// this field has a value of `unsupported`.
	ProtectionStatus *string `json:"protection_status"`
	// Cumulative count of all unexpired objects in each backup (any new or updated since
	// the last backup) that have been backed up as part of this protection group
	TotalBackedUpObjectCount *int64 `json:"total_backed_up_object_count"`
	// Cumulative size of all unexpired objects in each backup (any new or updated since
	// the last backup) that have been backed up as part of this protection group
	TotalBackedUpSizeBytes *int64 `json:"total_backed_up_size_bytes"`
	// The unsupported reason for the S3 bucket.
	UnsupportedReason *string `json:"unsupported_reason"`
}

ReadProtectionGroupS3AssetResponse represents a custom type struct for Success

type ReadRDSDatabaseTableColumnsResponse added in v0.6.0

type ReadRDSDatabaseTableColumnsResponse struct {
	// URLs to pages related to the resource.
	Links *RDSDatabaseTableColumnLinks `json:"_links"`
	// RDSDatabaseTableColumn denotes the model for rds database column
	Columns []*RDSDatabaseTableColumn `json:"columns"`
}

ReadRDSDatabaseTableColumnsResponse represents a custom type struct for Success

type ReadRDSDatabaseTableResponse added in v0.6.0

type ReadRDSDatabaseTableResponse struct {
	// Embedded responses related to the resource.
	Embedded *RDSDatabaseTableEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *RDSDatabaseTableLinks `json:"_links"`
	// The name of the table within the specified RDS database.
	Name *string `json:"name"`
}

ReadRDSDatabaseTableResponse represents a custom type struct for Success

type ReadRdsDatabaseBackupResponse added in v0.6.0

type ReadRdsDatabaseBackupResponse struct {
	// URLs to pages related to the resource.
	Links *RdsDatabaseBackupLinks `json:"_links"`
	// The AWS-assigned ID of the account associated with this database at the time of backup.
	AccountNativeId *string `json:"account_native_id"`
	// The AWS availability zones associated with this database at the time of backup.
	AwsAzs []*string `json:"aws_azs"`
	// The AWS region associated with this environment.
	AwsRegion *string `json:"aws_region"`
	// The AWS-assigned ID of the database at the time of backup.
	DatabaseNativeId *string `json:"database_native_id"`
	// The AWS database engine at the time of backup.
	Engine *string `json:"engine"`
	// The aws database engine version at the time of backup.
	EngineVersion *string `json:"engine_version"`
	// The timestamp of when this backup expires. Represented in RFC-3339 format.
	ExpirationTimestamp *string `json:"expiration_timestamp"`
	// The Clumio-assigned ID of the backup.
	Id *string `json:"id"`
	// TODO: Add struct field description
	Instances []*RdsInstanceModel `json:"instances"`
	// The AWS-assigned ID of the KMS key associated with this database at the time of backup.
	KmsKeyNativeId *string `json:"kms_key_native_id"`
	// The timestamp of when the migration was triggered. This field will be set only for
	// migration granular backups. Represented in RFC-3339 format.
	MigrationTimestamp *string `json:"migration_timestamp"`
	// Option group name associated with the backed up RDS resource
	OptionGroupName *string `json:"option_group_name"`
	// The Clumio-assigned ID of the database associated with this backup.
	ResourceId *string `json:"resource_id"`
	// The type of the RDS resource associated with this backup. Possible values include `aws_rds_cluster` and `aws_rds_instance`.
	ResourceType *string `json:"resource_type"`
	// The AWS-assigned IDs of the security groups associated with this RDS resource backup.
	SecurityGroupNativeIds []*string `json:"security_group_native_ids"`
	// The size of the RDS resource backup. Measured in bytes (B).
	Size *int64 `json:"size"`
	// The timestamp of when this backup started. Represented in RFC-3339 format.
	StartTimestamp *string `json:"start_timestamp"`
	// The AWS-assigned name of the subnet group associated with this RDS resource backup.
	SubnetGroupName *string `json:"subnet_group_name"`
	// A tag created through AWS Console which can be applied to EBS volumes.
	Tags []*AwsTagCommonModel `json:"tags"`
	// The type of backup. Possible values include `clumio_snapshot` and `granular_backup`.
	ClumioType *string `json:"type"`
}

ReadRdsDatabaseBackupResponse represents a custom type struct for Success

type ReadRdsResourceResponse added in v0.6.0

type ReadRdsResourceResponse struct {
	// Embedded responses related to the resource.
	Embedded *RdsResourceEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *RdsResourceLinks `json:"_links"`
	// The AWS-assigned ID of the account associated with this resource.
	AccountNativeId *string `json:"account_native_id"`
	// The AWS availability zone(s) associated with the resource. For example, `us-west-2a`.
	AwsAzs []*string `json:"aws_azs"`
	// The AWS region associated with this resource.
	AwsRegion *string `json:"aws_region"`
	// The compliance status of the protected RDS resource. Possible values include
	// `compliant` and `noncompliant`. If the resource is not protected, then this field has
	// a value of `null`.
	ComplianceStatus *string `json:"compliance_status"`
	// The timestamp of when the RDS resource was deleted. Represented in RFC-3339 format.
	// If the resource was not deleted, then this field has a value of `null`.
	DeletionTimestamp *string `json:"deletion_timestamp"`
	// The Clumio-assigned ID of the policy directly assigned to the entity.
	DirectAssignmentPolicyId *string `json:"direct_assignment_policy_id"`
	// The timestamp of the oldest AWS snapshot of the RDS resource. Represented in RFC-3339
	// format. If the resource has no available snapshots, then this field has a value of `null`.
	EarliestAwsSnapshotRestorableTimestamp *string `json:"earliest_aws_snapshot_restorable_timestamp"`
	// The database engine of the RDS resource. Possible values include `postgres` and `mysql`.
	// For a full list of possible values, please refer to the AWS documentation at
	// https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-engine-versions.html
	Engine *string `json:"engine"`
	// The database engine mode of the RDS resource. Possible values include `provisioned`
	// and `serverless`.
	EngineMode *string `json:"engine_mode"`
	// The database engine version of the RDS resource. For example, `10.12`.
	EngineVersion *string `json:"engine_version"`
	// The Clumio-assigned ID of the AWS environment associated with this resource.
	EnvironmentId *string `json:"environment_id"`
	// The timestamp of the first active backup of the database to Clumio. Represented
	// in RFC-3339 format.
	FirstClumioSnapshotTimestamp *string `json:"first_clumio_snapshot_timestamp"`
	// The timestamp of the first active granular backup for the database. Represented in
	// RFC-3339 format.
	FirstGranularBackupTimestamp *string `json:"first_granular_backup_timestamp"`
	// Determines whether the table has a direct assignment.
	HasDirectAssignment *bool `json:"has_direct_assignment"`
	// The Clumio-assigned ID of the resource.
	Id *string `json:"id"`
	// Determines whether an RDS resource is deleted.
	IsDeleted *bool `json:"is_deleted"`
	// Determines whether an RDS resource is encrypted.
	IsEncrypted *bool `json:"is_encrypted"`
	// Determines whether the RDS resource is supported for backups.
	IsSupported *bool `json:"is_supported"`
	// The AWS-assigned ID of the KMS key encrypting this resource. If the resource is
	// unencrypted, then this field has a value of `null`.
	KmsKeyNativeId *string `json:"kms_key_native_id"`
	// The timestamp of the last time this database was backed up to Clumio. Represented
	// in RFC-3339 format.
	LastClumioSnapshotTimestamp *string `json:"last_clumio_snapshot_timestamp"`
	// The timestamp of the last time this database had granular backup performed.
	// Represented in RFC-3339 format.
	LastGranularBackupTimestamp *string `json:"last_granular_backup_timestamp"`
	// The timestamp of the newest AWS snapshot of the RDS resource. Represented in RFC-3339
	// format. If the resource has no available snapshots, then this field has a value of `null`.
	LatestAwsSnapshotRestorableTimestamp *string `json:"latest_aws_snapshot_restorable_timestamp"`
	// The AWS-assigned name of the RDS resource. For example, `clumio-aurora-dev`.
	Name *string `json:"name"`
	// The organizational unit to which this resource belongs.
	OrganizationalUnitId *string `json:"organizational_unit_id"`
	// The protection policy applied to this resource. If the resource is not protected, then this field has a value of `null`.
	ProtectionInfo *ProtectionInfoWithRule `json:"protection_info"`
	// The protection status of the RDS resource. Possible values include `protected`,
	// `unprotected`, and `unsupported`. If the RDS resource does not support backups, then
	// this field has a value of `unsupported`. If the resource has been deleted, then this
	// field has a value of `null`.
	ProtectionStatus *string `json:"protection_status"`
	// The AWS-assigned ID of the RDS resource. For example, `cluster-3WW6IXRWO5ZS4PTUIKGZEACISY`.
	ResourceNativeId *string `json:"resource_native_id"`
	// The AWS-assigned IDs of the security groups associated with this resource
	SecurityGroupNativeIds []*string `json:"security_group_native_ids"`
	// The size of the RDS resource. Measured in bytes (B).
	Size *int64 `json:"size"`
	// The RDS subnet group name associated with this resource.
	SubnetGroupName *string `json:"subnet_group_name"`
	// A tag created through AWS console which can be applied to EBS volumes.
	Tags []*AwsTagModel `json:"tags"`
	// The RDS resource type. Possible values include `aws_rds_cluster` and `aws_rds_instance`.
	ClumioType *string `json:"type"`
	// The reason why protection is not available on this RDS resource, if any.
	// Possible values include `rds_engine_oracle` and `rds_postgres_9_4`.
	// If the resource is supported, then this field has a value of `null`.
	UnsupportedReason *string `json:"unsupported_reason"`
}

ReadRdsResourceResponse represents a custom type struct for Success

type ReadResourcePoolResponse

type ReadResourcePoolResponse struct {
	// The ETag value.
	Etag *string `json:"_etag"`
	// URLs to pages related to the resource.
	Links *ResourcePoolLinks `json:"_links"`
	// The compute resource that the resource pool comprises.
	ComputeResource *VMwareResourcePoolComputeResourceModel `json:"compute_resource"`
	// The data center in which the resource pool resides.
	Datacenter *ResourcePoolDatacenterModel `json:"datacenter"`
	// The VMware-assigned Managed Object Reference (MoRef) ID of the resource pool.
	Id *string `json:"id"`
	// Determines whether the resource pool is the default, hidden resource pool.
	IsRoot *bool `json:"is_root"`
	// Determines whether the resource pool can be used as a restore destination. If `true`, the resource pool can be used as a restore destination and backups can be restored to the resource pool.
	IsSupported *bool `json:"is_supported"`
	// The VMware-assigned name of the resource pool.
	Name *string `json:"name"`
	// The vCenter object that is the parent of the resource pool.
	Parent *VMwareResourcePoolParentModel `json:"parent"`
}

ReadResourcePoolResponse represents a custom type struct for Success

type ReadRoleResponse

type ReadRoleResponse struct {
	// ETag value
	Etag *string `json:"_etag"`
	// URLs to pages related to the resource.
	Links *RoleLinks `json:"_links"`
	// A description of the role.
	Description *string `json:"description"`
	// The Clumio-assigned ID of the role.
	Id *string `json:"id"`
	// Unique name assigned to the role.
	Name *string `json:"name"`
	// TODO: Add struct field description
	Permissions []*PermissionModel `json:"permissions"`
	// Number of users to whom the role has been assigned.
	UserCount *int64 `json:"user_count"`
}

ReadRoleResponse represents a custom type struct for Success

type ReadRuleResponse

type ReadRuleResponse struct {
	// Embedded responses related to the resource.
	Embedded *RuleEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *RuleLinks `json:"_links"`
	// An action to be applied subject to the rule criteria.
	Action *RuleAction `json:"action"`
	// The following table describes the possible conditions for a rule.
	//
	// +-----------------------+---------------------------+--------------------------+
	// |         Field         |      Rule Condition       |       Description        |
	// +=======================+===========================+==========================+
	// | aws_account_native_id | $eq, $in                  | Denotes the AWS account  |
	// |                       |                           | to conditionalize on     |
	// |                       |                           |                          |
	// |                       |                           | {"aws_account_native_id" |
	// |                       |                           | :{"$eq":"111111111111"}} |
	// |                       |                           |                          |
	// |                       |                           |                          |
	// |                       |                           | {"aws_account_native_id" |
	// |                       |                           | :{"$in":["111111111111", |
	// |                       |                           | "222222222222"]}}        |
	// |                       |                           |                          |
	// |                       |                           |                          |
	// +-----------------------+---------------------------+--------------------------+
	// | aws_region            | $eq, $in                  | Denotes the AWS region   |
	// |                       |                           | to conditionalize on     |
	// |                       |                           |                          |
	// |                       |                           | {"aws_region":{"$eq":"us |
	// |                       |                           | -west-2"}}               |
	// |                       |                           |                          |
	// |                       |                           |                          |
	// |                       |                           | {"aws_region":{"$in":["u |
	// |                       |                           | s-west-2", "us-          |
	// |                       |                           | east-1"]}}               |
	// |                       |                           |                          |
	// |                       |                           |                          |
	// +-----------------------+---------------------------+--------------------------+
	// | aws_tag               | $eq, $in, $all, $contains | Denotes the AWS tag(s)   |
	// |                       |                           | to conditionalize on.    |
	// |                       |                           | Max 100 tags allowed in  |
	// |                       |                           | each rule                |
	// |                       |                           | and tag key can be upto  |
	// |                       |                           | 128 characters and value |
	// |                       |                           | can be upto 256          |
	// |                       |                           | characters long.         |
	// |                       |                           |                          |
	// |                       |                           | {"aws_tag":{"$eq":{"key" |
	// |                       |                           | :"Environment",          |
	// |                       |                           | "value":"Prod"}}}        |
	// |                       |                           |                          |
	// |                       |                           |                          |
	// |                       |                           | {"aws_tag":{"$in":[{"key |
	// |                       |                           | ":"Environment",         |
	// |                       |                           | "value":"Prod"},         |
	// |                       |                           | {"key":"Hello",          |
	// |                       |                           | "value":"World"}]}}      |
	// |                       |                           |                          |
	// |                       |                           |                          |
	// |                       |                           | {"aws_tag":{"$all":[{"ke |
	// |                       |                           | y":"Environment",        |
	// |                       |                           | "value":"Prod"},         |
	// |                       |                           | {"key":"Hello",          |
	// |                       |                           | "value":"World"}]}}      |
	// |                       |                           |                          |
	// |                       |                           |                          |
	// |                       |                           | {"aws_tag":{"$contains": |
	// |                       |                           | {"key":"Environment",    |
	// |                       |                           | "value":"Prod"}}}        |
	// |                       |                           |                          |
	// |                       |                           |                          |
	// +-----------------------+---------------------------+--------------------------+
	// | entity_type           | $eq, $in                  | Denotes the AWS entity   |
	// |                       |                           | type to conditionalize   |
	// |                       |                           | on. (Required)           |
	// |                       |                           |                          |
	// |                       |                           | {"entity_type":{"$eq":"a |
	// |                       |                           | ws_rds_instance"}}       |
	// |                       |                           |                          |
	// |                       |                           |                          |
	// |                       |                           | {"entity_type":{"$in":[" |
	// |                       |                           | aws_rds_instance",       |
	// |                       |                           | "aws_ebs_volume", "aws_e |
	// |                       |                           | c2_instance","aws_dynamo |
	// |                       |                           | db_table",               |
	// |                       |                           | "aws_rds_cluster"]}}     |
	// |                       |                           |                          |
	// |                       |                           |                          |
	// +-----------------------+---------------------------+--------------------------+
	//
	Condition *string `json:"condition"`
	// The Clumio-assigned ID of the policy rule.
	Id *string `json:"id"`
	// Name of the rule. Max 100 characters.
	Name *string `json:"name"`
	// The Clumio-assigned ID of the organizational unit (OU) to which the policy rule belongs.
	OrganizationalUnitId *string `json:"organizational_unit_id"`
	// A priority relative to other rules.
	Priority *RulePriority `json:"priority"`
}

ReadRuleResponse represents a custom type struct for Success

type ReadS3InstantAccessEndpointResponse added in v0.12.0

type ReadS3InstantAccessEndpointResponse struct {
	// Embedded responses related to the resource.
	Embedded *S3InstantAccessEndpointEmbedded `json:"_embedded"`
	// The ETag value.
	Etag *string `json:"_etag"`
	// URLs to pages related to the resource.
	Links *S3InstantAccessEndpointLinks `json:"_links"`
	// The AWS-assigned ID of the account associated with the S3 instant access endpoint.
	AwsAccountId *string `json:"aws_account_id"`
	// The AWS region of the S3 instant access endpoint and its source backup.
	BackupRegion *string `json:"backup_region"`
	// The name of source bucket.
	BucketName *string `json:"bucket_name"`
	// The time that this endpoint was created, in RFC-3339 format.
	CreatedTimestamp *string `json:"created_timestamp"`
	// The status of the S3 instant access endpoint. Possible values include "preparing",
	// "active", "expiring", and "expired".
	EndpointStatus *string `json:"endpoint_status"`
	// The time that this endpoint expires, in RFC-3339 format.
	ExpiryTimestamp *string `json:"expiry_timestamp"`
	// The Clumio-assigned ID of the S3 instant access endpoint.
	Id *string `json:"id"`
	// The user-assigned name of the S3 instant access endpoint.
	Name *string `json:"name"`
	// The time in RFC-3339 format that the restored objects are backed up from.
	ObjectsCreatedAfter *string `json:"objects_created_after"`
	// The time in RFC-3339 format that the restored objects are backed up to.
	ObjectsCreatedBefore *string `json:"objects_created_before"`
	// The Clumio-assigned ID of the organizational unit associated with the S3 instant access endpoint.
	OrganizationalUnitId *string `json:"organizational_unit_id"`
	// The Clumio-assigned ID of the protection group this endpoint is created for.
	ProtectionGroupId *string `json:"protection_group_id"`
	// The user-assigned name of the protection group this endpoints is created for.
	ProtectionGroupName *string `json:"protection_group_name"`
	// The Clumio-assigned ID of the bucket protection group.
	ProtectionGroupS3AssetId *string `json:"protection_group_s3_asset_id"`
	// The AWS region of the source bucket.
	Region *string `json:"region"`
	// The time at which the backup was restored from this endpoint in RFC-3339 format.
	// Deprecated.
	RestoreTimestamp *string `json:"restore_timestamp"`
	// IAM role which is allowed access to the OLAP endpoint.
	Roles []*S3InstantAccessEndpointRole `json:"roles"`
	// S3InstantAccessEndpointStat
	// Statistical metric related to the instant access endpoint.
	// S3InstantAccessEndpointStat swagger: model S3InstantAccessEndpointStat
	Stats []*S3InstantAccessEndpointStat `json:"stats"`
	// The time that this endpoint was last updated, in RFC-3339 format.
	UpdatedTimestamp *string `json:"updated_timestamp"`
}

ReadS3InstantAccessEndpointResponse represents a custom type struct for Success

type ReadS3InstantAccessEndpointRolePermissionResponse added in v0.12.0

type ReadS3InstantAccessEndpointRolePermissionResponse struct {
	// Embedded responses related to the resource.
	Embedded *S3InstantAccessEndpointEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *S3InstantAccessEndpointLinks `json:"_links"`
	// The permissions JSON string to be attached to the user's IAM role to allow access to the
	// Instant Access endpoint.
	Permissions *string `json:"permissions"`
}

ReadS3InstantAccessEndpointRolePermissionResponse represents a custom type struct for Success

type ReadS3InstantAccessEndpointUriResponse added in v0.12.0

type ReadS3InstantAccessEndpointUriResponse struct {
	// Embedded responses related to the resource.
	Embedded *S3InstantAccessEndpointEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *S3InstantAccessEndpointLinks `json:"_links"`
	// An alias of the endpoint bucket.
	BucketAlias *string `json:"bucket_alias"`
	// An Origin Domain form of the endpoint URI for CloudFront distribution.
	CloudfrontDistributionOriginDomain *string `json:"cloudfront_distribution_origin_domain"`
	// The URI of the endpoint.
	EndpointUri *string `json:"endpoint_uri"`
	// The AWS region the endpoint is located in.
	Region *string `json:"region"`
}

ReadS3InstantAccessEndpointUriResponse represents a custom type struct for Success

type ReadSubgroupResponse

type ReadSubgroupResponse struct {
	// URLs to pages related to the resource.
	Links *SubgroupLinks `json:"_links"`
	// The number of cloud connectors in this subgroup, aggregated by their status.
	CloudConnectorCountByStatus *CloudConnectorCountByStatus `json:"cloud_connector_count_by_status"`
	// The overall health of cloud connectors in this subgroup. Possible values include: 'healthy', indicating
	// that all cloud connectors in the subgroup are connected; 'degraded' indicating that one or more cloud
	// connectors in the subgroup have connection issues; `none`, indicating that no cloud connectors are in the subgroup.
	CloudConnectorStatus *string `json:"cloud_connector_status"`
	// The Clumio-assigned ID of the management group associated with this subgroup.
	GroupId *string `json:"group_id"`
	// The Clumio-assigned ID of the management subgroup.
	Id *string `json:"id"`
	// The name of the management subgroup.
	Name *string `json:"name"`
}

ReadSubgroupResponse represents a custom type struct for Success

type ReadTagCategory2Response

type ReadTagCategory2Response struct {
	// The ETag value.
	Etag *string `json:"_etag"`
	// URLs to pages related to the resource
	Links *TagCategory2Links `json:"_links"`
	// A description of the tag category.
	Description *string `json:"description"`
	// The VMware-assigned Managed Object Reference (MoRef) ID of the tag category.
	Id *string `json:"id"`
	// The VMware-assigned name of the tag category.
	Name *string `json:"name"`
	// The number of tags in the tag category.
	NumberOfTags *int32 `json:"number_of_tags"`
	// The Clumio-assigned ID of the organizational unit associated with the tag category.
	OrganizationalUnitId *string `json:"organizational_unit_id"`
}

ReadTagCategory2Response represents a custom type struct for Success

type ReadTagResponse

type ReadTagResponse struct {
	// Embedded responses related to the resource.
	Embedded *Tag2Embedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *Tag2Links `json:"_links"`
	// The tag category associated with the tag.
	Category *TagParentCategoryModel `json:"category"`
	// The VMware-assigned Managed Object Reference (MoRef) ID of the tag.
	Id *string `json:"id"`
	// The VMware-assigned name of the tag.
	Name *string `json:"name"`
	// The Clumio-assigned ID of the organizational unit associated with the tag.
	OrganizationalUnitId *string `json:"organizational_unit_id"`
	// The protection policy applied to this resource. If the resource is not protected, then this field has a value of `null`.
	ProtectionInfo *ProtectionInfo `json:"protection_info"`
	// The protection status of this tag. Refer to the Protection Status table for a complete list of protection statuses.
	ProtectionStatus *string `json:"protection_status"`
}

ReadTagResponse represents a custom type struct for Success

type ReadTaskHateoasLink struct {
	// The URI for the referenced operation.
	Href *string `json:"href"`
	// Determines whether the "href" link is a URI template. If set to `true`, the "href" link is a URI template.
	Templated *bool `json:"templated"`
	// The HTTP method to be used with the "href" link for the referenced operation.
	ClumioType *string `json:"type"`
}

ReadTaskHateoasLink represents a custom type struct. A HATEOAS link to the task associated with this resource.

type ReadTaskHateoasLinks struct {
	// A HATEOAS link to the task associated with this resource.
	ReadTask *ReadTaskHateoasLink `json:"read-task"`
}

ReadTaskHateoasLinks represents a custom type struct. URLs to pages related to the resource.

type ReadTaskHateoasOuterEmbedded added in v0.5.0

type ReadTaskHateoasOuterEmbedded struct {
	// Embeds the associated task of a resource in the response if requested using the `embed` query parameter.
	ReadTask interface{} `json:"read-task"`
}

ReadTaskHateoasOuterEmbedded represents a custom type struct. Embedded responses related to the resource.

type ReadTaskResponse

type ReadTaskResponse struct {
	// The ETag value.
	Etag *string `json:"_etag"`
	// URLs to pages related to the resource.
	Links *TaskLinks `json:"_links"`
	// The task category. Examples of task types include "backup", "restore", "snapshot", and "system".
	//
	// +-------------------+----------------------------------------------------------+
	// |     Category      |                       Description                        |
	// +===================+==========================================================+
	// | backup            | Encompasses all modes of backups. This does not include  |
	// |                   | in-account snapshots.                                    |
	// +-------------------+----------------------------------------------------------+
	// | restore           | Encompasses all modes of restores. This does not include |
	// |                   | restores of in-account snapshots.                        |
	// +-------------------+----------------------------------------------------------+
	// | snapshot          | Encompasses all modes of in-account snapshots.           |
	// +-------------------+----------------------------------------------------------+
	// | snapshot_restore  | Encompasses all modes of snapshot restores.              |
	// +-------------------+----------------------------------------------------------+
	// | system            | Encompasses a variety of system-initiated tasks, such as |
	// |                   | aws_rds_backup_target_setup and                          |
	// |                   | aws_ec2_instance_backup_indexing.                        |
	// +-------------------+----------------------------------------------------------+
	// | report_generation | Encompasses task types which generate reports, such as   |
	// |                   | activity_report_file_download.                           |
	// +-------------------+----------------------------------------------------------+
	// | management        | Encompasses user-initiated tasks which manage Clumio     |
	// |                   | resources, such as organizational_unit_update and        |
	// |                   | policy_update.                                           |
	// +-------------------+----------------------------------------------------------+
	//
	Category *string `json:"category"`
	// The timestamp of when the task was created. Represented in RFC-3339 format.
	CreatedTimestamp *string `json:"created_timestamp"`
	// The timestamp of when the task ended. If this task has not yet ended,
	// then this field has a value of `null`. Represented in RFC-3339 format.
	EndTimestamp *string `json:"end_timestamp"`
	// The task genre. A genre is a high-level collection of task categories.
	//
	// +----------------+-------------------------------------------------------------+
	// |     Genre      |                         Description                         |
	// +================+=============================================================+
	// | operational    | Encompasses all backup, restore, snapshot, and              |
	// |                | snapshot_restore tasks.                                     |
	// +----------------+-------------------------------------------------------------+
	// | administrative | Encompasses management, system, and report_generation       |
	// |                | tasks.                                                      |
	// +----------------+-------------------------------------------------------------+
	//
	Genre *string `json:"genre"`
	// The Clumio-assigned ID of the task.
	Id *string `json:"id"`
	// Determines whether or not this task can be aborted.
	// A task can be aborted if its status is either "queued" or "in_progress".
	// Tasks of certain types including
	// "vmware_vm_backup_indexing" and "aws_ebs_volume_backup_indexing" cannot be aborted.
	IsAbortable *bool `json:"is_abortable"`
	// The parent entity associated with the task.
	ParentEntity *TaskParentEntity `json:"parent_entity"`
	// The primary entity associated with the task.
	PrimaryEntity *TaskPrimaryEntity `json:"primary_entity"`
	// The percentage progress of task completion. Measured as an integer value between 0 and 100.
	ProgressPercentage *int64 `json:"progress_percentage"`
	// The timestamp of when the task started. If this task has not started yet,
	// then this field has a value of `null`. Represented in RFC-3339 format.
	StartTimestamp *string `json:"start_timestamp"`
	// The task status. Examples of task statuses include, "queued", "in_progress", and "completed".
	// Refer to the Task Status table for a complete list of task statuses.
	Status *string `json:"status"`
	// Refer to the Task Type table for a complete list of task types.
	ClumioType *string `json:"type"`
}

ReadTaskResponse represents a custom type struct for Success

type ReadUserResponse

type ReadUserResponse struct {
	// Embedded responses related to the resource.
	Embedded *UserEmbedded `json:"_embedded"`
	// ETag value
	Etag *string `json:"_etag"`
	// URLs to pages related to the resource.
	Links *UserLinks `json:"_links"`
	// The organizational units assigned to the user, with the specified role.
	AccessControlConfiguration []*RoleForOrganizationalUnits `json:"access_control_configuration"`
	// The email address of the Clumio user.
	Email *string `json:"email"`
	// The first and last name of the Clumio user. The name appears in the User Management screen and is used to identify the user.
	FullName *string `json:"full_name"`
	// The Clumio-assigned ID of the Clumio user.
	Id *string `json:"id"`
	// The ID number of the user who sent the email invitation.
	Inviter *string `json:"inviter"`
	// Determines whether the user has activated their Clumio account.
	// If `true`, the user has activated the account.
	IsConfirmed *bool `json:"is_confirmed"`
	// Determines whether the user is enabled (in "Activated" or "Invited" status) in Clumio.
	// If `true`, the user is in "Activated" or "Invited" status in Clumio.
	// Users in "Activated" status can log in to Clumio.
	// Users in "Invited" status have been invited to log in to Clumio via an email invitation and the invitation
	// is pending acceptance from the user.
	// If `false`, the user has been manually suspended and cannot log in to Clumio
	// until another Clumio user reactivates the account.
	IsEnabled *bool `json:"is_enabled"`
	// The timestamp of when the user was last active in the Clumio system. Represented in RFC-3339 format.
	LastActivityTimestamp *string `json:"last_activity_timestamp"`
	// The number of organizational units accessible to the user.
	OrganizationalUnitCount *int64 `json:"organizational_unit_count"`
}

ReadUserResponse represents a custom type struct for Success

type ReadUserResponseV1 added in v0.6.0

type ReadUserResponseV1 struct {
	// Embedded responses related to the resource.
	Embedded *UserEmbeddedV1 `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *UserLinks `json:"_links"`
	// The list of organizational unit IDs assigned to the user.
	// This attribute will be available when reading a single user and not when listing users.
	AssignedOrganizationalUnitIds []*string `json:"assigned_organizational_unit_ids"`
	// Assigned Role for the user.
	AssignedRole *string `json:"assigned_role"`
	// The email address of the Clumio user.
	Email *string `json:"email"`
	// The first and last name of the Clumio user. The name appears in the User Management screen and is used to identify the user.
	FullName *string `json:"full_name"`
	// The Clumio-assigned ID of the Clumio user.
	Id *string `json:"id"`
	// The ID number of the user who sent the email invitation.
	Inviter *string `json:"inviter"`
	// Determines whether the user has activated their Clumio account.
	// If `true`, the user has activated the account.
	IsConfirmed *bool `json:"is_confirmed"`
	// Determines whether the user is enabled (in "Activated" or "Invited" status) in Clumio.
	// If `true`, the user is in "Activated" or "Invited" status in Clumio.
	// Users in "Activated" status can log in to Clumio.
	// Users in "Invited" status have been invited to log in to Clumio via an email invitation and the invitation
	// is pending acceptance from the user.
	// If `false`, the user has been manually suspended and cannot log in to Clumio
	// until another Clumio user reactivates the account.
	IsEnabled *bool `json:"is_enabled"`
	// The timestamp of when the user was last active in the Clumio system. Represented in RFC-3339 format.
	LastActivityTimestamp *string `json:"last_activity_timestamp"`
	// The number of organizational units accessible to the user.
	OrganizationalUnitCount *int64 `json:"organizational_unit_count"`
}

ReadUserResponseV1 represents a custom type struct for Success

type ReadVCenterObjectProtectionStatsHateoasLink struct {
	// The URI for the referenced operation.
	Href *string `json:"href"`
	// Determines whether the "href" link is a URI template. If set to `true`, the "href" link is a URI template.
	Templated *bool `json:"templated"`
	// The HTTP method to be used with the "href" link for the referenced operation.
	ClumioType *string `json:"type"`
}

ReadVCenterObjectProtectionStatsHateoasLink represents a custom type struct. A HATEOAS link to the compliance statistics of VMs in the folders and subfolders of this vCenter resource.

type ReadVMBackupResponse

type ReadVMBackupResponse struct {
	// URLs to pages related to the resource.
	Links *VMBackupHateoasLinks `json:"_links"`
	// The reason that browsing is unavailable for the backup. Possible values include "file_limit_exceeded" and
	// "browsing_unavailable". If browse indexing is successful, then this field has a value of `null`.
	BrowsingFailedReason *string `json:"browsing_failed_reason"`
	// The VMware-assigned Managed Object Reference (MoRef) ID of the data center
	// associated with this backup.
	DatacenterId *string `json:"datacenter_id"`
	// The timestamp of when this backup expires. Represented in RFC-3339 format.
	ExpirationTimestamp *string `json:"expiration_timestamp"`
	// The VMware-assigned Managed Object Reference (MoRef) ID of the
	// host associated with this backup.
	HostId *string `json:"host_id"`
	// The Clumio-assigned ID of the backup.
	Id *string `json:"id"`
	// Determines whether browsing is available for the backup. If `true`, then browsing is available for the backup.
	IsBrowsable *bool `json:"is_browsable"`
	// TODO: Add struct field description
	Nics []*VMNicBackupModel `json:"nics"`
	// The VMware-assigned Managed Object Reference (MoRef) ID of the resource pool
	// associated with this backup.
	ResourcePoolId *string `json:"resource_pool_id"`
	// The timestamp of when this backup started. Represented in RFC-3339 format.
	StartTimestamp *string `json:"start_timestamp"`
	// VMTagWithCategoryModel
	// A tag associated with the VM.
	Tags []*VMTagWithCategoryModel `json:"tags"`
	// The IP address or FQDN of the vCenter server associated with this backup.
	// If a backup was initiated before 2020-06-30, when this field was introduced,
	// then this field has a value of `null`.
	VcenterEndpoint *string `json:"vcenter_endpoint"`
	// The Clumio-assigned ID of the vCenter associated with this backup.
	VcenterId *string `json:"vcenter_id"`
	// The VMware-assigned Managed Object Reference (MoRef) ID of the
	// VM folder associated with this backup.
	VmFolderId *string `json:"vm_folder_id"`
	// The VMware-assigned Managed Object Reference (MoRef) ID of the
	// VM associated with this backup.
	VmId *string `json:"vm_id"`
	// The name of the virtual machine associated with this backup.
	VmName *string `json:"vm_name"`
}

ReadVMBackupResponse represents a custom type struct for Success

type ReadVMwareComputeResourceStatsResponse

type ReadVMwareComputeResourceStatsResponse struct {
	// The ETag value.
	Etag *string `json:"_etag"`
	// URLs to pages related to the resource.
	Links *VMwareComputeResourceComplianceStatsLinks `json:"_links"`
	// The total number of compliant entities.
	CompliantCount *int64 `json:"compliant_count"`
	// The total number of entities associated with deactivated policies.
	DeactivatedCount *int64 `json:"deactivated_count"`
	// Determines whether one or more entities is currently seeding or waiting for seeding.
	// If set to `true`, at least one entity is currently seeding or waiting for seeding.
	HasSeedingEntities *bool `json:"has_seeding_entities"`
	// The total number of non-compliant entities.
	NonCompliantCount *int64 `json:"non_compliant_count"`
	// The number of entities with protection applied.
	ProtectedCount *int64 `json:"protected_count"`
	// The number of entities without protection applied.
	UnprotectedCount *int64 `json:"unprotected_count"`
}

ReadVMwareComputeResourceStatsResponse represents a custom type struct for Success

type ReadVMwareDatacenterStatsResponse

type ReadVMwareDatacenterStatsResponse struct {
	// The ETag value.
	Etag *string `json:"_etag"`
	// URLs to pages related to the resource.
	Links *VMwareDatacenterStatsLinks `json:"_links"`
	// The total number of compliant entities.
	CompliantCount *int64 `json:"compliant_count"`
	// The total number of entities associated with deactivated policies.
	DeactivatedCount *int64 `json:"deactivated_count"`
	// Determines whether one or more entities is currently seeding or waiting for seeding.
	// If set to `true`, at least one entity is currently seeding or waiting for seeding.
	HasSeedingEntities *bool `json:"has_seeding_entities"`
	// The total number of non-compliant entities.
	NonCompliantCount *int64 `json:"non_compliant_count"`
	// The number of entities with protection applied.
	ProtectedCount *int64 `json:"protected_count"`
	// The number of entities without protection applied.
	UnprotectedCount *int64 `json:"unprotected_count"`
}

ReadVMwareDatacenterStatsResponse represents a custom type struct for Success

type ReadVMwareDatastoreResponse

type ReadVMwareDatastoreResponse struct {
	// The ETag value.
	Etag *string `json:"_etag"`
	// URLs to pages related to the resource.
	Links *VMwareDatastoreLinks `json:"_links"`
	// TODO: Add struct field description
	ComputeResources []*ComputeResourceIDModel `json:"compute_resources"`
	// The data center in which this datastore resides.
	Datacenter *VMwareVCenterDatastoreDatacenterModel `json:"datacenter"`
	// VMwareVCenterDatastoreFolderModel
	// The datastore folder in which this datastore resides.
	DatastoreFolder *VMwareVCenterDatastoreFolderModel `json:"datastore_folder"`
	// The file system format used for the datastore. Refer to the Supported Datastore Types section for a complete list of datastore types.
	DatastoreType *string `json:"datastore_type"`
	// TODO: Add struct field description
	Hosts []*HostIDModel `json:"hosts"`
	// The VMware-assigned Managed Object Reference (MoRef) ID of the datastore.
	Id *string `json:"id"`
	// Determines whether the datastore is shared across multiple hosts. If `true`, the datastore is a multi-host datastore.
	IsMultiHost *bool `json:"is_multi_host"`
	// Determines whether the datastore can be used as a restore destination. If `true`, the datastore can be used as a restore destination and backups can be restored to the datastore.
	IsSupported *bool `json:"is_supported"`
	// The VMware-assigned name of this datastore.
	Name *string `json:"name"`
}

ReadVMwareDatastoreResponse represents a custom type struct for Success

type ReadVMwareFolderStatsResponse

type ReadVMwareFolderStatsResponse struct {
	// The ETag value.
	Etag *string `json:"_etag"`
	// URLs to pages related to the resource.
	Links *VMwareFolderStatsLinks `json:"_links"`
	// The total number of compliant entities.
	CompliantCount *int64 `json:"compliant_count"`
	// The total number of entities associated with deactivated policies.
	DeactivatedCount *int64 `json:"deactivated_count"`
	// Determines whether one or more entities is currently seeding or waiting for seeding.
	// If set to `true`, at least one entity is currently seeding or waiting for seeding.
	HasSeedingEntities *bool `json:"has_seeding_entities"`
	// The total number of non-compliant entities.
	NonCompliantCount *int64 `json:"non_compliant_count"`
	// The number of entities with protection applied.
	ProtectedCount *int64 `json:"protected_count"`
	// The number of entities without protection applied.
	UnprotectedCount *int64 `json:"unprotected_count"`
}

ReadVMwareFolderStatsResponse represents a custom type struct for Success

type ReadVMwareTagStatsResponse

type ReadVMwareTagStatsResponse struct {
	// The ETag value.
	Etag *string `json:"_etag"`
	// URLs to pages related to the resource.
	Links *VMwareTagStatsLinks `json:"_links"`
	// The total number of compliant entities.
	CompliantCount *int64 `json:"compliant_count"`
	// The total number of entities associated with deactivated policies.
	DeactivatedCount *int64 `json:"deactivated_count"`
	// Determines whether one or more entities is currently seeding or waiting for seeding.
	// If set to `true`, at least one entity is currently seeding or waiting for seeding.
	HasSeedingEntities *bool `json:"has_seeding_entities"`
	// The total number of non-compliant entities.
	NonCompliantCount *int64 `json:"non_compliant_count"`
	// The number of entities with protection applied.
	ProtectedCount *int64 `json:"protected_count"`
	// The number of entities without protection applied.
	UnprotectedCount *int64 `json:"unprotected_count"`
}

ReadVMwareTagStatsResponse represents a custom type struct for Success

type ReadVMwareVCenterNetworkResponse

type ReadVMwareVCenterNetworkResponse struct {
	// The ETag value.
	Etag *string `json:"_etag"`
	// URLs to pages related to the resource.
	Links *VMwareVCenterNetworkLinks `json:"_links"`
	// The data center associated with this network.
	Datacenter *VMwareVCenterNetworkDatacenterModel `json:"datacenter"`
	// The VMware-assigned ID of this network.
	Id *string `json:"id"`
	// Determines whether VMs can be connected to the network. If `true`, VMs can be connected to the network.
	IsSupported *bool `json:"is_supported"`
	// The name of this network.
	Name *string `json:"name"`
	// The network folder associated with this network.
	NetworkFolder *VMwareVCenterNetworkFolderModel `json:"network_folder"`
}

ReadVMwareVCenterNetworkResponse represents a custom type struct for Success

type ReadVMwareVCenterProtectionStatsLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

ReadVMwareVCenterProtectionStatsLinks represents a custom type struct. URLs to pages related to the resource.

type ReadVMwareVCenterProtectionStatsResponse

type ReadVMwareVCenterProtectionStatsResponse struct {
	// URLs to pages related to the resource.
	Links *ReadVMwareVCenterProtectionStatsLinks `json:"_links"`
	// The total number of compliant entities.
	CompliantCount *int64 `json:"compliant_count"`
	// The total number of entities associated with deactivated policies.
	DeactivatedCount *int64 `json:"deactivated_count"`
	// Determines whether one or more entities is currently seeding or waiting for seeding.
	// If set to `true`, at least one entity is currently seeding or waiting for seeding.
	HasSeedingEntities *bool `json:"has_seeding_entities"`
	// The total number of non-compliant entities.
	NonCompliantCount *int64 `json:"non_compliant_count"`
	// The number of entities with protection applied.
	ProtectedCount *int64 `json:"protected_count"`
	// The number of entities without protection applied.
	UnprotectedCount *int64 `json:"unprotected_count"`
}

ReadVMwareVCenterProtectionStatsResponse represents a custom type struct for Success

type ReadVcenterResponse

type ReadVcenterResponse struct {
	// Embedded responses related to the resource.
	Embedded *VcenterEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *VcenterLinks `json:"_links"`
	// The region to which data is backed-up to for the vCenter server. If the vCenter server's back up region is unavailable, this field has a value of `unavailable`. Refer to the Back up Regions table for a complete list of back up regions.
	BackupRegion *string `json:"backup_region"`
	// The URL at which the Clumio Cloud Connector for this vCenter server can be downloaded.
	CloudConnectorDownloadUrl *string `json:"cloud_connector_download_url"`
	// The IP address or FQDN of the vCenter server.
	Endpoint *string `json:"endpoint"`
	// The Clumio-assigned ID of the vCenter server.
	Id *string `json:"id"`
	// The IP address or FQDN of the vCenter server.
	// This field has been replaced by the `endpoint` field
	// and is being retained for backward compatibility reasons.
	IpAddress *string `json:"ip_address"`
	// The Clumio-assigned ID of the organizational unit associated with the vCenter.
	OrganizationalUnitId *string `json:"organizational_unit_id"`
	// The connection status of the Clumio Cloud Connector. Examples include "pending", "connected", "disconnected", "invalid_credentials", "partial", and "unavailable".
	Status *string `json:"status"`
	// The type of vCenter server. If the vCenter server's type is unavailable, this field has a value of `unavailable`. Refer to the vCenter Types table for a complete list of vCenter types.
	ClumioType *string `json:"type"`
	// The token given to the Clumio Cloud Connectors to identify the vCenter server.
	VcenterToken *string `json:"vcenter_token"`
}

ReadVcenterResponse represents a custom type struct for Success

type ReadVmResponse

type ReadVmResponse struct {
	// Embedded responses related to the resource.
	Embedded *VmEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *VmLinks `json:"_links"`
	// The policy compliance status of the resource. If the VM is deleted or unprotected, then this field has a value of `null`. Refer to the Compliance Status table for a complete list of compliance statuses.
	ComplianceStatus *string `json:"compliance_status"`
	// The compute resource from which the VM draws. If the VM is deleted, then `compute_resource.id` has a value of `null`.
	ComputeResource *VMComputeResourceModel `json:"compute_resource"`
	// The compute resource folder associated with this VM. If the VM is deleted, then this field has a value of `null`.
	ComputeResourceFolder *VMComputeResourceFolderModel `json:"compute_resource_folder"`
	// The data center in which the VM resides. If the VM is deleted, then `datacenter.id` has a value of `null`.
	Datacenter *VMDatacenterModel `json:"datacenter"`
	// The data center folder associated with this VM. If the VM is deleted, then this field has a value of `null`.
	DatacenterFolder *VMDatacenterFolderModel `json:"datacenter_folder"`
	// The host on which the VM resides. If the VM is deleted, then `host.id` and `host.is_standalone` have values of `null`. The `host.name` field may also have a value of `null`.
	Host *VMHostModel `json:"host"`
	// The VMware-assigned Managed Object Reference (MoRef) ID of the VM.
	// VMs from different vCenters may have the same VMware-assigned ID.
	Id *string `json:"id"`
	// Determines whether the VM is deleted. If `true`, the VM is deleted.
	IsDeleted *bool `json:"is_deleted"`
	// Determines whether the VM is supported for backups. If `true`, the VM is supported for backups.
	IsSupported *bool `json:"is_supported"`
	// The timestamp of when the VM was last
	// backed up. If this VM has not been backed up, then this field has a value of `null`.
	LastBackupTimestamp *string `json:"last_backup_timestamp"`
	// The name of the virtual machine.
	Name *string `json:"name"`
	// The network interface card (NIC) attached to the VM.
	Nics []*VMNicModel `json:"nics"`
	// The Clumio-assigned ID of the organizational unit associated with the VM.
	OrganizationalUnitId *string `json:"organizational_unit_id"`
	// The protection policy applied to this resource. If the resource is not protected, then this field has a value of `null`.
	ProtectionInfo *ProtectionInfo `json:"protection_info"`
	// The protection status of the resource. If the VM has been deleted, then this field has a value of `null`. Refer to the Protection Status table for a complete list of protection statuses.
	ProtectionStatus *string `json:"protection_status"`
	// The resource pool from which the VM draws. If the VM is deleted, then `resource_pool.id` and `resource_pool.is_root` have values of `null`.
	ResourcePool *VMResourcePoolModel `json:"resource_pool"`
	// VMTagWithCategoryModel
	// A tag associated with the VM.
	Tags []*VMTagWithCategoryModel `json:"tags"`
	// The reason why the VM cannot be supported. If the VM is supported, then this field has a value of `null`.
	UnsupportedReason *string `json:"unsupported_reason"`
	// The Clumio-assigned ID of the VM.
	// Use this parameter in the [GET /backups/files/search](#operation/list-files) endpoint
	// to search for files in backups of this VM.
	Uuid *string `json:"uuid"`
	// The VM folder containing the VM. If the VM is deleted, then `vm_folder.id` has a value of `null`.
	VmFolder *VMFolderModel `json:"vm_folder"`
}

ReadVmResponse represents a custom type struct for Success

type ReadWalletResponse added in v0.2.7

type ReadWalletResponse struct {
	// Embedded responses related to the resource.
	Embedded interface{} `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *WalletLinks `json:"_links"`
	// AWS Account ID associated with the wallet.
	AccountNativeId *string `json:"account_native_id"`
	// Version of the template available
	AvailableVersion *int64 `json:"available_version"`
	// Clumio AWS Account ID.
	ClumioAwsAccountId *string `json:"clumio_aws_account_id"`
	// DeploymentURL is an (external) link to an AWS console page for quick-creation
	// of the stack.
	DeploymentUrl *string `json:"deployment_url"`
	// ErrorCode is a short string describing the error, if any.
	ErrorCode *string `json:"error_code"`
	// ErrorMessage is a longer description explaining the error, if any, and how to
	// fix it.
	ErrorMessage *string `json:"error_message"`
	// The Clumio-assigned ID of the wallet.
	Id *string `json:"id"`
	// The regions where the wallet is installed.
	InstalledRegions []*string `json:"installed_regions"`
	// TODO: Add struct field description
	KeyErrors map[string]*ErrorModel `json:"key_errors"`
	// RoleArn is the AWS Resource Name of the IAM Role created by the stack.
	RoleArn *string `json:"role_arn"`
	// The version of the stack used or being used.
	StackVersion *int64 `json:"stack_version"`
	// State describes the state of the wallet. Valid states are:
	// Waiting: The wallet has been created, but a stack hasn't been created. The
	// wallet can't be used in this state.
	// Enabled: The wallet has been created and a stack has been created for the
	// wallet. This is the normal expected state of a wallet in use.
	// Error:   The wallet is inaccessible. See ErrorCode and ErrorMessage fields for
	// additional details.
	State *string `json:"state"`
	// The supported regions for the wallet.
	SupportedRegions []*string `json:"supported_regions"`
	// TemplateURL is the URL to the CloudFormation template to be used to create the
	// CloudFormation stack.
	TemplateUrl *string `json:"template_url"`
	// Token is used to identify and authenticate the CloudFormation stack creation.
	Token *string `json:"token"`
}

ReadWalletResponse represents a custom type struct for Success

type RefreshWalletResponse added in v0.2.7

type RefreshWalletResponse struct {
	// Embedded responses related to the resource.
	Embedded interface{} `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *WalletLinks `json:"_links"`
	// AWS Account ID associated with the wallet.
	AccountNativeId *string `json:"account_native_id"`
	// Version of the template available
	AvailableVersion *int64 `json:"available_version"`
	// Clumio AWS Account ID.
	ClumioAwsAccountId *string `json:"clumio_aws_account_id"`
	// DeploymentURL is an (external) link to an AWS console page for quick-creation
	// of the stack.
	DeploymentUrl *string `json:"deployment_url"`
	// ErrorCode is a short string describing the error, if any.
	ErrorCode *string `json:"error_code"`
	// ErrorMessage is a longer description explaining the error, if any, and how to
	// fix it.
	ErrorMessage *string `json:"error_message"`
	// The Clumio-assigned ID of the wallet.
	Id *string `json:"id"`
	// The regions where the wallet is installed.
	InstalledRegions []*string `json:"installed_regions"`
	// TODO: Add struct field description
	KeyErrors map[string]*ErrorModel `json:"key_errors"`
	// RoleArn is the AWS Resource Name of the IAM Role created by the stack.
	RoleArn *string `json:"role_arn"`
	// The version of the stack used or being used.
	StackVersion *int64 `json:"stack_version"`
	// State describes the state of the wallet. Valid states are:
	// Waiting: The wallet has been created, but a stack hasn't been created. The
	// wallet can't be used in this state.
	// Enabled: The wallet has been created and a stack has been created for the
	// wallet. This is the normal expected state of a wallet in use.
	// Error:   The wallet is inaccessible. See ErrorCode and ErrorMessage fields for
	// additional details.
	State *string `json:"state"`
	// The supported regions for the wallet.
	SupportedRegions []*string `json:"supported_regions"`
	// TemplateURL is the URL to the CloudFormation template to be used to create the
	// CloudFormation stack.
	TemplateUrl *string `json:"template_url"`
	// Token is used to identify and authenticate the CloudFormation stack creation.
	Token *string `json:"token"`
}

RefreshWalletResponse represents a custom type struct for Success

type ReplicaDescription added in v0.5.0

type ReplicaDescription struct {
	// Represents the properties of a replica global secondary index.
	GlobalSecondaryIndexes []*ReplicaGlobalSecondaryIndexDescription `json:"global_secondary_indexes"`
	// The AWS KMS key of the replica that will be used for AWS KMS encryption.
	KmsMasterKeyId *string `json:"kms_master_key_id"`
	// Replica-specific provisioned throughput settings. If not specified, uses the source table's provisioned throughput settings.
	ProvisionedThroughputOverride *ProvisionedThroughputOverride `json:"provisioned_throughput_override"`
	// The name of the Region.
	RegionName *string `json:"region_name"`
}

ReplicaDescription represents a custom type struct. Contains the details of the replica.

type ReplicaGlobalSecondaryIndexDescription added in v0.5.0

type ReplicaGlobalSecondaryIndexDescription struct {
	// The name of the global secondary index.
	IndexName *string `json:"index_name"`
	// Replica-specific provisioned throughput settings. If not specified, uses the source table's provisioned throughput settings.
	ProvisionedThroughputOverride *ProvisionedThroughputOverride `json:"provisioned_throughput_override"`
}

ReplicaGlobalSecondaryIndexDescription represents a custom type struct. Represents the properties of a replica global secondary index.

type ReportDownload

type ReportDownload struct {
	// The link to the actual CSV report.
	DownloadLink *string `json:"download_link"`
	// The time when the request was completed.
	EndTimestamp *string `json:"end_timestamp"`
	// The time when this report CSV will expire and not be available for download.
	ExpirationTimestamp *string `json:"expiration_timestamp"`
	// The name of CSV file.
	FileName *string `json:"file_name"`
	// The filters applied to the report when download was initiated.
	Filters *string `json:"filters"`
	// The id of the report that uniquely identifies the report.
	Id *string `json:"id"`
	// The time when the request was made.
	StartTimestamp *string `json:"start_timestamp"`
	// The Clumio-assigned ID of the task which generated the restored file.
	TaskId *string `json:"task_id"`
	// The type of report this CSV Download is associated with.
	// The possible values include "activity" and "compliance".
	ClumioType *string `json:"type"`
}

ReportDownload represents a custom type struct

type ReportDownloadLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// A HATEOAS link to the task associated with this resource.
	ReadTask *ReadTaskHateoasLink `json:"read-task"`
}

ReportDownloadLinks represents a custom type struct. _links provides URLs to the related resources of a report CSV download

type ReportDownloadListEmbedded

type ReportDownloadListEmbedded struct {
	// TODO: Add struct field description
	Items []*ReportDownload `json:"items"`
}

ReportDownloadListEmbedded represents a custom type struct. _embedded contains the list of items of a list report CSV download query

type ReportDownloadListLinks struct {
	// The HATEOAS link to the first page of results.
	First *HateoasFirstLink `json:"_first"`
	// The HATEOAS link to the last page of results.
	Last *HateoasLastLink `json:"_last"`
	// The HATEOAS link to the next page of results.
	Next *HateoasNextLink `json:"_next"`
	// The HATEOAS link to the previous page of results.
	Prev *HateoasPrevLink `json:"_prev"`
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

ReportDownloadListLinks represents a custom type struct. _links provides URLs to related navigable pages of a list report CSV download query

type ResourcePoolDatacenterModel

type ResourcePoolDatacenterModel struct {
	// The VMware-assigned Managed Object Reference (MoRef) ID of the data center.
	Id *string `json:"id"`
}

ResourcePoolDatacenterModel represents a custom type struct. The data center in which the resource pool resides.

type ResourcePoolLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

ResourcePoolLinks represents a custom type struct. URLs to pages related to the resource.

type ResourcePoolListEmbedded

type ResourcePoolListEmbedded struct {
	// ResourcePoolWithETag to support etag string to be calculated
	Items []*ResourcePoolWithETag `json:"items"`
}

ResourcePoolListEmbedded represents a custom type struct. Embedded responses related to the resource.

type ResourcePoolListLinks struct {
	// The HATEOAS link to the first page of results.
	First *HateoasFirstLink `json:"_first"`
	// The HATEOAS link to the last page of results.
	Last *HateoasLastLink `json:"_last"`
	// The HATEOAS link to the next page of results.
	Next *HateoasNextLink `json:"_next"`
	// The HATEOAS link to the previous page of results.
	Prev *HateoasPrevLink `json:"_prev"`
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

ResourcePoolListLinks represents a custom type struct. URLs to pages related to the resource.

type ResourcePoolWithETag

type ResourcePoolWithETag struct {
	// The ETag value.
	Etag *string `json:"_etag"`
	// URLs to pages related to the resource.
	Links *ResourcePoolLinks `json:"_links"`
	// The compute resource that the resource pool comprises.
	ComputeResource *VMwareResourcePoolComputeResourceModel `json:"compute_resource"`
	// The data center in which the resource pool resides.
	Datacenter *ResourcePoolDatacenterModel `json:"datacenter"`
	// The VMware-assigned Managed Object Reference (MoRef) ID of the resource pool.
	Id *string `json:"id"`
	// Determines whether the resource pool is the default, hidden resource pool.
	IsRoot *bool `json:"is_root"`
	// Determines whether the resource pool can be used as a restore destination. If `true`, the resource pool can be used as a restore destination and backups can be restored to the resource pool.
	IsSupported *bool `json:"is_supported"`
	// The VMware-assigned name of the resource pool.
	Name *string `json:"name"`
	// The vCenter object that is the parent of the resource pool.
	Parent *VMwareResourcePoolParentModel `json:"parent"`
}

ResourcePoolWithETag represents a custom type struct. ResourcePoolWithETag to support etag string to be calculated

type Resources added in v0.12.1

type Resources struct {
	// SNS topic created in the account to receive relevant events.
	ClumioEventPubArn *string `json:"clumio_event_pub_arn"`
	// ARN of the IAM role created in the account, which will be assumed by Clumio.
	ClumioIamRoleArn *string `json:"clumio_iam_role_arn"`
	// ARN of the support role which will be used by the Clumio support team.
	ClumioSupportRoleArn *string `json:"clumio_support_role_arn"`
	// TODO: Add struct field description
	EventRules *EventRules `json:"event_rules"`
	// TODO: Add struct field description
	ServiceRoles *ServiceRoles `json:"service_roles"`
}

Resources represents a custom type struct. Partial updates are not supported, therefore you must provide ARNs for all configured resources, including those for resources that are not being updated.

type RestEntity

type RestEntity struct {
	// A system-generated ID assigned to this entity.
	Id *string `json:"id"`
	// Type is mostly an asset type or the type of Entity. Some examples are
	// "restored_file", "vmware_vm",  etc.
	ClumioType *string `json:"type"`
	// A system-generated value assigned to the entity. For example, if the primary entity type is "vmware_vm" for a virtual machine, then the value is the name of the VM.
	Value *string `json:"value"`
}

RestEntity represents a custom type struct

type RestoreAwsDynamodbTableV1Request added in v0.5.0

type RestoreAwsDynamodbTableV1Request struct {
	// The DynamoDB table restore backup or point-in-time restore options. Only one of these fields should be set.
	Source *DynamoDBTableRestoreSource `json:"source"`
	// The configuration of the restored DynamoDB table.
	// For restore from snapshot, use the DynamoDB table configurations present at time of snapshot obtained from
	// [GET /backups/aws/dynamodb-tables/{backup_id}](#operation/read-backup-aws-dynamodb-table) and for restoring point-in-time,
	// use the current configuration of the table from [GET /datasources/aws/dynamodb-tables/{table_id}](#operation/read-aws-dynamodb-table).
	// The table properties are set to empty or to their default values if they are specified as `null`.
	Target *DynamoDBTableRestoreTarget `json:"target"`
}

RestoreAwsDynamodbTableV1Request represents a custom type struct

type RestoreAwsEbsVolumeV1Request

type RestoreAwsEbsVolumeV1Request struct {
	// The EBS volume backup to be restored.
	Source *EBSRestoreSourceV1 `json:"source"`
	// The configuration of the EBS volume to be restored.
	Target *EBSRestoreTargetV1 `json:"target"`
}

RestoreAwsEbsVolumeV1Request represents a custom type struct

type RestoreAwsEbsVolumeV2Request added in v0.5.0

type RestoreAwsEbsVolumeV2Request struct {
	// The EBS volume backup to be restored.
	Source *EBSRestoreSource `json:"source"`
	// The configuration of the EBS volume to be restored.
	Target *EBSRestoreTarget `json:"target"`
}

RestoreAwsEbsVolumeV2Request represents a custom type struct

type RestoreAwsEc2InstanceV1Request added in v0.5.0

type RestoreAwsEc2InstanceV1Request struct {
	// The EC2 instance backup to be restored.
	Source *EC2RestoreSource `json:"source"`
	// The target configuration per EC2 restore type. Only one of these fields should be set.
	Target *EC2RestoreTarget `json:"target"`
}

RestoreAwsEc2InstanceV1Request represents a custom type struct

type RestoreAwsRdsResourceV1Request added in v0.5.0

type RestoreAwsRdsResourceV1Request struct {
	// The RDS resource backup or snapshot to be restored.  Only one of these fields should be set.
	Source *RdsResourceRestoreSource `json:"source"`
	// The configuration of the RDS resource to be restored.
	Target *RdsResourceRestoreTarget `json:"target"`
}

RestoreAwsRdsResourceV1Request represents a custom type struct

type RestoreDynamoDBTableLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// A HATEOAS link to the task associated with this resource.
	ReadTask *ReadTaskHateoasLink `json:"read-task"`
}

RestoreDynamoDBTableLinks represents a custom type struct. URLs to pages related to the resource.

type RestoreDynamoDBTableResponse added in v0.5.0

type RestoreDynamoDBTableResponse struct {
	// Embedded responses related to the resource.
	Embedded *ReadTaskHateoasOuterEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *RestoreDynamoDBTableLinks `json:"_links"`
	// The Clumio-assigned ID of the task created by this restore request.
	// The progress of the task can be monitored using the
	// `GET /tasks/{task_id}` endpoint.
	TaskId *string `json:"task_id"`
}

RestoreDynamoDBTableResponse represents a custom type struct for Success

type RestoreEBSLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// A HATEOAS link to the task associated with this resource.
	ReadTask *ReadTaskHateoasLink `json:"read-task"`
}

RestoreEBSLinks represents a custom type struct. URLs to pages related to the resource.

type RestoreEBSResponse added in v0.5.0

type RestoreEBSResponse struct {
	// Embedded responses related to the resource.
	Embedded *ReadTaskHateoasOuterEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *RestoreEBSLinks `json:"_links"`
	// The Clumio-assigned ID of the task created by this restore request.
	// The progress of the task can be monitored using the
	// `GET /tasks/{task_id}` endpoint.
	TaskId *string `json:"task_id"`
}

RestoreEBSResponse represents a custom type struct for Success

type RestoreEBSResponseV1 added in v0.10.0

type RestoreEBSResponseV1 struct {
	// HateoasCommonLinks are the common fields for HATEOAS response.
	Links *HateoasCommonLinks `json:"_links"`
}

RestoreEBSResponseV1 represents a custom type struct for Success

type RestoreEC2Links struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// A HATEOAS link to the task associated with this resource.
	ReadTask *ReadTaskHateoasLink `json:"read-task"`
}

RestoreEC2Links represents a custom type struct. URLs to pages related to the resource.

type RestoreEC2Response added in v0.5.0

type RestoreEC2Response struct {
	// Embedded responses related to the resource.
	Embedded *ReadTaskHateoasOuterEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *RestoreEC2Links `json:"_links"`
	// The Clumio-assigned ID of the task created by this restore request.
	// The progress of the task can be monitored using the
	// `GET /tasks/{task_id}` endpoint.
	TaskId *string `json:"task_id"`
}

RestoreEC2Response represents a custom type struct for Success

type RestoreEc2MssqlDatabaseV1Request added in v0.6.0

type RestoreEc2MssqlDatabaseV1Request struct {
	// The EC2 MSSQL database backup to be restored. Only one of `backup` or `pitr`
	// should be set.
	// `pitr` A database backup at a specific point in time to be restored.
	Source *EC2MSSQLRestoreSource `json:"source"`
	// The configuration of the EC2 MSSQL database to which the data has to be restored.
	Target *EC2MSSQLRestoreTarget `json:"target"`
}

RestoreEc2MssqlDatabaseV1Request represents a custom type struct

type RestoreFileLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// A HATEOAS link to the task associated with this resource.
	ReadTask *ReadTaskHateoasLink `json:"read-task"`
}

RestoreFileLinks represents a custom type struct. URLs to pages related to the resource.

type RestoreFileResponse

type RestoreFileResponse struct {
	// Embedded responses related to the resource.
	Embedded *ReadTaskHateoasOuterEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *RestoreFileLinks `json:"_links"`
	// The Clumio-assigned ID of the restored file.
	Id *string `json:"id"`
	// The passcode that the end-user must use to access the restored
	// file, in the case the restored file was emailed to the end-user as part
	// of transparent data access.
	Passcode *string `json:"passcode"`
	// The Clumio-assigned ID of the task created by this restore request.
	// The progress of the task can be monitored using the
	// `GET /tasks/{task_id}` endpoint.
	TaskId *string `json:"task_id"`
}

RestoreFileResponse represents a custom type struct for Success

type RestoreFilesV1Request

type RestoreFilesV1Request struct {
	// The files to be restored and from which backup they are to be restored from.
	Source *FileRestoreSource `json:"source"`
	// The destination information for the file level restore, representing the access option
	// for the restored file. Users can access the restored file by direct download or by
	// email. The direct download (`direct_download`) option allows users to directly download
	// the restored file from the Clumio UI. The email (`email`) option allows users to access
	// the restored file using a downloadable link they receive by email. If a target is not
	// specified, then `target` defaults to `direct_download`.
	Target *FileRestoreTarget `json:"target"`
}

RestoreFilesV1Request represents a custom type struct

type RestoreMssqlDatabaseV1Request

type RestoreMssqlDatabaseV1Request struct {
	// The MSSQL database backup to be restored. Only one of `backup` or `pitr`
	// should be set.
	Source *MssqlRestoreSource `json:"source"`
	// The configuration of the MSSQL database to which the data has to be restored.
	Target *MssqlRestoreTarget `json:"target"`
}

RestoreMssqlDatabaseV1Request represents a custom type struct

type RestoreObjectsLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// A HATEOAS link to the task associated with this resource.
	ReadTask *ReadTaskHateoasLink `json:"read-task"`
}

RestoreObjectsLinks represents a custom type struct. URLs to pages related to the resource.

type RestoreObjectsResponse added in v0.6.0

type RestoreObjectsResponse struct {
	// Embedded responses related to the resource.
	Embedded *ReadTaskHateoasOuterEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *RestoreObjectsLinks `json:"_links"`
	// The Clumio-assigned ID of the task created by this restore request.
	// The progress of the task can be monitored using the
	// `GET /tasks/{task_id}` endpoint.
	TaskId *string `json:"task_id"`
}

RestoreObjectsResponse represents a custom type struct for Success

type RestoreProtectionGroupLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// A HATEOAS link to the task associated with this resource.
	ReadTask *ReadTaskHateoasLink `json:"read-task"`
}

RestoreProtectionGroupLinks represents a custom type struct. URLs to pages related to the resource.

type RestoreProtectionGroupResponse added in v0.2.5

type RestoreProtectionGroupResponse struct {
	// Embedded responses related to the resource.
	Embedded *ReadTaskHateoasOuterEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *RestoreProtectionGroupLinks `json:"_links"`
	// The Clumio-assigned ID of the task created by this restore request.
	// The progress of the task can be monitored using the
	// `GET /tasks/{task_id}` endpoint.
	TaskId *string `json:"task_id"`
}

RestoreProtectionGroupResponse represents a custom type struct for Success

type RestoreProtectionGroupS3AssetLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// A HATEOAS link to the task associated with this resource.
	ReadTask *ReadTaskHateoasLink `json:"read-task"`
}

RestoreProtectionGroupS3AssetLinks represents a custom type struct. URLs to pages related to the resource.

type RestoreProtectionGroupS3AssetResponse added in v0.2.5

type RestoreProtectionGroupS3AssetResponse struct {
	// Embedded responses related to the resource.
	Embedded *ReadTaskHateoasOuterEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *RestoreProtectionGroupS3AssetLinks `json:"_links"`
	// The Clumio-assigned ID of the task created by this restore request.
	// The progress of the task can be monitored using the
	// `GET /tasks/{task_id}` endpoint.
	TaskId *string `json:"task_id"`
}

RestoreProtectionGroupS3AssetResponse represents a custom type struct for Success

type RestoreProtectionGroupS3AssetV1Request added in v0.2.5

type RestoreProtectionGroupS3AssetV1Request struct {
	// The parameters for initiating a protection group S3 asset restore
	// or creation of an instant access endpoint from a backup.
	Source *ProtectionGroupS3AssetRestoreSource `json:"source"`
	// The destination where the protection group will be restored.
	Target *ProtectionGroupRestoreTarget `json:"target"`
}

RestoreProtectionGroupS3AssetV1Request represents a custom type struct

type RestoreProtectionGroupS3ObjectsV1Request added in v0.6.0

type RestoreProtectionGroupS3ObjectsV1Request struct {
	// Object defines one object to restore
	Source []*Object `json:"source"`
	// The destination where the protection group will be restored.
	Target *ProtectionGroupRestoreTarget `json:"target"`
}

RestoreProtectionGroupS3ObjectsV1Request represents a custom type struct

type RestoreProtectionGroupV1Request added in v0.2.5

type RestoreProtectionGroupV1Request struct {
	// The parameters for initiating a protection group restore from a backup.
	Source *ProtectionGroupRestoreSource `json:"source"`
	// The destination where the protection group will be restored.
	Target *ProtectionGroupRestoreTarget `json:"target"`
}

RestoreProtectionGroupV1Request represents a custom type struct

type RestoreRdsRecordResponseWrapper added in v0.6.0

type RestoreRdsRecordResponseWrapper struct {
	// HTTP status code of response
	StatusCode int
	// RestoreRecordPreviewResponse represents Success response of status code Http200
	Http200 *RestoreRecordPreviewResponse
	// RestoreRecordResponse represents Success response of status code Http202
	Http202 *RestoreRecordResponse
}

RestoreRdsRecordResponseWrapper represents a custom type struct wrapper for different success responses

type RestoreRdsRecordV1Request added in v0.5.0

type RestoreRdsRecordV1Request struct {
	// The RDS database backup to be queried.
	Source *GrrSource `json:"source"`
	// The query to perform on the source RDS database.
	Target *GrrTarget `json:"target"`
}

RestoreRdsRecordV1Request represents a custom type struct

type RestoreRecordPreviewResponse added in v0.5.0

type RestoreRecordPreviewResponse struct {
	// HateoasCommonLinks are the common fields for HATEOAS response.
	Links *HateoasCommonLinks `json:"_links"`
	// The preview of the query result, if `preview:true` in the request.
	// If preview was not set to true in the request, then the result of the query will be
	// available for download asynchronously.
	PreviewResult *RDSLogicalPreviewQueryResult `json:"preview_result"`
}

RestoreRecordPreviewResponse represents a custom type struct. Preview Success

type RestoreRecordResponse added in v0.5.0

type RestoreRecordResponse struct {
	// Embedded responses related to the resource.
	Embedded *ReadTaskHateoasOuterEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *CreateRestoreRecordResponseLinks `json:"_links"`
	// The Clumio-assigned ID of the task generated by this request.
	// The requested records will be available for asynchronous download when the Task completes.
	// Use the [GET /restores/aws/rds-resources/records](#operation/list-rds-restored-records)
	// endpoint to list the records available for download.
	// If `"preview":true` was set in the request, then a preview of the result
	// will be given instead of a Task ID.
	TaskId *string `json:"task_id"`
}

RestoreRecordResponse represents a custom type struct for Success

type RestoreRecordsAwsDynamodbTableResponseWrapper added in v0.6.0

type RestoreRecordsAwsDynamodbTableResponseWrapper struct {
	// HTTP status code of response
	StatusCode int
	// RestoreRecordsResponseSync represents Success response of status code Http200
	Http200 *RestoreRecordsResponseSync
	// RestoreRecordsResponseAsync represents Success response of status code Http202
	Http202 *RestoreRecordsResponseAsync
}

RestoreRecordsAwsDynamodbTableResponseWrapper represents a custom type struct wrapper for different success responses

type RestoreRecordsAwsDynamodbTableV1Request added in v0.5.0

type RestoreRecordsAwsDynamodbTableV1Request struct {
	// Filters based on which DynamoDB backup records are filtered in the query.
	QueryFilter *DynamoDBGRRQueryFilter `json:"query_filter"`
	// The parameters for initiating a DynamoDB table backup query from a backup.
	Source *DynamoDBGrrSource `json:"source"`
	// The destination information for the operation, representing the access option
	// for the query results. Users can access the query results by direct download or by
	// email. The direct download (`direct_download`) option allows users to directly download
	// the restored file from the Clumio UI. The email (`email`) option allows users to access
	// the restored file using a downloadable link they receive by email. If a target is not
	// specified, then `target` defaults to `direct_download`.
	Target *DynamoDBGrrTarget `json:"target"`
}

RestoreRecordsAwsDynamodbTableV1Request represents a custom type struct

type RestoreRecordsLinksAsync added in v0.5.0

type RestoreRecordsLinksAsync struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// A HATEOAS link to the task associated with this resource.
	ReadTask *ReadTaskHateoasLink `json:"read-task"`
}

RestoreRecordsLinksAsync represents a custom type struct. URLs to pages related to the resource.

type RestoreRecordsLinksSync added in v0.5.0

type RestoreRecordsLinksSync struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

RestoreRecordsLinksSync represents a custom type struct. URLs to pages related to the resource.

type RestoreRecordsResponseAsync added in v0.5.0

type RestoreRecordsResponseAsync struct {
	// Embedded responses related to the resource.
	Embedded *ReadTaskHateoasOuterEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *RestoreRecordsLinksAsync `json:"_links"`
	// passcode that the end-user must use to access the restored
	// file, in case when restored file was emailed to the end-user as part
	// of transparent data access.
	Passcode *string `json:"passcode"`
	// The Clumio-assigned ID of the task generated by this request.
	// The requested records will be available for asynchronous download when the Task completes.
	// Use the [GET /restores/aws/dynamodb-tables/records](#operation/list-restored-records-aws-dynamodb-table)
	// endpoint to list the records available for download.
	// If `"preview":true` was set in the request, then a preview of the result
	// will be given instead of a Task ID, and this field will be omitted.
	TaskId *string `json:"task_id"`
}

RestoreRecordsResponseAsync represents a custom type struct. Records restore request accepted

type RestoreRecordsResponseSync added in v0.5.0

type RestoreRecordsResponseSync struct {
	// URLs to pages related to the resource.
	Links *RestoreRecordsLinksSync `json:"_links"`
	// If preview was not set to true in the request, then the result of the query will be
	// available for download asynchronously and this field has a value of `null`.
	PreviewResult *DynamoDBQueryPreviewResult `json:"preview_result"`
}

RestoreRecordsResponseSync represents a custom type struct. Records preview success

type RestoreVMwareVMResponse

type RestoreVMwareVMResponse struct {
	// Embedded responses related to the resource.
	Embedded *ReadTaskHateoasOuterEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *ReadTaskHateoasLinks `json:"_links"`
	// The Clumio-assigned ID of the task created by this restore request. The progress of the task can be monitored using the `GET /tasks/{task_id}` endpoint.
	TaskId *string `json:"task_id"`
}

RestoreVMwareVMResponse represents a custom type struct for Success

type RestoreVmwareVmV1Request

type RestoreVmwareVmV1Request struct {
	// Additional VM restore options.
	Options *VMRestoreOptions `json:"options"`
	// The VM backup to be restored.
	Source *VMRestoreSource `json:"source"`
	// The configuration of the VM to be restored.
	Target *VMRestoreTarget `json:"target"`
}

RestoreVmwareVmV1Request represents a custom type struct

type RestoredFileInfo

type RestoredFileInfo struct {
	// Specifies information about the data-access method for accessing the restored
	// file.
	AccessMethods []*DataAccessObject `json:"access_methods"`
	// The Clumio-assigned ID of the backup associated with this restored file.
	BackupId *string `json:"backup_id"`
	// The timestamp of the when the backup associated with this file started.
	// Represented in RFC-3339 format.
	BackupTimestamp *string `json:"backup_timestamp"`
	// The timestamp of when the restored file will expire. Represented in RFC-3339
	// format.
	ExpirationTimestamp *string `json:"expiration_timestamp"`
	// The Clumio-assigned ID of the restored file.
	Id *string `json:"id"`
	// The Clumio-assigned name of the restored file.
	Name *string `json:"name"`
	// The size of the restored file. Measured in bytes (B).
	Size *int64 `json:"size"`
	// The Clumio-assigned ID of the task which generated the restored file.
	TaskId *string `json:"task_id"`
}

RestoredFileInfo represents a custom type struct

type RestoredFilesListEmbedded

type RestoredFilesListEmbedded struct {
	// TODO: Add struct field description
	Items []*RestoredFileInfo `json:"items"`
}

RestoredFilesListEmbedded represents a custom type struct. Embedded responses related to the resource.

type RestoredFilesListLinks struct {
	// The HATEOAS link to the first page of results.
	First *HateoasFirstLink `json:"_first"`
	// The HATEOAS link to the last page of results.
	Last *HateoasLastLink `json:"_last"`
	// The HATEOAS link to the next page of results.
	Next *HateoasNextLink `json:"_next"`
	// The HATEOAS link to the previous page of results.
	Prev *HateoasPrevLink `json:"_prev"`
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

RestoredFilesListLinks represents a custom type struct. URLs to pages related to the resource.

type RestoredFilesResponse

type RestoredFilesResponse struct {
	// Embedded responses related to the resource.
	Embedded *RestoredFilesListEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *RestoredFilesListLinks `json:"_links"`
	// The number of items listed on the current page.
	CurrentCount *int64 `json:"current_count"`
	// The maximum number of items displayed per page in the response.
	Limit *int64 `json:"limit"`
	// The page number used to get this response.
	// Pages are indexed starting from 1 (i.e., `"start": "1"`).
	Start *string `json:"start"`
	// The total number of items, summed across all pages.
	TotalCount *int64 `json:"total_count"`
	// The total number of pages of results.
	TotalPagesCount *int64 `json:"total_pages_count"`
}

RestoredFilesResponse represents a custom type struct for Success

type RestoredRecord added in v0.5.0

type RestoredRecord struct {
	// URLs to pages related to the resource.
	Links *RestoredRecordLinks `json:"_links"`
	// The AWS-assigned ID of the account with this record.
	AccountNativeId *string `json:"account_native_id"`
	// The AWS region associated with this record. For example, `us-west-2`.
	AwsRegion *string `json:"aws_region"`
	// The Clumio-assigned ID of the backup associated with this record.
	BackupId *string `json:"backup_id"`
	// The AWS-assigned name of the database associated with this record.
	DatabaseName *string `json:"database_name"`
	// The download link of the query result.
	DownloadLink *string `json:"download_link"`
	// The timestamp of when the record will expire. Represented in RFC-3339 format.
	ExpirationTimestamp *string `json:"expiration_timestamp"`
	// The Clumio-assigned ID of the restored record.
	Id *string `json:"id"`
	// The SQL query statement which produced this record.
	QueryStatement *string `json:"query_statement"`
	// The Clumio-assigned ID of the RDS resource associated with this record.
	ResourceId *string `json:"resource_id"`
	// The number of rows produced by the query.
	RowCount *int64 `json:"row_count"`
	// The timestamp of when the query was executed. Represented in RFC-3339 format.
	StartTimestamp *string `json:"start_timestamp"`
	// The Clumio-assigned ID of the task which generated the restored record.
	TaskId *string `json:"task_id"`
}

RestoredRecord represents a custom type struct

type RestoredRecordLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

RestoredRecordLinks represents a custom type struct. URLs to pages related to the resource.

type RestoredRecordListEmbedded added in v0.5.0

type RestoredRecordListEmbedded struct {
	// TODO: Add struct field description
	Items []*RestoredRecord `json:"items"`
}

RestoredRecordListEmbedded represents a custom type struct. Embedded responses related to the resource.

type RestoredRecordListLinks struct {
	// The HATEOAS link to the first page of results.
	First *HateoasFirstLink `json:"_first"`
	// The HATEOAS link to the last page of results.
	Last *HateoasLastLink `json:"_last"`
	// The HATEOAS link to the next page of results.
	Next *HateoasNextLink `json:"_next"`
	// The HATEOAS link to the previous page of results.
	Prev *HateoasPrevLink `json:"_prev"`
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

RestoredRecordListLinks represents a custom type struct. URLs to pages related to the resource.

type RetentionBackupSLAParam

type RetentionBackupSLAParam struct {
	// The measurement unit of the SLA parameter.
	Unit *string `json:"unit"`
	// The measurement value of the SLA parameter.
	Value *int64 `json:"value"`
}

RetentionBackupSLAParam represents a custom type struct. The retention time for this SLA. For example, to retain the backup for 1 month, set `unit="months"` and `value=1`.

type RoleForOrganizationalUnits added in v0.8.0

type RoleForOrganizationalUnits struct {
	// The Clumio-assigned IDs of the organizational units assigned to the user.
	// Use the [GET /organizational-units](#operation/list-organizational-units) endpoint to fetch valid values.
	OrganizationalUnitIds []*string `json:"organizational_unit_ids"`
	// The Clumio-assigned ID of the role assigned to the user.
	// Use the [GET /roles](#operation/list-roles) endpoint to fetch valid values.
	RoleId *string `json:"role_id"`
}

RoleForOrganizationalUnits represents a custom type struct. The organizational units assigned to the user, with the specified role.

type RoleLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

RoleLinks represents a custom type struct. URLs to pages related to the resource.

type RoleListEmbedded

type RoleListEmbedded struct {
	// RoleWithETag to support etag string to be calculated
	Items []*RoleWithETag `json:"items"`
}

RoleListEmbedded represents a custom type struct. Embedded responses related to the resource.

type RoleListLinks struct {
	// The HATEOAS link to the first page of results.
	First *HateoasFirstLink `json:"_first"`
	// The HATEOAS link to the last page of results.
	Last *HateoasLastLink `json:"_last"`
	// The HATEOAS link to the next page of results.
	Next *HateoasNextLink `json:"_next"`
	// The HATEOAS link to the previous page of results.
	Prev *HateoasPrevLink `json:"_prev"`
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

RoleListLinks represents a custom type struct. URLs to pages related to the resource.

type RoleModel added in v0.8.0

type RoleModel struct {
	// A description of the role.
	Description *string `json:"description"`
	// The Clumio-assigned ID of the role.
	Id *string `json:"id"`
	// Unique name assigned to the role.
	Name *string `json:"name"`
	// TODO: Add struct field description
	Permissions []*PermissionModel `json:"permissions"`
	// Number of users to whom the role has been assigned.
	UserCount *int64 `json:"user_count"`
}

RoleModel represents a custom type struct. RoleModel denotes the Model for Role

type RoleWithETag

type RoleWithETag struct {
	// ETag value
	Etag *string `json:"_etag"`
	// URLs to pages related to the resource.
	Links *RoleLinks `json:"_links"`
	// A description of the role.
	Description *string `json:"description"`
	// The Clumio-assigned ID of the role.
	Id *string `json:"id"`
	// Unique name assigned to the role.
	Name *string `json:"name"`
	// TODO: Add struct field description
	Permissions []*PermissionModel `json:"permissions"`
	// Number of users to whom the role has been assigned.
	UserCount *int64 `json:"user_count"`
}

RoleWithETag represents a custom type struct. RoleWithETag to support etag string to be calculated

type Rule

type Rule struct {
	// Embedded responses related to the resource.
	Embedded *RuleEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *RuleLinks `json:"_links"`
	// An action to be applied subject to the rule criteria.
	Action *RuleAction `json:"action"`
	// The following table describes the possible conditions for a rule.
	//
	// +-----------------------+---------------------------+--------------------------+
	// |         Field         |      Rule Condition       |       Description        |
	// +=======================+===========================+==========================+
	// | aws_account_native_id | $eq, $in                  | Denotes the AWS account  |
	// |                       |                           | to conditionalize on     |
	// |                       |                           |                          |
	// |                       |                           | {"aws_account_native_id" |
	// |                       |                           | :{"$eq":"111111111111"}} |
	// |                       |                           |                          |
	// |                       |                           |                          |
	// |                       |                           | {"aws_account_native_id" |
	// |                       |                           | :{"$in":["111111111111", |
	// |                       |                           | "222222222222"]}}        |
	// |                       |                           |                          |
	// |                       |                           |                          |
	// +-----------------------+---------------------------+--------------------------+
	// | aws_region            | $eq, $in                  | Denotes the AWS region   |
	// |                       |                           | to conditionalize on     |
	// |                       |                           |                          |
	// |                       |                           | {"aws_region":{"$eq":"us |
	// |                       |                           | -west-2"}}               |
	// |                       |                           |                          |
	// |                       |                           |                          |
	// |                       |                           | {"aws_region":{"$in":["u |
	// |                       |                           | s-west-2", "us-          |
	// |                       |                           | east-1"]}}               |
	// |                       |                           |                          |
	// |                       |                           |                          |
	// +-----------------------+---------------------------+--------------------------+
	// | aws_tag               | $eq, $in, $all, $contains | Denotes the AWS tag(s)   |
	// |                       |                           | to conditionalize on.    |
	// |                       |                           | Max 100 tags allowed in  |
	// |                       |                           | each rule                |
	// |                       |                           | and tag key can be upto  |
	// |                       |                           | 128 characters and value |
	// |                       |                           | can be upto 256          |
	// |                       |                           | characters long.         |
	// |                       |                           |                          |
	// |                       |                           | {"aws_tag":{"$eq":{"key" |
	// |                       |                           | :"Environment",          |
	// |                       |                           | "value":"Prod"}}}        |
	// |                       |                           |                          |
	// |                       |                           |                          |
	// |                       |                           | {"aws_tag":{"$in":[{"key |
	// |                       |                           | ":"Environment",         |
	// |                       |                           | "value":"Prod"},         |
	// |                       |                           | {"key":"Hello",          |
	// |                       |                           | "value":"World"}]}}      |
	// |                       |                           |                          |
	// |                       |                           |                          |
	// |                       |                           | {"aws_tag":{"$all":[{"ke |
	// |                       |                           | y":"Environment",        |
	// |                       |                           | "value":"Prod"},         |
	// |                       |                           | {"key":"Hello",          |
	// |                       |                           | "value":"World"}]}}      |
	// |                       |                           |                          |
	// |                       |                           |                          |
	// |                       |                           | {"aws_tag":{"$contains": |
	// |                       |                           | {"key":"Environment",    |
	// |                       |                           | "value":"Prod"}}}        |
	// |                       |                           |                          |
	// |                       |                           |                          |
	// +-----------------------+---------------------------+--------------------------+
	// | entity_type           | $eq, $in                  | Denotes the AWS entity   |
	// |                       |                           | type to conditionalize   |
	// |                       |                           | on. (Required)           |
	// |                       |                           |                          |
	// |                       |                           | {"entity_type":{"$eq":"a |
	// |                       |                           | ws_rds_instance"}}       |
	// |                       |                           |                          |
	// |                       |                           |                          |
	// |                       |                           | {"entity_type":{"$in":[" |
	// |                       |                           | aws_rds_instance",       |
	// |                       |                           | "aws_ebs_volume", "aws_e |
	// |                       |                           | c2_instance","aws_dynamo |
	// |                       |                           | db_table",               |
	// |                       |                           | "aws_rds_cluster"]}}     |
	// |                       |                           |                          |
	// |                       |                           |                          |
	// +-----------------------+---------------------------+--------------------------+
	//
	Condition *string `json:"condition"`
	// The Clumio-assigned ID of the policy rule.
	Id *string `json:"id"`
	// Name of the rule. Max 100 characters.
	Name *string `json:"name"`
	// The Clumio-assigned ID of the organizational unit (OU) to which the policy rule belongs.
	OrganizationalUnitId *string `json:"organizational_unit_id"`
	// A priority relative to other rules.
	Priority *RulePriority `json:"priority"`
}

Rule represents a custom type struct. A rule applies an action subject to a condition criteria.

type RuleAction

type RuleAction struct {
	// Apply a policy to assets.
	AssignPolicy *AssignPolicyAction `json:"assign_policy"`
}

RuleAction represents a custom type struct. An action to be applied subject to the rule criteria.

type RuleEmbedded

type RuleEmbedded struct {
	// Embeds the associated policy of a protected resource in the response if requested using the `embed` query parameter. Unprotected resources will not have an associated policy.
	ReadPolicyDefinition interface{} `json:"read-policy-definition"`
}

RuleEmbedded represents a custom type struct. Embedded responses related to the resource.

type RuleLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// A resource-specific HATEOAS link.
	DeletePolicyRule *HateoasLink `json:"delete-policy-rule"`
	// A HATEOAS link to the policy protecting this resource. Will be omitted for unprotected entities.
	ReadPolicyDefinition *ReadPolicyDefinitionHateoasLink `json:"read-policy-definition"`
	// A resource-specific HATEOAS link.
	UpdatePolicyRule *HateoasLink `json:"update-policy-rule"`
}

RuleLinks represents a custom type struct. URLs to pages related to the resource.

type RuleListEmbedded

type RuleListEmbedded struct {
	// A rule applies an action subject to a condition criteria.
	Items []*Rule `json:"items"`
}

RuleListEmbedded represents a custom type struct. An array of embedded resources related to this resource.

type RuleListLinks struct {
	// The HATEOAS link to the first page of results.
	First *HateoasFirstLink `json:"_first"`
	// The HATEOAS link to the next page of results.
	Next *HateoasNextLink `json:"_next"`
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// A resource-specific HATEOAS link.
	CreatePolicyRule *HateoasLink `json:"create-policy-rule"`
}

RuleListLinks represents a custom type struct. URLs to pages related to the resource.

type RulePriority

type RulePriority struct {
	// The rule ID before which this rule should be inserted.
	BeforeRuleId *string `json:"before_rule_id"`
}

RulePriority represents a custom type struct. A priority relative to other rules.

type RuleProvision added in v0.3.0

type RuleProvision struct {
	// The Clumio-assigned IDs of the organizational units to be assigned to the user.
	// Use the [GET /organizational-units](#operation/list-organizational-units) endpoint to fetch valid values.
	OrganizationalUnitIds []*string `json:"organizational_unit_ids"`
	// The Clumio-assigned ID of the role to be assigned to the user.
	// Use the [GET /roles](#operation/list-roles) endpoint to fetch valid values.
	RoleId *string `json:"role_id"`
}

RuleProvision represents a custom type struct. Specifies the role and the organizational units to be assigned to the user subject to the rule criteria.

type S3AccessControlTranslation added in v0.2.2

type S3AccessControlTranslation struct {
	// Specifies the replica ownership.
	Owner *string `json:"owner"`
}

S3AccessControlTranslation represents a custom type struct. A container for information about access control for replicas.

type S3AssetInfo added in v0.6.0

type S3AssetInfo struct {
	// The current version of the feature.
	InstalledTemplateVersion *string `json:"installed_template_version"`
}

S3AssetInfo represents a custom type struct. S3AssetInfo The installed information for the S3 feature.

type S3BucketSizeRes added in v0.2.1

type S3BucketSizeRes struct {
	// Size of Deep Archive Object Overhead in bytes.
	DeepArchiveObjectOverhead *int64 `json:"deep_archive_object_overhead"`
	// Timestamp when CloudWatch reported the Deep Archive Object Overhead size.
	DeepArchiveObjectOverheadRetrievedTime *string `json:"deep_archive_object_overhead_retrieved_time"`
	// Size of Deep Archive S3 Object Overhead in bytes.
	DeepArchiveS3ObjectOverhead *int64 `json:"deep_archive_s3_object_overhead"`
	// Timestamp when CloudWatch reported the Deep Archive S3 Object Overhead size.
	DeepArchiveS3ObjectOverheadRetrievedTime *string `json:"deep_archive_s3_object_overhead_retrieved_time"`
	// Size of Deep Archive Staging Storage objects in bytes.
	DeepArchiveStagingStorage *int64 `json:"deep_archive_staging_storage"`
	// Timestamp when CloudWatch reported the Deep Archive Staging Storage objects size.
	DeepArchiveStagingStorageRetrievedTime *string `json:"deep_archive_staging_storage_retrieved_time"`
	// Size of Deep Archive Storage objects in bytes.
	DeepArchiveStorage *int64 `json:"deep_archive_storage"`
	// Timestamp when CloudWatch reported the Deep Archive Storage objects size.
	DeepArchiveStorageRetrievedTime *string `json:"deep_archive_storage_retrieved_time"`
	// Size of Glacier Instant Retrieval Storage objects in bytes.
	GlacierInstantRetrievalStorage *int64 `json:"glacier_instant_retrieval_storage"`
	// Timestamp when CloudWatch reported the Glacier Instant Retrieval Storage objects size.
	GlacierInstantRetrievalStorageRetrievedTime *string `json:"glacier_instant_retrieval_storage_retrieved_time"`
	// Size of Glacier Object Overhead in bytes.
	GlacierObjectOverhead *int64 `json:"glacier_object_overhead"`
	// Timestamp when CloudWatch reported the Glacier Object Overhead size.
	GlacierObjectOverheadRetrievedTime *string `json:"glacier_object_overhead_retrieved_time"`
	// Size of Glacier S3 Object Overhead in bytes.
	GlacierS3ObjectOverhead *int64 `json:"glacier_s3_object_overhead"`
	// Timestamp when CloudWatch reported the Glacier S3 Object Overhead size.
	GlacierS3ObjectOverheadRetrievedTime *string `json:"glacier_s3_object_overhead_retrieved_time"`
	// Size of Glacier Staging Storage objects in bytes.
	GlacierStagingStorage *int64 `json:"glacier_staging_storage"`
	// Timestamp when CloudWatch reported the Glacier Staging Storage objects size.
	GlacierStagingStorageRetrievedTime *string `json:"glacier_staging_storage_retrieved_time"`
	// Size of Glacier Storage objects in bytes.
	GlacierStorage *int64 `json:"glacier_storage"`
	// Timestamp when CloudWatch reported the Glacier Storage objects size.
	GlacierStorageRetrievedTime *string `json:"glacier_storage_retrieved_time"`
	// Size of Intelligent-Tiering AA Storage objects in bytes.
	IntelligentTieringAaStorage *int64 `json:"intelligent_tiering_aa_storage"`
	// Timestamp when CloudWatch reported the Intelligent-Tiering AA Storage objects size.
	IntelligentTieringAaStorageRetrievedTime *string `json:"intelligent_tiering_aa_storage_retrieved_time"`
	// Size of Intelligent-Tiering AIA Storage objects in bytes.
	IntelligentTieringAiaStorage *int64 `json:"intelligent_tiering_aia_storage"`
	// Timestamp when CloudWatch reported the Intelligent-Tiering AIA Storage objects size.
	IntelligentTieringAiaStorageRetrievedTime *string `json:"intelligent_tiering_aia_storage_retrieved_time"`
	// Size of Intelligent-Tiering DAA Storage objects in bytes.
	IntelligentTieringDaaStorage *int64 `json:"intelligent_tiering_daa_storage"`
	// Timestamp when CloudWatch reported the Intelligent-Tiering DAA Storage objects size.
	IntelligentTieringDaaStorageRetrievedTime *string `json:"intelligent_tiering_daa_storage_retrieved_time"`
	// Size of Intelligent-Tiering FA Storage objects in bytes.
	IntelligentTieringFaStorage *int64 `json:"intelligent_tiering_fa_storage"`
	// Timestamp when CloudWatch reported the Intelligent-Tiering FA Storage objects size.
	IntelligentTieringFaStorageRetrievedTime *string `json:"intelligent_tiering_fa_storage_retrieved_time"`
	// Size of Intelligent-Tiering IA Storage objects in bytes.
	IntelligentTieringIaStorage *int64 `json:"intelligent_tiering_ia_storage"`
	// Timestamp when CloudWatch reported the Intelligent-Tiering IA Storage objects size.
	IntelligentTieringIaStorageRetrievedTime *string `json:"intelligent_tiering_ia_storage_retrieved_time"`
	// Size of OneZone IA Overhead in bytes.
	OneZoneIaSizeOverhead *int64 `json:"one_zone_ia_size_overhead"`
	// Timestamp when CloudWatch reported the OneZone IA Overhead size.
	OneZoneIaSizeOverheadRetrievedTime *string `json:"one_zone_ia_size_overhead_retrieved_time"`
	// Size of OneZone IA Storage objects in bytes.
	OneZoneIaStorage *int64 `json:"one_zone_ia_storage"`
	// Timestamp when CloudWatch reported the OneZone IA Storage objects size.
	OneZoneIaStorageRetrievedTime *string `json:"one_zone_ia_storage_retrieved_time"`
	// Size of Reduced Redundancy Storage objects in bytes.
	ReducedRedundancyStorage *int64 `json:"reduced_redundancy_storage"`
	// Timestamp when CloudWatch reported the Reduced Redundancy Storage objects size.
	ReducedRedundancyStorageRetrievedTime *string `json:"reduced_redundancy_storage_retrieved_time"`
	// Size of Standard IA Object Overhead in bytes.
	StandardIaObjectOverhead *int64 `json:"standard_ia_object_overhead"`
	// Timestamp when CloudWatch reported the Standard IA Object Overhead size.
	StandardIaObjectOverheadRetrievedTime *string `json:"standard_ia_object_overhead_retrieved_time"`
	// Size of Standard IA Overhead in bytes.
	StandardIaSizeOverhead *int64 `json:"standard_ia_size_overhead"`
	// Timestamp when CloudWatch reported the Standard IA Overhead size.
	StandardIaSizeOverheadRetrievedTime *string `json:"standard_ia_size_overhead_retrieved_time"`
	// Size of Standard IA Storage objects in bytes.
	StandardIaStorage *int64 `json:"standard_ia_storage"`
	// Timestamp when CloudWatch reported the Standard IA Storage objects size.
	StandardIaStorageRetrievedTime *string `json:"standard_ia_storage_retrieved_time"`
	// Size of Standard Storage objects in bytes.
	StandardStorage *int64 `json:"standard_storage"`
	// Timestamp when CloudWatch reported the Standard Storage objects size.
	StandardStorageRetrievedTime *string `json:"standard_storage_retrieved_time"`
}

S3BucketSizeRes represents a custom type struct. The size breakdown in bytes with timestamps of a bucket per storage class.

type S3BucketsInventorySummaryBucketSizeBreakdown added in v0.2.5

type S3BucketsInventorySummaryBucketSizeBreakdown struct {
	// Size of Glacier Deep Archive Storage in bytes.
	GlacierDeepArchiveStorageBytes *int64 `json:"glacier_deep_archive_storage_bytes"`
	// Size of Glacier Flexible Retrieval Storage in bytes.
	GlacierFlexibleRetrievalStorageBytes *int64 `json:"glacier_flexible_retrieval_storage_bytes"`
	// Size of Glacier Instant Retrieval Storage in bytes.
	GlacierInstantRetrievalStorageBytes *int64 `json:"glacier_instant_retrieval_storage_bytes"`
	// Size of Intelligent-Tiering Storage objects in bytes.
	IntelligentTieringStorageBytes *int64 `json:"intelligent_tiering_storage_bytes"`
	// Size of OneZone-IA Storage in bytes.
	OneZoneIaStorageBytes *int64 `json:"one_zone_ia_storage_bytes"`
	// Size of Reduced Redundancy Storage in bytes.
	ReducedRedundancyStorageBytes *int64 `json:"reduced_redundancy_storage_bytes"`
	// Size of Standard-IA Storage in bytes.
	StandardIaStorageBytes *int64 `json:"standard_ia_storage_bytes"`
	// Size of Standard Storage in bytes.
	StandardStorageBytes *int64 `json:"standard_storage_bytes"`
}

S3BucketsInventorySummaryBucketSizeBreakdown represents a custom type struct. The total size breakdown of S3 buckets in bytes per storage class. This parameter aggregates relevant fields from cloudwatch_metrics > size_bytes_per_storage_class

type S3CloudwatchMetrics added in v0.2.1

type S3CloudwatchMetrics struct {
	// The average size of object in bucket.
	AverageObjectSizeBytes *float64 `json:"average_object_size_bytes"`
	// Timestamp when average size of the bucket is calculated.
	AverageObjectSizeBytesTime *string `json:"average_object_size_bytes_time"`
	// Number of objects in bucket.
	ObjectCount *int64 `json:"object_count"`
	// Timestamp when CloudWatch reported the bucket object count.
	ObjectCountRetrievedTime *string `json:"object_count_retrieved_time"`
	// Size of bucket in bytes.
	SizeBytes *int64 `json:"size_bytes"`
	// The size breakdown in bytes with timestamps of a bucket per storage class.
	SizeBytesPerStorageClass *S3BucketSizeRes `json:"size_bytes_per_storage_class"`
	// Timestamp when CloudWatch reported the bucket size.
	SizeBytesRetrievedTime *string `json:"size_bytes_retrieved_time"`
}

S3CloudwatchMetrics represents a custom type struct. The Cloudwatch metrics of the bucket.

type S3DeleteMarkerReplication added in v0.2.2

type S3DeleteMarkerReplication struct {
	// Indicates whether to replicate delete markers.
	Status *string `json:"status"`
}

S3DeleteMarkerReplication represents a custom type struct. Specifies whether Amazon S3 replicates delete markers.

type S3Destination added in v0.2.2

type S3Destination struct {
	// A container for information about access control for replicas.
	AccessControlTranslation *S3AccessControlTranslation `json:"access_control_translation"`
	// Destination bucket owner account ID.
	Account *string `json:"account"`
	// The Amazon Resource Name (ARN) of the bucket where
	// you want Amazon S3 to store the results.
	Bucket *string `json:"bucket"`
	// Specifies encryption-related information for an Amazon S3 bucket
	// that is a destination for replicated objects.
	EncryptionConfiguration *S3EncryptionConfiguration `json:"encryption_configuration"`
	// A container specifying replication metrics-related settings
	// enabling replication metrics and events.
	Metrics *S3Metrics `json:"metrics"`
	// A container specifying S3 Replication Time Control (S3 RTC)
	// related information.
	ReplicationTime *S3ReplicationTime `json:"replication_time"`
	// The storage class to use when replicating objects.
	StorageClass *string `json:"storage_class"`
}

S3Destination represents a custom type struct. Specifies information about where to publish analysis or configuration results.

type S3EncryptionConfiguration added in v0.2.2

type S3EncryptionConfiguration struct {
	// Specifies the ID (Key ARN or Alias ARN) of the customer managed
	// AWS KMS key stored in AWS Key Management Service (KMS) for the
	// destination bucket.
	ReplicaKmsKeyId *string `json:"replica_kms_key_id"`
}

S3EncryptionConfiguration represents a custom type struct. Specifies encryption-related information for an Amazon S3 bucket that is a destination for replicated objects.

type S3EncryptionOutput added in v0.2.2

type S3EncryptionOutput struct {
	// Specifies the default server-side-encryption configuration.
	ServerSideEncryptionConfiguration *S3ServerSideEncryptionConfiguration `json:"server_side_encryption_configuration"`
}

S3EncryptionOutput represents a custom type struct. The AWS encryption output of the bucket.

type S3ExistingObjectReplication added in v0.2.2

type S3ExistingObjectReplication struct {
	// Specifies whether the existing object replication is enabled.
	Status *string `json:"status"`
}

S3ExistingObjectReplication represents a custom type struct. Configuration to replicate existing source bucket objects.

type S3InstantAccessEndpoint added in v0.12.0

type S3InstantAccessEndpoint struct {
	// Embedded responses related to the resource.
	Embedded *S3InstantAccessEndpointEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *S3InstantAccessEndpointLinks `json:"_links"`
	// The AWS-assigned ID of the account associated with the S3 instant access endpoint.
	AwsAccountId *string `json:"aws_account_id"`
	// The AWS region of the S3 instant access endpoint and its source backup.
	BackupRegion *string `json:"backup_region"`
	// The name of source bucket.
	BucketName *string `json:"bucket_name"`
	// The time that this endpoint was created, in RFC-3339 format.
	CreatedTimestamp *string `json:"created_timestamp"`
	// The status of the S3 instant access endpoint. Possible values include "preparing",
	// "active", "expiring", and "expired".
	EndpointStatus *string `json:"endpoint_status"`
	// The time that this endpoint expires, in RFC-3339 format.
	ExpiryTimestamp *string `json:"expiry_timestamp"`
	// The Clumio-assigned ID of the S3 instant access endpoint.
	Id *string `json:"id"`
	// The user-assigned name of the S3 instant access endpoint.
	Name *string `json:"name"`
	// The time in RFC-3339 format that the restored objects are backed up from.
	ObjectsCreatedAfter *string `json:"objects_created_after"`
	// The time in RFC-3339 format that the restored objects are backed up to.
	ObjectsCreatedBefore *string `json:"objects_created_before"`
	// The Clumio-assigned ID of the organizational unit associated with the S3 instant access endpoint.
	OrganizationalUnitId *string `json:"organizational_unit_id"`
	// The Clumio-assigned ID of the protection group this endpoint is created for.
	ProtectionGroupId *string `json:"protection_group_id"`
	// The user-assigned name of the protection group this endpoints is created for.
	ProtectionGroupName *string `json:"protection_group_name"`
	// The Clumio-assigned ID of the bucket protection group.
	ProtectionGroupS3AssetId *string `json:"protection_group_s3_asset_id"`
	// The AWS region of the source bucket.
	Region *string `json:"region"`
	// The time at which the backup was restored from this endpoint in RFC-3339 format.
	// Deprecated.
	RestoreTimestamp *string `json:"restore_timestamp"`
	// The time that this endpoint was last updated, in RFC-3339 format.
	UpdatedTimestamp *string `json:"updated_timestamp"`
}

S3InstantAccessEndpoint represents a custom type struct. S3InstantAccessEndpoint

type S3InstantAccessEndpointEmbedded added in v0.12.0

type S3InstantAccessEndpointEmbedded struct {
	// Embeds the associated protection group S3 asset
	ReadProtectionGroupS3Asset interface{} `json:"read-protection-group-s3-asset"`
}

S3InstantAccessEndpointEmbedded represents a custom type struct. Embedded responses related to the resource.

type S3InstantAccessEndpointLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// URL to the detailed information of the instant access endpoint
	ReadProtectionGroupInstantAccessEndpoint interface{} `json:"read-protection-group-instant-access-endpoint"`
	// URL to the role permissions of the instant access endpoint
	ReadProtectionGroupInstantAccessEndpointRolePermission interface{} `json:"read-protection-group-instant-access-endpoint-role-permission"`
	// URL for getting URI of the instant access endpoint
	ReadProtectionGroupInstantAccessEndpointUri interface{} `json:"read-protection-group-instant-access-endpoint-uri"`
	// URL to the associated protection group S3 asset
	ReadProtectionGroupS3Asset interface{} `json:"read-protection-group-s3-asset"`
}

S3InstantAccessEndpointLinks represents a custom type struct. URLs to pages related to the resource.

type S3InstantAccessEndpointListEmbedded added in v0.12.0

type S3InstantAccessEndpointListEmbedded struct {
	// S3InstantAccessEndpoint
	Items []*S3InstantAccessEndpoint `json:"items"`
}

S3InstantAccessEndpointListEmbedded represents a custom type struct. Embedded responses related to the resource.

type S3InstantAccessEndpointListLinks struct {
	// The HATEOAS link to the first page of results.
	First *HateoasFirstLink `json:"_first"`
	// The HATEOAS link to the next page of results.
	Next *HateoasNextLink `json:"_next"`
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

S3InstantAccessEndpointListLinks represents a custom type struct. URLs to pages related to the resource.

type S3InstantAccessEndpointRole added in v0.12.0

type S3InstantAccessEndpointRole struct {
	// The alias of the IAM role given by the user in the UI.
	Alias *string `json:"alias"`
	// The ARN of the IAM role.
	Arn *string `json:"arn"`
	// The ID of the IAM role. Used as an identifier in the API URL.
	Id *string `json:"id"`
	// The time when the role was last modified, in RFC-3339 format.
	LastModifiedTimestamp *string `json:"last_modified_timestamp"`
}

S3InstantAccessEndpointRole represents a custom type struct. IAM role which is allowed access to the OLAP endpoint.

type S3InstantAccessEndpointStat added in v0.12.0

type S3InstantAccessEndpointStat struct {
	// The unit counts of the metric.
	Count *int64 `json:"count"`
	// The name of the metric.
	Name *string `json:"name"`
	// Unit of the metric.
	Unit *string `json:"unit"`
}

S3InstantAccessEndpointStat represents a custom type struct. S3InstantAccessEndpointStat Statistical metric related to the instant access endpoint. S3InstantAccessEndpointStat swagger: model S3InstantAccessEndpointStat

type S3InstantAccessSource added in v0.12.0

type S3InstantAccessSource struct {
	// The Clumio-assigned ID of the protection group S3 asset backup or protection group backup to
	// be restored. Use the endpoints
	// [GET /backups/protection-groups/s3-assets](#operation/list-backup-protection-group-s3-assets)
	// for protection group S3 asset backup, and
	// [GET /backups/protection-groups](#operation/list-backup-protection-groups)
	// for protection group backups to fetch valid values.
	// Note that only one of either `backup_id` or `pitr` must be provided.
	BackupId *string `json:"backup_id"`
	// Search for or restore only objects that pass the source object filter.
	ObjectFilters *SourceObjectFilters `json:"object_filters"`
	// The parameters to initiate a point-in-time creation of S3 instant access endpoint.
	// Note that only one of either `backup_id` or `pitr` must be provided.
	Pitr *S3InstantAccessSourcePitrOptions `json:"pitr"`
	// Clumio-assigned ID of protection group S3 asset, representing the
	// bucket within the protection group to restore from. Use the
	// [GET /datasources/protection-groups/s3-assets](#operation/list-protection-group-s3-assets)
	// endpoint to fetch valid values.
	ProtectionGroupS3AssetId *string `json:"protection_group_s3_asset_id"`
}

S3InstantAccessSource represents a custom type struct. The parameters for creating a S3 instant access endpoint.

type S3InstantAccessSourcePitrOptions added in v0.12.0

type S3InstantAccessSourcePitrOptions struct {
	// The end time of the period in which the objects must be restored in RFC-3339 format.
	// Objects modified before this given time will be restored.
	// If `restore_end_timestamp` is provided without `restore_start_timestamp`, then it is the same
	// as a point-in-time restore.
	RestoreEndTimestamp *string `json:"restore_end_timestamp"`
	// The start time of the period in which the objects must be restored in RFC-3339 format.
	// Objects modified since the given time will be restored.
	RestoreStartTimestamp *string `json:"restore_start_timestamp"`
}

S3InstantAccessSourcePitrOptions represents a custom type struct. The parameters to initiate a point-in-time creation of S3 instant access endpoint.<br> Note that only one of either `backup_id` or `pitr` must be provided.

type S3Metrics added in v0.2.2

type S3Metrics struct {
	// A container specifying the time value for S3 Replication Time
	// Control (S3 RTC) and replication metrics EventThreshold.
	EventThreshold *S3ReplicationTimeValue `json:"event_threshold"`
	// Specifies whether the replication metrics are enabled.
	Status *string `json:"status"`
}

S3Metrics represents a custom type struct. A container specifying replication metrics-related settings enabling replication metrics and events.

type S3ReplicaModifications added in v0.2.2

type S3ReplicaModifications struct {
	// Specifies whether Amazon S3 replicates modifications on replicas.
	Status *string `json:"status"`
}

S3ReplicaModifications represents a custom type struct. A filter that you can specify for selection for modifications on replicas.

type S3ReplicationConfiguration added in v0.2.2

type S3ReplicationConfiguration struct {
	// The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM)
	// role that Amazon S3 assumes when replicating objects.
	Role *string `json:"role"`
	// Specifies which Amazon S3 objects to replicate and where to store the replicas.
	Rules []*S3ReplicationRule `json:"rules"`
}

S3ReplicationConfiguration represents a custom type struct. A container for replication rules with a maximum size of 2MB and a maximum of 1,000 rules.

type S3ReplicationOutput added in v0.2.2

type S3ReplicationOutput struct {
	// A container for replication rules with a maximum size
	// of 2MB and a maximum of 1,000 rules.
	ReplicationConfiguration *S3ReplicationConfiguration `json:"replication_configuration"`
}

S3ReplicationOutput represents a custom type struct. The AWS replication output of the bucket.

type S3ReplicationRule added in v0.2.2

type S3ReplicationRule struct {
	// Specifies whether Amazon S3 replicates delete markers.
	DeleteMarkerReplication *S3DeleteMarkerReplication `json:"delete_marker_replication"`
	// Specifies information about where to publish analysis or configuration results.
	Destination *S3Destination `json:"destination"`
	// Configuration to replicate existing source bucket objects.
	ExistingObjectReplication *S3ExistingObjectReplication `json:"existing_object_replication"`
	// A filter that identifies the subset of objects
	// to which the replication rule applies.
	Filter *S3ReplicationRuleFilter `json:"filter"`
	// A unique identifier for the rule (max 255 characters).
	Id *string `json:"id"`
	// The priority indicates which rule has precedence whenever
	// two or more replication rules conflict.
	Priority *int64 `json:"priority"`
	// A container that describes additional filters for identifying
	// the source objects that you want to replicate.
	SourceSelectionCriteria *S3SourceSelectionCriteria `json:"source_selection_criteria"`
	// Specifies whether the rule is enabled.
	Status *string `json:"status"`
}

S3ReplicationRule represents a custom type struct. Specifies which Amazon S3 objects to replicate and where to store the replicas.

type S3ReplicationRuleAndOperator added in v0.2.2

type S3ReplicationRuleAndOperator struct {
	// An object key name prefix that identifies
	// the subset of objects to which the rule applies.
	Prefix *string `json:"prefix"`
	// A container of a key value name pair.
	Tags []*S3Tag `json:"tags"`
}

S3ReplicationRuleAndOperator represents a custom type struct. A container for specifying rule filters. The filters determine the subset of objects to which the rule applies.

type S3ReplicationRuleFilter added in v0.2.2

type S3ReplicationRuleFilter struct {
	// A container for specifying rule filters. The filters
	// determine the subset of objects to which the rule applies.
	And *S3ReplicationRuleAndOperator `json:"and"`
	// An object key name prefix that identifies the
	// subset of objects to which the rule applies.
	Prefix *string `json:"prefix"`
	// A container of a key value name pair.
	Tag *S3Tag `json:"tag"`
}

S3ReplicationRuleFilter represents a custom type struct. A filter that identifies the subset of objects to which the replication rule applies.

type S3ReplicationTime added in v0.2.2

type S3ReplicationTime struct {
	// Specifies whether the replication time is enabled.
	Status *string `json:"status"`
	// A container specifying the time value for S3 Replication Time
	// Control (S3 RTC) and replication metrics EventThreshold.
	Time *S3ReplicationTimeValue `json:"time"`
}

S3ReplicationTime represents a custom type struct. A container specifying S3 Replication Time Control (S3 RTC) related information.

type S3ReplicationTimeValue added in v0.2.2

type S3ReplicationTimeValue struct {
	// Contains an integer specifying time in minutes.
	Minutes *int64 `json:"minutes"`
}

S3ReplicationTimeValue represents a custom type struct. A container specifying the time value for S3 Replication Time Control (S3 RTC) and replication metrics EventThreshold.

type S3ServerSideEncryptionByDefault added in v0.2.2

type S3ServerSideEncryptionByDefault struct {
	// AWS Key Management Service (KMS) customer AWS KMS key ID to use for the default encryption.
	KmsMasterKeyId *string `json:"kms_master_key_id"`
	// Server-side encryption algorithm to use for the default encryption.
	SseAlgorithm *string `json:"sse_algorithm"`
}

S3ServerSideEncryptionByDefault represents a custom type struct. Describes the default server-side encryption to apply to new objects in the bucket.

type S3ServerSideEncryptionConfiguration added in v0.2.2

type S3ServerSideEncryptionConfiguration struct {
	// Specifies the default server-side encryption configuration.
	Rules []*S3ServerSideEncryptionRule `json:"rules"`
}

S3ServerSideEncryptionConfiguration represents a custom type struct. Specifies the default server-side-encryption configuration.

type S3ServerSideEncryptionRule added in v0.2.2

type S3ServerSideEncryptionRule struct {
	// Describes the default server-side encryption to apply to new objects in the bucket.
	ApplyServerSideEncryptionByDefault *S3ServerSideEncryptionByDefault `json:"apply_server_side_encryption_by_default"`
	// Specifies whether Amazon S3 should use an S3 Bucket Key with server-side
	// encryption using KMS (SSE-KMS) for new objects in the bucket.
	BucketKeyEnabled *bool `json:"bucket_key_enabled"`
}

S3ServerSideEncryptionRule represents a custom type struct. Specifies the default server-side encryption configuration.

type S3ServiceRoles added in v0.12.1

type S3ServiceRoles struct {
	// Role assumable by Event Bridge to send event notifications.
	ContinuousBackupsRoleArn *string `json:"continuous_backups_role_arn"`
}

S3ServiceRoles represents a custom type struct

type S3SourceSelectionCriteria added in v0.2.2

type S3SourceSelectionCriteria struct {
	// A filter that you can specify for selection for modifications on replicas.
	ReplicaModifications *S3ReplicaModifications `json:"replica_modifications"`
	// A container for filter information for the selection of
	// S3 objects encrypted with AWS KMS.
	SseKmsEncryptedObjects *S3SseKmsEncryptedObjects `json:"sse_kms_encrypted_objects"`
}

S3SourceSelectionCriteria represents a custom type struct. A container that describes additional filters for identifying the source objects that you want to replicate.

type S3SseKmsEncryptedObjects added in v0.2.2

type S3SseKmsEncryptedObjects struct {
	// Specifies whether Amazon S3 replicates objects created with server-side
	// encryption using an AWS KMS key stored in AWS Key Management Service.
	Status *string `json:"status"`
}

S3SseKmsEncryptedObjects represents a custom type struct. A container for filter information for the selection of S3 objects encrypted with AWS KMS.

type S3Tag added in v0.2.2

type S3Tag struct {
	// Name of the object key.
	Key *string `json:"key"`
	// Value of the tag.
	Value *string `json:"value"`
}

S3Tag represents a custom type struct. A container of a key value name pair.

type S3TemplateInfo added in v0.6.0

type S3TemplateInfo struct {
	// The latest available feature version for the asset.
	AvailableTemplateVersion *string `json:"available_template_version"`
}

S3TemplateInfo represents a custom type struct. The latest available information for the S3 feature.

type S3VersioningOutput added in v0.2.2

type S3VersioningOutput struct {
	// Specifies whether MFA delete is enabled in the bucket versioning configuration.
	MfaDelete *string `json:"mfa_delete"`
	// The versioning state of the bucket.
	Status *string `json:"status"`
}

S3VersioningOutput represents a custom type struct. The AWS versioning output of the bucket.

type SSESpecification added in v0.5.0

type SSESpecification struct {
	// The server-side encryption KMS key type.
	// This field will only be populated for [GET /datasources/aws/dynamodb-tables/{table_id}](#operation/read-aws-dynamodb-table)
	// and [GET /backups/aws/dynamodb-tables/{backup_id}](#operation/read-backup-aws-dynamodb-table).
	// For [POST /restores/aws/dynamodb](#operation/restore-aws-dynamodb-table), `kms_master_key_id` must be specified
	// in case of CUSTOMER_MANAGED. Possible values include: DEFAULT, AWS_MANAGED, CUSTOMER_MANAGED.
	KmsKeyType *string `json:"kms_key_type"`
	// The AWS KMS customer master key (CMK) ARN that is used to encrypt the table.
	// If this field is `null`, server-side encryption is the default encryption (AWS owned CMK).
	// Otherwise, an AWS-managed or customer-managed CMK exists having these values.
	// For [POST /restores/aws/dynamodb](#operation/restore-aws-dynamodb-table), use key ID, Amazon Resource
	// Name (ARN), alias name or alias ARN to specify a key to be used for encrypting the restored table.
	// In case of default encryption (AWS owned CMK), specify this as `null`.
	KmsMasterKeyId *string `json:"kms_master_key_id"`
}

SSESpecification represents a custom type struct. Represents the server-side encryption settings for a table.

type ServiceRoles added in v0.12.1

type ServiceRoles struct {
	// TODO: Add struct field description
	Mssql *MssqlServiceRoles `json:"mssql"`
	// TODO: Add struct field description
	S3 *S3ServiceRoles `json:"s3"`
}

ServiceRoles represents a custom type struct

type SetAssignmentsResponse

type SetAssignmentsResponse struct {
	// URLs to pages related to the resource.
	Links *SetAssignmentsResponseLinks `json:"_links"`
	// The Clumio-assigned ID of the task generated by this request.
	TaskId *string `json:"task_id"`
}

SetAssignmentsResponse represents a custom type struct for Success

type SetAssignmentsResponseLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// A HATEOAS link to the task associated with this resource.
	ReadTask *ReadTaskHateoasLink `json:"read-task"`
}

SetAssignmentsResponseLinks represents a custom type struct. URLs to pages related to the resource.

type SetBucketPropertiesResponse added in v0.4.0

type SetBucketPropertiesResponse struct {
	// URLs to pages related to the resource.
	Links *SetBucketPropertiesResponseLinks `json:"_links"`
}

SetBucketPropertiesResponse represents a custom type struct. Accepted

type SetBucketPropertiesResponseLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

SetBucketPropertiesResponseLinks represents a custom type struct. URLs to pages related to the resource.

type SetBucketPropertiesV1Request added in v0.4.0

type SetBucketPropertiesV1Request struct {
	// If true, enables continuous backup for the given bucket.
	// If false, disables continuous backup for the given bucket.
	// If not set, does not update EventBridge.
	EventBridgeEnabled *bool `json:"event_bridge_enabled"`
	// If true, tries to disable EventBridge notification for the given bucket.
	// It may override the existing bucket notification configuration in the customer's account.
	// This takes effect only when `event_bridge_enabled` is set to `false`.
	EventBridgeNotificationDisabled *bool `json:"event_bridge_notification_disabled"`
}

SetBucketPropertiesV1Request represents a custom type struct. The set of properties that are being updated for the given bucket.

type SetPolicyAssignmentsV1Request

type SetPolicyAssignmentsV1Request struct {
	// The portion of the policy assignment used for updates/creations
	Items []*AssignmentInputModel `json:"items"`
}

SetPolicyAssignmentsV1Request represents a custom type struct

type ShareFileRestoreEmailLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

ShareFileRestoreEmailLinks represents a custom type struct. URLs to pages related to the resource.

type ShareFileRestoreEmailResponse added in v0.5.0

type ShareFileRestoreEmailResponse struct {
	// URLs to pages related to the resource.
	Links *ShareFileRestoreEmailLinks `json:"_links"`
}

ShareFileRestoreEmailResponse represents a custom type struct for Success

type ShareRestoredFileV1Request added in v0.5.0

type ShareRestoredFileV1Request struct {
	// The email address of the user who will receive the download link to the restored
	// file.
	EmailAddress *string `json:"email_address"`
	// The optional message sent as part of the email.
	Message *string `json:"message"`
}

ShareRestoredFileV1Request represents a custom type struct

type SingleErrorResponse

type SingleErrorResponse struct {
	// TODO: Add struct field description
	ErrorCode *uint32 `json:"error_code"`
	// The reason for the error.
	ErrorMessage *string `json:"error_message"`
}

SingleErrorResponse represents a custom type struct

type SourceObjectFilters added in v0.2.5

type SourceObjectFilters struct {
	// Filter for objects with this etag.
	Etag *string `json:"etag"`
	// If set to true, filter for latest versions only. Otherwise, all versions will
	// be returned.
	LatestVersionOnly *bool `json:"latest_version_only"`
	// Filter for objects with at most this size in bytes.
	MaxObjectSizeBytes *int64 `json:"max_object_size_bytes"`
	// Filter for objects with at least this size in bytes.
	MinObjectSizeBytes *int64 `json:"min_object_size_bytes"`
	// Filter for objects whose key contains this string.
	ObjectKeyContains *string `json:"object_key_contains"`
	// Filter for objects whose key matches this string.
	ObjectKeyMatches *string `json:"object_key_matches"`
	// Filter for objects that start with this key prefix.
	ObjectKeyPrefix *string `json:"object_key_prefix"`
	// Filter for objects that end with this key suffix.
	ObjectKeySuffix *string `json:"object_key_suffix"`
	// Storage class to include in the restore. If not specified, then all objects across all storage
	// classes will be restored. Valid values are: `S3 Standard`, `S3 Standard-IA`, `S3 Intelligent-Tiering`
	// and `S3 One Zone-IA`.
	StorageClasses []*string `json:"storage_classes"`
	// Filter for objects with this version ID.
	VersionId *string `json:"version_id"`
}

SourceObjectFilters represents a custom type struct. Search for or restore only objects that pass the source object filter.

type Subgroup

type Subgroup struct {
	// URLs to pages related to the resource.
	Links *SubgroupLinks `json:"_links"`
	// The number of cloud connectors in this subgroup, aggregated by their status.
	CloudConnectorCountByStatus *CloudConnectorCountByStatus `json:"cloud_connector_count_by_status"`
	// The overall health of cloud connectors in this subgroup. Possible values include: 'healthy', indicating
	// that all cloud connectors in the subgroup are connected; 'degraded' indicating that one or more cloud
	// connectors in the subgroup have connection issues; `none`, indicating that no cloud connectors are in the subgroup.
	CloudConnectorStatus *string `json:"cloud_connector_status"`
	// The Clumio-assigned ID of the management group associated with this subgroup.
	GroupId *string `json:"group_id"`
	// The Clumio-assigned ID of the management subgroup.
	Id *string `json:"id"`
	// The name of the management subgroup.
	Name *string `json:"name"`
}

Subgroup represents a custom type struct

type SubgroupLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// A resource-specific HATEOAS link.
	ListMssqlHostConnections *HateoasLink `json:"list-mssql-host-connections"`
}

SubgroupLinks represents a custom type struct. URLs to pages related to the resource.

type SubgroupListEmbedded

type SubgroupListEmbedded struct {
	// TODO: Add struct field description
	Items []*Subgroup `json:"items"`
}

SubgroupListEmbedded represents a custom type struct. Embedded responses related to the resource.

type SubgroupListLinks struct {
	// The HATEOAS link to the first page of results.
	First *HateoasFirstLink `json:"_first"`
	// The HATEOAS link to the next page of results.
	Next *HateoasNextLink `json:"_next"`
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

SubgroupListLinks represents a custom type struct. URLs to pages related to the resource.

type Tag2

type Tag2 struct {
	// Embedded responses related to the resource.
	Embedded *Tag2Embedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *Tag2Links `json:"_links"`
	// The tag category associated with the tag.
	Category *TagParentCategoryModel `json:"category"`
	// The VMware-assigned Managed Object Reference (MoRef) ID of the tag.
	Id *string `json:"id"`
	// The VMware-assigned name of the tag.
	Name *string `json:"name"`
	// The Clumio-assigned ID of the organizational unit associated with the tag.
	OrganizationalUnitId *string `json:"organizational_unit_id"`
	// The protection policy applied to this resource. If the resource is not protected, then this field has a value of `null`.
	ProtectionInfo *ProtectionInfo `json:"protection_info"`
	// The protection status of this tag. Refer to the Protection Status table for a complete list of protection statuses.
	ProtectionStatus *string `json:"protection_status"`
}

Tag2 represents a custom type struct

type Tag2Embedded

type Tag2Embedded struct {
	// Embeds the associated policy of a protected resource in the response if requested using the `embed` query parameter. Unprotected resources will not have an associated policy.
	ReadPolicyDefinition interface{} `json:"read-policy-definition"`
	// Embeds the compliance statistics of VMs into each vCenter resource in the response, if requested using the `_embed` query parameter.
	ReadVmwareVcenterTagComplianceStats interface{} `json:"read-vmware-vcenter-tag-compliance-stats"`
}

Tag2Embedded represents a custom type struct. Embedded responses related to the resource.

type Tag2Links struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// A HATEOAS link to protect the entities.
	ProtectEntities *ProtectEntitiesHateoasLink `json:"protect-entities"`
	// A HATEOAS link to the policy protecting this resource. Will be omitted for unprotected entities.
	ReadPolicyDefinition *ReadPolicyDefinitionHateoasLink `json:"read-policy-definition"`
	// A HATEOAS link to the compliance statistics of VMs in the folders and subfolders of this vCenter resource.
	ReadVmwareVcenterTagComplianceStats *ReadVCenterObjectProtectionStatsHateoasLink `json:"read-vmware-vcenter-tag-compliance-stats"`
	// A HATEOAS link to unprotect the entities.
	UnprotectEntities *UnprotectEntitiesHateoasLink `json:"unprotect-entities"`
}

Tag2Links represents a custom type struct. URLs to pages related to the resource.

type Tag2ListEmbedded

type Tag2ListEmbedded struct {
	// TODO: Add struct field description
	Items []*Tag2 `json:"items"`
}

Tag2ListEmbedded represents a custom type struct. Embedded responses related to the resource.

type Tag2ListLinks struct {
	// The HATEOAS link to the first page of results.
	First *HateoasFirstLink `json:"_first"`
	// The HATEOAS link to the last page of results.
	Last *HateoasLastLink `json:"_last"`
	// The HATEOAS link to the next page of results.
	Next *HateoasNextLink `json:"_next"`
	// The HATEOAS link to the previous page of results.
	Prev *HateoasPrevLink `json:"_prev"`
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

Tag2ListLinks represents a custom type struct. URLs to pages related to the resource.

type TagCategory2Links struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

TagCategory2Links represents a custom type struct. URLs to pages related to the resource

type TagCategory2ListEmbedded

type TagCategory2ListEmbedded struct {
	// TagCategory2WithETag to support etag string to be calculated
	Items []*TagCategory2WithETag `json:"items"`
}

TagCategory2ListEmbedded represents a custom type struct. Embedded responses related to the resource

type TagCategory2ListLinks struct {
	// The HATEOAS link to the first page of results.
	First *HateoasFirstLink `json:"_first"`
	// The HATEOAS link to the last page of results.
	Last *HateoasLastLink `json:"_last"`
	// The HATEOAS link to the next page of results.
	Next *HateoasNextLink `json:"_next"`
	// The HATEOAS link to the previous page of results.
	Prev *HateoasPrevLink `json:"_prev"`
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

TagCategory2ListLinks represents a custom type struct. URLs to pages related to the resource

type TagCategory2WithETag

type TagCategory2WithETag struct {
	// The ETag value.
	Etag *string `json:"_etag"`
	// URLs to pages related to the resource
	Links *TagCategory2Links `json:"_links"`
	// A description of the tag category.
	Description *string `json:"description"`
	// The VMware-assigned Managed Object Reference (MoRef) ID of the tag category.
	Id *string `json:"id"`
	// The VMware-assigned name of the tag category.
	Name *string `json:"name"`
	// The number of tags in the tag category.
	NumberOfTags *int32 `json:"number_of_tags"`
	// The Clumio-assigned ID of the organizational unit associated with the tag category.
	OrganizationalUnitId *string `json:"organizational_unit_id"`
}

TagCategory2WithETag represents a custom type struct. TagCategory2WithETag to support etag string to be calculated

type TagParentCategoryModel

type TagParentCategoryModel struct {
	// The VMware-assigned Managed Object Reference (MoRef) ID of the tag category.
	Id *string `json:"id"`
	// The VMware-assigned name of the tag category.
	Name *string `json:"name"`
	// The Clumio-assigned ID of the organizational unit associated with the tag category.
	OrganizationalUnitId *string `json:"organizational_unit_id"`
}

TagParentCategoryModel represents a custom type struct. The tag category associated with the tag.

type TaskLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// A resource-specific HATEOAS link.
	ReadOrganizationalUnit *HateoasLink `json:"read-organizational-unit"`
	// A resource-specific HATEOAS link.
	UpdateTask *HateoasLink `json:"update-task"`
}

TaskLinks represents a custom type struct. URLs to pages related to the resource.

type TaskListEmbedded

type TaskListEmbedded struct {
	// TODO: Add struct field description
	Items []*TaskWithETag `json:"items"`
}

TaskListEmbedded represents a custom type struct. Embedded responses related to the resource.

type TaskListLinks struct {
	// The HATEOAS link to the first page of results.
	First *HateoasFirstLink `json:"_first"`
	// The HATEOAS link to the last page of results.
	Last *HateoasLastLink `json:"_last"`
	// The HATEOAS link to the next page of results.
	Next *HateoasNextLink `json:"_next"`
	// The HATEOAS link to the previous page of results.
	Prev *HateoasPrevLink `json:"_prev"`
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

TaskListLinks represents a custom type struct. URLs to pages related to the resource.

type TaskParentEntity

type TaskParentEntity struct {
	// A system-generated ID assigned to this entity.
	Id *string `json:"id"`
	// Type is mostly an asset type or the type of Entity. Some examples are
	// "restored_file", "vmware_vm",  etc.
	ClumioType *string `json:"type"`
	// A system-generated value assigned to the entity. For example, if the primary entity type is "vmware_vm" for a virtual machine, then the value is the name of the VM.
	Value *string `json:"value"`
}

TaskParentEntity represents a custom type struct. The parent entity associated with the task.

type TaskPrimaryEntity

type TaskPrimaryEntity struct {
	// A system-generated ID assigned to this entity.
	Id *string `json:"id"`
	// Type is mostly an asset type or the type of Entity. Some examples are
	// "restored_file", "vmware_vm",  etc.
	ClumioType *string `json:"type"`
	// A system-generated value assigned to the entity. For example, if the primary entity type is "vmware_vm" for a virtual machine, then the value is the name of the VM.
	Value *string `json:"value"`
}

TaskPrimaryEntity represents a custom type struct. The primary entity associated with the task.

type TaskWithETag added in v0.9.0

type TaskWithETag struct {
	// The ETag value.
	Etag *string `json:"_etag"`
	// URLs to pages related to the resource.
	Links *TaskLinks `json:"_links"`
	// The task category. Examples of task types include "backup", "restore", "snapshot", and "system".
	//
	// +-------------------+----------------------------------------------------------+
	// |     Category      |                       Description                        |
	// +===================+==========================================================+
	// | backup            | Encompasses all modes of backups. This does not include  |
	// |                   | in-account snapshots.                                    |
	// +-------------------+----------------------------------------------------------+
	// | restore           | Encompasses all modes of restores. This does not include |
	// |                   | restores of in-account snapshots.                        |
	// +-------------------+----------------------------------------------------------+
	// | snapshot          | Encompasses all modes of in-account snapshots.           |
	// +-------------------+----------------------------------------------------------+
	// | snapshot_restore  | Encompasses all modes of snapshot restores.              |
	// +-------------------+----------------------------------------------------------+
	// | system            | Encompasses a variety of system-initiated tasks, such as |
	// |                   | aws_rds_backup_target_setup and                          |
	// |                   | aws_ec2_instance_backup_indexing.                        |
	// +-------------------+----------------------------------------------------------+
	// | report_generation | Encompasses task types which generate reports, such as   |
	// |                   | activity_report_file_download.                           |
	// +-------------------+----------------------------------------------------------+
	// | management        | Encompasses user-initiated tasks which manage Clumio     |
	// |                   | resources, such as organizational_unit_update and        |
	// |                   | policy_update.                                           |
	// +-------------------+----------------------------------------------------------+
	//
	Category *string `json:"category"`
	// The timestamp of when the task was created. Represented in RFC-3339 format.
	CreatedTimestamp *string `json:"created_timestamp"`
	// The timestamp of when the task ended. If this task has not yet ended,
	// then this field has a value of `null`. Represented in RFC-3339 format.
	EndTimestamp *string `json:"end_timestamp"`
	// The task genre. A genre is a high-level collection of task categories.
	//
	// +----------------+-------------------------------------------------------------+
	// |     Genre      |                         Description                         |
	// +================+=============================================================+
	// | operational    | Encompasses all backup, restore, snapshot, and              |
	// |                | snapshot_restore tasks.                                     |
	// +----------------+-------------------------------------------------------------+
	// | administrative | Encompasses management, system, and report_generation       |
	// |                | tasks.                                                      |
	// +----------------+-------------------------------------------------------------+
	//
	Genre *string `json:"genre"`
	// The Clumio-assigned ID of the task.
	Id *string `json:"id"`
	// Determines whether or not this task can be aborted.
	// A task can be aborted if its status is either "queued" or "in_progress".
	// Tasks of certain types including
	// "vmware_vm_backup_indexing" and "aws_ebs_volume_backup_indexing" cannot be aborted.
	IsAbortable *bool `json:"is_abortable"`
	// The parent entity associated with the task.
	ParentEntity *TaskParentEntity `json:"parent_entity"`
	// The primary entity associated with the task.
	PrimaryEntity *TaskPrimaryEntity `json:"primary_entity"`
	// The percentage progress of task completion. Measured as an integer value between 0 and 100.
	ProgressPercentage *int64 `json:"progress_percentage"`
	// The timestamp of when the task started. If this task has not started yet,
	// then this field has a value of `null`. Represented in RFC-3339 format.
	StartTimestamp *string `json:"start_timestamp"`
	// The task status. Examples of task statuses include, "queued", "in_progress", and "completed".
	// Refer to the Task Status table for a complete list of task statuses.
	Status *string `json:"status"`
	// Refer to the Task Type table for a complete list of task types.
	ClumioType *string `json:"type"`
}

TaskWithETag represents a custom type struct

type TemplateConfigurationV2 added in v0.2.5

type TemplateConfigurationV2 struct {
	// The AWS asset types supported with the available version of the template.
	AssetTypesEnabled []*string `json:"asset_types_enabled"`
	// The latest available version for the template.
	AvailableTemplateVersion *string `json:"available_template_version"`
	// The latest available information for the DynamoDB feature.
	Dynamodb *DynamodbTemplateInfo `json:"dynamodb"`
	// TODO: Add struct field description
	Ebs *EbsTemplateInfo `json:"ebs"`
	// The latest available information for the EC2 MSSQL feature.
	Ec2Mssql *EC2MSSQLTemplateInfo `json:"ec2_mssql"`
	// TODO: Add struct field description
	Rds *RdsTemplateInfo `json:"rds"`
	// The latest available information for the S3 feature.
	S3 *S3TemplateInfo `json:"s3"`
	// Configuration information about the Warm-Tier Protect feature of the template.
	WarmTierProtect *WarmTierProtectTemplateInfo `json:"warm_tier_protect"`
}

TemplateConfigurationV2 represents a custom type struct. The configuration of the given template

type TemplateLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

TemplateLinks represents a custom type struct. URLs to pages related to the resource.

type UnprotectEntitiesHateoasLink struct {
	// The URI for the referenced operation.
	Href *string `json:"href"`
	// Determines whether the "href" link is a URI template. If set to `true`, the "href" link is a URI template.
	Templated *bool `json:"templated"`
	// The HTTP method to be used with the "href" link for the referenced operation.
	ClumioType *string `json:"type"`
}

UnprotectEntitiesHateoasLink represents a custom type struct. A HATEOAS link to unprotect the entities.

type UpdateAWSConnectionResponse

type UpdateAWSConnectionResponse struct {
	// URLs to pages related to the resource.
	Links *AWSConnectionLinks `json:"_links"`
	// The alias given to the account on AWS.
	AccountName *string `json:"account_name"`
	// The AWS-assigned ID of the account associated with the connection.
	AccountNativeId *string `json:"account_native_id"`
	// The AWS region associated with the connection. For example, `us-east-1`.
	AwsRegion *string `json:"aws_region"`
	// AWS account ID of the Clumio control plane.
	ClumioAwsAccountId *string `json:"clumio_aws_account_id"`
	// AWS region of the Clumio control plane
	ClumioAwsRegion *string `json:"clumio_aws_region"`
	// The consolidated configuration of the Clumio Cloud Protect and Clumio Cloud Discover products for this connection.
	// If this connection is deprecated to use unconsolidated configuration, then this field has a
	// value of `null`.
	Config *ConsolidatedConfig `json:"config"`
	// The status of the connection. Possible values include "connecting",
	// "connected", and "unlinked".
	ConnectionStatus *string `json:"connection_status"`
	// The timestamp of when the connection was created.
	CreatedTimestamp *string `json:"created_timestamp"`
	// AWS account ID of the data plane for the connection.
	DataPlaneAccountId *string `json:"data_plane_account_id"`
	// The user-provided description for this connection.
	Description *string `json:"description"`
	// The configuration of the Clumio Discover product for this connection.
	// If this connection is not configured for Clumio Discover, then this field has a
	// value of `null`.
	Discover *DiscoverConfig `json:"discover"`
	// Clumio assigned external ID of the connection or of the associated connection group.
	ExternalId *string `json:"external_id"`
	// The Clumio-assigned ID of the connection.
	Id *string `json:"id"`
	// Status denoting whether Ingestion has started for the connection.
	// Valid values are "initial", "in_progress", "failed", "completed".
	IngestionStatus *string `json:"ingestion_status"`
	// K8S Namespace
	Namespace *string `json:"namespace"`
	// The Clumio-assigned ID of the organizational unit associated with the
	// AWS environment. If this parameter is not provided, then the value
	// defaults to the first organizational unit assigned to the requesting
	// user. For more information about organizational units, refer to the
	// Organizational-Units documentation.
	OrganizationalUnitId *string `json:"organizational_unit_id"`
	// The configuration of the Clumio Cloud Protect product for this connection.
	// If this connection is not configured for Clumio Cloud Protect, then this field has a
	// value of `null`.
	Protect *ProtectConfig `json:"protect"`
	// The asset types enabled for protect.
	// Valid values are any of ["EBS", "RDS", "DynamoDB", "EC2MSSQL", "S3"].
	ProtectAssetTypesEnabled []*string `json:"protect_asset_types_enabled"`
	// The services to be enabled for this configuration. Valid values are
	// ["discover"], ["discover", "protect"]. This is only set when the
	// registration is created, the enabled services are obtained directly from
	// the installed template after that. (Deprecated as all connections will have
	// both discover and protect enabled)
	ServicesEnabled []*string `json:"services_enabled"`
	// The Amazon Resource Name of the installed CloudFormation stack in this AWS account
	StackArn *string `json:"stack_arn"`
	// The name given to the installed CloudFormation stack on AWS.
	StackName *string `json:"stack_name"`
	// Status denoting whether Target Setup has started for the connection.
	// Valid values are "initial", "in_progress", "failed", "completed".
	TargetSetupStatus *string `json:"target_setup_status"`
	// The 36-character Clumio AWS integration ID token used to identify the
	// installation of the CloudFormation template on the account. This value
	// will be pasted into the ClumioToken field when creating the
	// CloudFormation stack.
	Token *string `json:"token"`
}

UpdateAWSConnectionResponse represents a custom type struct for Success

type UpdateAlertResponse

type UpdateAlertResponse struct {
	// Embedded responses related to the resource.
	Embedded *AlertEmbedded `json:"_embedded"`
	// The ETag value.
	Etag *string `json:"_etag"`
	// URLs to pages related to the resource.
	Links *AlertLinks `json:"_links"`
	// The issue that generated the alert. Each cause belongs to an alert type.
	Cause *string `json:"cause"`
	// The timestamp of when the alert was cleared, either automatically by Clumio or manually by a Clumio user.
	// Represented in RFC-3339 format. If this alert has not been cleared, then this field has a value of `null`.
	ClearedTimestamp *string `json:"cleared_timestamp"`
	// The Clumio-assigned ID of the consolidated alert associated with this individual alert. Alerts are consolidated based on matching parent entity, alert type, and alert cause.
	ConsolidatedAlertId *string `json:"consolidated_alert_id"`
	// Additional information about the alert.
	Details *IndividualAlertDetails `json:"details"`
	// The Clumio-assigned ID of the individual alert.
	Id *string `json:"id"`
	// A record of user-provided information about the alert.
	Notes *string `json:"notes"`
	// The parent object of the primary entity associated with or affected by the alert. For example, "aws_environment" is the parent entity of primary entity "aws_ebs_volume".
	ParentEntity *AlertParentEntity `json:"parent_entity"`
	// The primary object associated with or affected by the alert. Examples of primary entities include "aws_connection", "aws_ebs_volume" and "vmware_vm".
	PrimaryEntity *AlertPrimaryEntity `json:"primary_entity"`
	// The number of times the alert has recurred for this primary entity.
	RaisedCount *uint64 `json:"raised_count"`
	// The timestamp of when the alert was raised. Represented in RFC-3339 format.
	RaisedTimestamp *string `json:"raised_timestamp"`
	// The alert severity level. Values include "error" and "warning".
	Severity *string `json:"severity"`
	// The individual alert status. An individual alert that is in "active" status is one that is still open and has yet to be addressed.
	// An individual alert that is in "cleared" status is one that has been cleared, either automatically by Clumio or manually by a Clumio user.
	Status *string `json:"status"`
	// TODO: Add struct field description
	Tags []*RestEntity `json:"tags"`
	// The general alert category. Some alert types may be associated with multiple causes.
	// Refer to the Alert Type table for a complete list of alert types.
	ClumioType *string `json:"type"`
	// The timestamp of when the alert was last updated. Represented in RFC-3339 format.
	// The alert is updated whenever there is a new occurrence of the same alert within the same entity.
	UpdatedTimestamp *string `json:"updated_timestamp"`
}

UpdateAlertResponse represents a custom type struct for Success

type UpdateAutoUserProvisioningRuleResponse added in v0.3.0

type UpdateAutoUserProvisioningRuleResponse struct {
	// Embedded responses related to the resource.
	Embedded *AutoUserProvisioningRuleEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *AutoUserProvisioningRuleLinks `json:"_links"`
	// The following table describes the possible conditions for a rule.
	//
	// +--------------------------+-------------------------+-------------------------+
	// |     Group Selection      |     Rule Condition      |       Description       |
	// +==========================+=========================+=========================+
	// | This group               |                         | User must belong to the |
	// |                          |                         | specified group.        |
	// |                          | {"user.groups":{"$eq":" |                         |
	// |                          | Admin"}}                |                         |
	// |                          |                         |                         |
	// |                          |                         |                         |
	// +--------------------------+-------------------------+-------------------------+
	// | ANY of these groups      |                         | User must belong to at  |
	// |                          |                         | least one of the        |
	// |                          | {"user.groups":{"$in":[ | specified groups.       |
	// |                          | "Admin", "Eng",         |                         |
	// |                          | "Sales"]}}              |                         |
	// |                          |                         |                         |
	// |                          |                         |                         |
	// +--------------------------+-------------------------+-------------------------+
	// | ALL of these groups      |                         | User must belong to all |
	// |                          |                         | the specified groups.   |
	// |                          | {"user.groups":{"$all": |                         |
	// |                          | ["Admin", "Eng",        |                         |
	// |                          | "Sales"]}}              |                         |
	// |                          |                         |                         |
	// |                          |                         |                         |
	// +--------------------------+-------------------------+-------------------------+
	// | Group CONTAINS this      |                         | User's group must       |
	// | keyword                  |                         | contain the specified   |
	// |                          | {"user.groups":{"$conta | keyword.                |
	// |                          | ins":{"$in":["Admin"]}} |                         |
	// |                          | }                       |                         |
	// |                          |                         |                         |
	// |                          |                         |                         |
	// +--------------------------+-------------------------+-------------------------+
	// | Group CONTAINS ANY of    |                         | User's group must       |
	// | these keywords           |                         | contain at least one of |
	// |                          | {"user.groups":{"$conta | the specified keywords. |
	// |                          | ins":{"$in":["Admin",   |                         |
	// |                          | "Eng", "Sales"]}}}      |                         |
	// |                          |                         |                         |
	// |                          |                         |                         |
	// +--------------------------+-------------------------+-------------------------+
	// | Group CONTAINS ALL of    |                         | User's group must       |
	// | these keywords           |                         | contain all the         |
	// |                          | {"user.groups":{"$conta | specified keywords.     |
	// |                          | ins":{"$all":["Admin",  |                         |
	// |                          | "Eng", "Sales"]}}}      |                         |
	// |                          |                         |                         |
	// |                          |                         |                         |
	// +--------------------------+-------------------------+-------------------------+
	//
	Condition *string `json:"condition"`
	// Unique name assigned to the rule.
	Name *string `json:"name"`
	// Specifies the role and the organizational units to be assigned to the user subject to the rule criteria.
	Provision *RuleProvision `json:"provision"`
	// The Clumio-assigned ID of the rule.
	RuleId *string `json:"rule_id"`
}

UpdateAutoUserProvisioningRuleResponse represents a custom type struct for Success

type UpdateAutoUserProvisioningRuleV1Request added in v0.3.0

type UpdateAutoUserProvisioningRuleV1Request struct {
	// The following table describes the possible conditions for a rule.
	//
	// +--------------------------+-------------------------+-------------------------+
	// |     Group Selection      |     Rule Condition      |       Description       |
	// +==========================+=========================+=========================+
	// | This group               |                         | User must belong to the |
	// |                          |                         | specified group.        |
	// |                          | {"user.groups":{"$eq":" |                         |
	// |                          | Admin"}}                |                         |
	// |                          |                         |                         |
	// |                          |                         |                         |
	// +--------------------------+-------------------------+-------------------------+
	// | ANY of these groups      |                         | User must belong to at  |
	// |                          |                         | least one of the        |
	// |                          | {"user.groups":{"$in":[ | specified groups.       |
	// |                          | "Admin", "Eng",         |                         |
	// |                          | "Sales"]}}              |                         |
	// |                          |                         |                         |
	// |                          |                         |                         |
	// +--------------------------+-------------------------+-------------------------+
	// | ALL of these groups      |                         | User must belong to all |
	// |                          |                         | the specified groups.   |
	// |                          | {"user.groups":{"$all": |                         |
	// |                          | ["Admin", "Eng",        |                         |
	// |                          | "Sales"]}}              |                         |
	// |                          |                         |                         |
	// |                          |                         |                         |
	// +--------------------------+-------------------------+-------------------------+
	// | Group CONTAINS this      |                         | User's group must       |
	// | keyword                  |                         | contain the specified   |
	// |                          | {"user.groups":{"$conta | keyword.                |
	// |                          | ins":{"$in":["Admin"]}} |                         |
	// |                          | }                       |                         |
	// |                          |                         |                         |
	// |                          |                         |                         |
	// +--------------------------+-------------------------+-------------------------+
	// | Group CONTAINS ANY of    |                         | User's group must       |
	// | these keywords           |                         | contain at least one of |
	// |                          | {"user.groups":{"$conta | the specified keywords. |
	// |                          | ins":{"$in":["Admin",   |                         |
	// |                          | "Eng", "Sales"]}}}      |                         |
	// |                          |                         |                         |
	// |                          |                         |                         |
	// +--------------------------+-------------------------+-------------------------+
	// | Group CONTAINS ALL of    |                         | User's group must       |
	// | these keywords           |                         | contain all the         |
	// |                          | {"user.groups":{"$conta | specified keywords.     |
	// |                          | ins":{"$all":["Admin",  |                         |
	// |                          | "Eng", "Sales"]}}}      |                         |
	// |                          |                         |                         |
	// |                          |                         |                         |
	// +--------------------------+-------------------------+-------------------------+
	//
	Condition *string `json:"condition"`
	// Unique name assigned to the rule.
	Name *string `json:"name"`
	// Specifies the role and the organizational units to be assigned to the user subject to the rule criteria.
	Provision *RuleProvision `json:"provision"`
}

UpdateAutoUserProvisioningRuleV1Request represents a custom type struct

type UpdateAutoUserProvisioningSettingResponse added in v0.3.0

type UpdateAutoUserProvisioningSettingResponse struct {
	// URLs to pages related to the resource.
	Links *AutoUserProvisioningSettingLinks `json:"_links"`
	// Whether auto user provisioning is enabled or not.
	IsEnabled *bool `json:"is_enabled"`
}

UpdateAutoUserProvisioningSettingResponse represents a custom type struct for Success

type UpdateAutoUserProvisioningSettingV1Request added in v0.3.0

type UpdateAutoUserProvisioningSettingV1Request struct {
	// Whether auto user provisioning is enabled or not.
	IsEnabled *bool `json:"is_enabled"`
}

UpdateAutoUserProvisioningSettingV1Request represents a custom type struct

type UpdateAwsConnectionV1Request

type UpdateAwsConnectionV1Request struct {
	// Asset types enabled with the given resource ARNs.
	// This field is only applicable to manually configured connections.
	AssetTypesEnabled []*string `json:"asset_types_enabled"`
	// An optional, user-provided description for this connection.
	Description *string `json:"description"`
	// Partial updates are not supported, therefore you must provide ARNs for all configured resources,
	// including those for resources that are not being updated.
	Resources *Resources `json:"resources"`
}

UpdateAwsConnectionV1Request represents a custom type struct

type UpdateConsolidatedAlertResponse

type UpdateConsolidatedAlertResponse struct {
	// The ETag value.
	Etag *string `json:"_etag"`
	// URLs to pages related to the resource.
	Links *ConsolidatedAlertLinks `json:"_links"`
	// The number of currently active individual alerts associated with the consolidated alert.
	ActiveEntityCount *int64 `json:"active_entity_count"`
	// The issue that generated the alert. Each alert cause is associated with an alert type.
	Cause *string `json:"cause"`
	// The number of cleared individual alerts associated with the consolidated alert.
	ClearedEntityCount *int64 `json:"cleared_entity_count"`
	// The timestamp of when the consolidated alert was cleared, if ever. Represented in RFC-3339 format. If this alert has not been cleared, this field will have a value of `null`.
	// A consolidated alert goes into "cleared" status when all of its associated individual alerts are in "cleared" status or when a Clumio user manually clears it.
	ClearedTimestamp *string `json:"cleared_timestamp"`
	// Additional information about the consolidated alert.
	Details *ConsolidatedAlertDetails `json:"details"`
	// The Clumio-assigned ID of the consolidated alert.
	Id *string `json:"id"`
	// A record of user-provided information about the alert.
	Notes *string `json:"notes"`
	// The entity associated with or affected by the alert.
	ParentEntity *ConsolidatedAlertParentEntity `json:"parent_entity"`
	// The timestamp of when the consolidated alert was initially raised. Represented in RFC-3339 format.
	RaisedTimestamp *string `json:"raised_timestamp"`
	// The alert severity level. Values include "error" and "warning".
	Severity *string `json:"severity"`
	// The consolidated alert status. A consolidated alert is in "active" status if one or more of its associated individual alerts is in "active" status.
	// A consolidated alert goes into "cleared" status when all of its associated individual alerts are in "cleared" status or when a Clumio user manually clears it.
	Status *string `json:"status"`
	// The general alert category. An alert type may be associated with multiple alert causes. Examples of alert types include "tag_conflict" and "policy_violated".
	// Refer to the Alert Type table for a complete list of alert types.
	ClumioType *string `json:"type"`
	// The timestamp of when the consolidated alert was last updated. Represented in RFC-3339 format.
	// Raising a new individual alert will update its associated consolidated alert.
	UpdatedTimestamp *string `json:"updated_timestamp"`
}

UpdateConsolidatedAlertResponse represents a custom type struct for Success

type UpdateConsolidatedAlertV1Request

type UpdateConsolidatedAlertV1Request struct {
	// A record of user-provided information about the alert. The note must be less than 1024 characters in length. Adding a new note overwrites any existing notes.
	Notes *string `json:"notes"`
	// Manually clears an active alert. To clear the active alert, set the parameter to "cleared". Once an alert is cleared,
	// the status of the alert changes from "active" to "cleared".
	// If the alert is already in "cleared" status, this action is ignored.
	// An alert that is in "cleared" status cannot be changed to "active" status.
	Status *string `json:"status"`
}

UpdateConsolidatedAlertV1Request represents a custom type struct

type UpdateEntities

type UpdateEntities struct {
	// entityModel denotes the entityModel
	Add []*EntityModel `json:"add"`
	// entityModel denotes the entityModel
	Remove []*EntityModel `json:"remove"`
}

UpdateEntities represents a custom type struct. Updates to the entities in the organizational unit. Adding or removing entities from the OU is an asynchronous operation. The response has a task ID which can be used to track the progress of the operation.

type UpdateGeneralSettingsV2Request

type UpdateGeneralSettingsV2Request struct {
	// The length of time before a user is logged out of the Clumio system due to inactivity. Measured in seconds.
	// The valid range is between 600 seconds (10 minutes) and 3600 seconds (60 minutes).
	// If not configured, the value defaults to 900 seconds (15 minutes).
	AutoLogoutDuration *int64 `json:"auto_logout_duration"`
	// The designated range of IP addresses that are allowed to access the Clumio REST API.
	// API requests that originate from outside this list will be blocked.
	// The IP address of the server from which this request is being made must be in this list; otherwise, the request will fail.
	// Set the parameter to individual IP addresses and/or a range of IP addresses in CIDR notation.
	// For example, ["193.168.1.0/24", "193.172.1.1"].
	// If not configured, the value defaults to ["0.0.0.0/0"] meaning all addresses will be allowed.
	IpAllowlist []*string `json:"ip_allowlist"`
	// The grouping criteria for each datasource type.
	// These can only be edited for datasource types which do not have any
	// organizational units configured.
	OrganizationalUnitDataGroups *OUGroupingCriteria `json:"organizational_unit_data_groups"`
	// The length of time a user password is valid before it must be changed. Measured in seconds.
	// The valid range is between 2592000 seconds (30 days) and 15552000 seconds (180 days).
	// If not configured, the value defaults to 7776000 seconds (90 days).
	PasswordExpirationDuration *int64 `json:"password_expiration_duration"`
}

UpdateGeneralSettingsV2Request represents a custom type struct

type UpdateIndividualAlertV1Request

type UpdateIndividualAlertV1Request struct {
	// A record of information about the alert. The note must be less than 1024 characters in length. Adding a new note overwrites any existing notes.
	Notes *string `json:"notes"`
	// Manually clears an active alert. To clear the alert, set to "cleared"`". Once an alert is cleared,
	// the status of the alert changes from "active" to "cleared".
	// If the alert is already in "cleared" status, this action is ignored.
	// An alert that is in "cleared" status cannot be changed to "active" status.
	Status *string `json:"status"`
}

UpdateIndividualAlertV1Request represents a custom type struct

type UpdateManagementGroupResponse

type UpdateManagementGroupResponse struct {
	// URLs to pages related to the resource.
	Links *ManagementGroupLinks `json:"_links"`
	// The Clumio-assigned ID of the management group.
	Id *string `json:"id"`
	// The name of the management group.
	Name *string `json:"name"`
	// The type of the management group. Possible values include `on_prem`.
	ClumioType *string `json:"type"`
	// The Clumio-assigned ID of the vCenter server associated with the management group.
	// All management groups are associated with a vCenter server.
	VcenterId *string `json:"vcenter_id"`
}

UpdateManagementGroupResponse represents a custom type struct for Success

type UpdateManagementGroupV1Request

type UpdateManagementGroupV1Request struct {
	// Determines whether backups are allowed to occur across different subgroups or cloud connectors.
	BackupAcrossSubgroups *bool `json:"backup_across_subgroups"`
	// The name of the management group.
	Name *string `json:"name"`
}

UpdateManagementGroupV1Request represents a custom type struct

type UpdatePolicyDefinitionV1Request

type UpdatePolicyDefinitionV1Request struct {
	// The status of the policy.
	// Refer to the Policy Activation Status table for a complete list of policy statuses.
	ActivationStatus *string `json:"activation_status"`
	// The user-provided name of the policy.
	Name *string `json:"name"`
	// TODO: Add struct field description
	Operations []*PolicyOperationInput `json:"operations"`
	// The Clumio-assigned ID of the organizational unit associated with the policy.
	OrganizationalUnitId *string `json:"organizational_unit_id"`
	// The policy-level timezone is deprecated, as the operation-level timezone should be used instead.
	// The timezone must be a valid location name from the IANA Time Zone database.
	// For instance, "America/New_York", "US/Central", "UTC".
	// Deprecated: true
	Timezone *string `json:"timezone"`
}

UpdatePolicyDefinitionV1Request represents a custom type struct

type UpdatePolicyResponse

type UpdatePolicyResponse struct {
	// If the `embed` query parameter is set, displays the responses of the related resource,
	// as defined by the embeddable link specified.
	Embedded *PolicyEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *UpdatePolicyResponseLinks `json:"_links"`
	// The status of the policy.
	// Refer to the Policy Activation Status table for a complete list of policy statuses.
	ActivationStatus *string `json:"activation_status"`
	// The created time of the policy in unix time.
	CreatedTime *int64 `json:"created_time"`
	// The Clumio-assigned ID of the policy.
	Id *string `json:"id"`
	// The following table describes the possible lock statuses of a policy.
	//
	// +----------+-------------------------------------------------------------------+
	// |  Status  |                            Description                            |
	// +==========+===================================================================+
	// | unlocked | Policies are unlocked until an update or deletion task is queued. |
	// +----------+-------------------------------------------------------------------+
	// | updating | During a policy edit, concurrent edits or deletion requests will  |
	// |          | be rejected.                                                      |
	// +----------+-------------------------------------------------------------------+
	// | deleting | During policy deletion, concurrent edits or deletion requests     |
	// |          | will be rejected.                                                 |
	// +----------+-------------------------------------------------------------------+
	//
	LockStatus *string `json:"lock_status"`
	// The user-provided name of the policy.
	Name *string `json:"name"`
	// TODO: Add struct field description
	Operations []*PolicyOperation `json:"operations"`
	// The Clumio-assigned ID of the organizational unit associated with the policy.
	OrganizationalUnitId *string `json:"organizational_unit_id"`
	// The Clumio-assigned ID of the task generated by this request.
	TaskId *string `json:"task_id"`
	// The policy-level timezone is deprecated, as the operation-level timezone should be used instead.
	// The timezone must be a valid location name from the IANA Time Zone database.
	// For instance, "America/New_York", "US/Central", "UTC".
	// Deprecated: true
	Timezone *string `json:"timezone"`
	// The updated time of the policy in unix time.
	UpdatedTime *int64 `json:"updated_time"`
}

UpdatePolicyResponse represents a custom type struct for Success

type UpdatePolicyResponseLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// A HATEOAS link to the task associated with this resource.
	ReadTask *ReadTaskHateoasLink `json:"read-task"`
}

UpdatePolicyResponseLinks represents a custom type struct. URLs to pages related to the resource.

type UpdatePolicyRuleV1Request

type UpdatePolicyRuleV1Request struct {
	// An action to be applied subject to the rule criteria.
	Action *RuleAction `json:"action"`
	// The following table describes the possible conditions for a rule.
	//
	// +-----------------------+---------------------------+--------------------------+
	// |         Field         |      Rule Condition       |       Description        |
	// +=======================+===========================+==========================+
	// | aws_account_native_id | $eq, $in                  | Denotes the AWS account  |
	// |                       |                           | to conditionalize on     |
	// |                       |                           |                          |
	// |                       |                           | {"aws_account_native_id" |
	// |                       |                           | :{"$eq":"111111111111"}} |
	// |                       |                           |                          |
	// |                       |                           |                          |
	// |                       |                           | {"aws_account_native_id" |
	// |                       |                           | :{"$in":["111111111111", |
	// |                       |                           | "222222222222"]}}        |
	// |                       |                           |                          |
	// |                       |                           |                          |
	// +-----------------------+---------------------------+--------------------------+
	// | aws_region            | $eq, $in                  | Denotes the AWS region   |
	// |                       |                           | to conditionalize on     |
	// |                       |                           |                          |
	// |                       |                           | {"aws_region":{"$eq":"us |
	// |                       |                           | -west-2"}}               |
	// |                       |                           |                          |
	// |                       |                           |                          |
	// |                       |                           | {"aws_region":{"$in":["u |
	// |                       |                           | s-west-2", "us-          |
	// |                       |                           | east-1"]}}               |
	// |                       |                           |                          |
	// |                       |                           |                          |
	// +-----------------------+---------------------------+--------------------------+
	// | aws_tag               | $eq, $in, $all, $contains | Denotes the AWS tag(s)   |
	// |                       |                           | to conditionalize on.    |
	// |                       |                           | Max 100 tags allowed in  |
	// |                       |                           | each rule                |
	// |                       |                           | and tag key can be upto  |
	// |                       |                           | 128 characters and value |
	// |                       |                           | can be upto 256          |
	// |                       |                           | characters long.         |
	// |                       |                           |                          |
	// |                       |                           | {"aws_tag":{"$eq":{"key" |
	// |                       |                           | :"Environment",          |
	// |                       |                           | "value":"Prod"}}}        |
	// |                       |                           |                          |
	// |                       |                           |                          |
	// |                       |                           | {"aws_tag":{"$in":[{"key |
	// |                       |                           | ":"Environment",         |
	// |                       |                           | "value":"Prod"},         |
	// |                       |                           | {"key":"Hello",          |
	// |                       |                           | "value":"World"}]}}      |
	// |                       |                           |                          |
	// |                       |                           |                          |
	// |                       |                           | {"aws_tag":{"$all":[{"ke |
	// |                       |                           | y":"Environment",        |
	// |                       |                           | "value":"Prod"},         |
	// |                       |                           | {"key":"Hello",          |
	// |                       |                           | "value":"World"}]}}      |
	// |                       |                           |                          |
	// |                       |                           |                          |
	// |                       |                           | {"aws_tag":{"$contains": |
	// |                       |                           | {"key":"Environment",    |
	// |                       |                           | "value":"Prod"}}}        |
	// |                       |                           |                          |
	// |                       |                           |                          |
	// +-----------------------+---------------------------+--------------------------+
	// | entity_type           | $eq, $in                  | Denotes the AWS entity   |
	// |                       |                           | type to conditionalize   |
	// |                       |                           | on. (Required)           |
	// |                       |                           |                          |
	// |                       |                           | {"entity_type":{"$eq":"a |
	// |                       |                           | ws_rds_instance"}}       |
	// |                       |                           |                          |
	// |                       |                           |                          |
	// |                       |                           | {"entity_type":{"$in":[" |
	// |                       |                           | aws_rds_instance",       |
	// |                       |                           | "aws_ebs_volume", "aws_e |
	// |                       |                           | c2_instance","aws_dynamo |
	// |                       |                           | db_table",               |
	// |                       |                           | "aws_rds_cluster"]}}     |
	// |                       |                           |                          |
	// |                       |                           |                          |
	// +-----------------------+---------------------------+--------------------------+
	//
	Condition *string `json:"condition"`
	// Name of the rule. Max 100 characters.
	Name *string `json:"name"`
	// A priority relative to other rules.
	Priority *RulePriority `json:"priority"`
}

UpdatePolicyRuleV1Request represents a custom type struct

type UpdateProtectionGroupAssignments added in v0.11.0

type UpdateProtectionGroupAssignments struct {
	// List of protection group IDs to assign to this organizational unit.
	Assign []*string `json:"assign"`
	// List of protection group IDs to un-assign from this organizational unit.
	Unassign []*string `json:"unassign"`
}

UpdateProtectionGroupAssignments represents a custom type struct. UpdateProtectionGroupAssignments denotes the protection groups to be assigned or unassigned. Updates to the protection group assignments.

type UpdateProtectionGroupInstantAccessEndpointRoleV1Request added in v0.12.0

type UpdateProtectionGroupInstantAccessEndpointRoleV1Request struct {
	// The updated descriptive alias of the IAM role. The current alias will be retained if
	// empty updated_role_alias is passed.
	UpdatedRoleAlias *string `json:"updated_role_alias"`
	// The updated ARN of the IAM role to allow access to the endpoint. The role must be
	// accessible from an AWS account registered with Clumio. The current ARN will be retained
	// if empty updated_role_arn is passed.
	UpdatedRoleArn *string `json:"updated_role_arn"`
}

UpdateProtectionGroupInstantAccessEndpointRoleV1Request represents a custom type struct

type UpdateProtectionGroupInstantAccessEndpointV1Request added in v0.12.0

type UpdateProtectionGroupInstantAccessEndpointV1Request struct {
	// The time that this endpoint expires, in RFC-3339 format. This will revert to default if no
	// state passed.
	ExpiryTimestamp *string `json:"expiry_timestamp"`
	// The user-assigned name of the S3 instant access endpoint. This will be removed if left empty.
	Name *string `json:"name"`
}

UpdateProtectionGroupInstantAccessEndpointV1Request represents a custom type struct

type UpdateProtectionGroupResponse added in v0.1.2

type UpdateProtectionGroupResponse struct {
	// Embedded responses related to the resource.
	Embedded interface{} `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *ProtectionGroupVersionLinks `json:"_links"`
	// The backup target AWS region associated with the protection group, empty if
	// in-region or not configured.
	BackupTargetAwsRegion *string `json:"backup_target_aws_region"`
	// Number of buckets
	BucketCount *int64 `json:"bucket_count"`
	// The following table describes the possible conditions for a bucket to be
	// automatically added to a protection group.
	//
	// +---------+----------------+---------------------------------------------------+
	// |  Field  | Rule Condition |                    Description                    |
	// +=========+================+===================================================+
	// | aws_tag | $eq            | Denotes the AWS tag(s) to conditionalize on       |
	// |         |                |                                                   |
	// |         |                | {"aws_tag":{"$eq":{"key":"Environment",           |
	// |         |                | "value":"Prod"}}}                                 |
	// |         |                |                                                   |
	// |         |                |                                                   |
	// +---------+----------------+---------------------------------------------------+
	//
	BucketRule *string `json:"bucket_rule"`
	// Creation time of the protection group in RFC-3339 format.
	CreatedTimestamp *string `json:"created_timestamp"`
	// The user-assigned description of the protection group.
	Description *string `json:"description"`
	// The Clumio-assigned ID of the protection group.
	Id *string `json:"id"`
	// Whether the protection group already has a backup target configured by a policy, or
	// is open to be protected by an in-region or out-of-region S3 policy.
	IsBackupTargetRegionConfigured *bool `json:"is_backup_target_region_configured"`
	// Determines whether the protection group is active or has been deleted. Deleted protection
	// groups may be purged after some time once there are no active backups associated with it.
	IsDeleted *bool `json:"is_deleted"`
	// Time of the last backup in RFC-3339 format.
	LastBackupTimestamp *string `json:"last_backup_timestamp"`
	// Time of the last successful continuous backup in RFC-3339 format.
	LastContinuousBackupTimestamp *string `json:"last_continuous_backup_timestamp"`
	// Modified time of the protection group in RFC-3339 format.
	ModifiedTimestamp *string `json:"modified_timestamp"`
	// The user-assigned name of the protection group.
	Name *string `json:"name"`
	// ObjectFilter
	// defines which objects will be backed up.
	ObjectFilter *ObjectFilter `json:"object_filter"`
	// The Clumio-assigned ID of the organizational unit associated with the Protection Group.
	OrganizationalUnitId *string `json:"organizational_unit_id"`
	// Cumulative count of all unexpired objects in each backup (any new or updated since
	// the last backup) that have been backed up as part of this protection group
	TotalBackedUpObjectCount *int64 `json:"total_backed_up_object_count"`
	// Cumulative size of all unexpired objects in each backup (any new or updated since
	// the last backup) that have been backed up as part of this protection group
	TotalBackedUpSizeBytes *int64 `json:"total_backed_up_size_bytes"`
	// Version of the protection group. The version number is incremented every time
	// a change is made to the protection group.
	Version *int64 `json:"version"`
}

UpdateProtectionGroupResponse represents a custom type struct for Success

type UpdateProtectionGroupV1Request added in v0.1.2

type UpdateProtectionGroupV1Request struct {
	// The following table describes the possible conditions for a bucket to be
	// automatically added to a protection group.
	//
	// +---------+----------------+---------------------------------------------------+
	// |  Field  | Rule Condition |                    Description                    |
	// +=========+================+===================================================+
	// | aws_tag | $eq            | Denotes the AWS tag(s) to conditionalize on       |
	// |         |                |                                                   |
	// |         |                | {"aws_tag":{"$eq":{"key":"Environment",           |
	// |         |                | "value":"Prod"}}}                                 |
	// |         |                |                                                   |
	// |         |                |                                                   |
	// +---------+----------------+---------------------------------------------------+
	//
	BucketRule *string `json:"bucket_rule"`
	// The user-assigned description of the protection group.
	Description *string `json:"description"`
	// The user-assigned name of the protection group.
	Name *string `json:"name"`
	// ObjectFilter
	// defines which objects will be backed up.
	ObjectFilter *ObjectFilter `json:"object_filter"`
}

UpdateProtectionGroupV1Request represents a custom type struct

type UpdateRuleResponse

type UpdateRuleResponse struct {
	// URLs to pages related to the resource.
	Links *UpdateRuleResponseLinks `json:"_links"`
	// A rule applies an action subject to a condition criteria.
	Rule *Rule `json:"rule"`
	// The Clumio-assigned ID of the task generated by this request.
	TaskId *string `json:"task_id"`
}

UpdateRuleResponse represents a custom type struct for Success

type UpdateRuleResponseLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// A HATEOAS link to the task associated with this resource.
	ReadTask *ReadTaskHateoasLink `json:"read-task"`
}

UpdateRuleResponseLinks represents a custom type struct. URLs to pages related to the resource.

type UpdateS3InstantAccessEndpointResponse added in v0.12.0

type UpdateS3InstantAccessEndpointResponse struct {
	// Embedded responses related to the resource.
	Embedded *S3InstantAccessEndpointEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *S3InstantAccessEndpointLinks `json:"_links"`
	// The AWS-assigned ID of the account associated with the S3 instant access endpoint.
	AwsAccountId *string `json:"aws_account_id"`
	// The AWS region of the S3 instant access endpoint and its source backup.
	BackupRegion *string `json:"backup_region"`
	// The name of source bucket.
	BucketName *string `json:"bucket_name"`
	// The time that this endpoint was created, in RFC-3339 format.
	CreatedTimestamp *string `json:"created_timestamp"`
	// The status of the S3 instant access endpoint. Possible values include "preparing",
	// "active", "expiring", and "expired".
	EndpointStatus *string `json:"endpoint_status"`
	// The time that this endpoint expires, in RFC-3339 format.
	ExpiryTimestamp *string `json:"expiry_timestamp"`
	// The Clumio-assigned ID of the S3 instant access endpoint.
	Id *string `json:"id"`
	// The user-assigned name of the S3 instant access endpoint.
	Name *string `json:"name"`
	// The time in RFC-3339 format that the restored objects are backed up from.
	ObjectsCreatedAfter *string `json:"objects_created_after"`
	// The time in RFC-3339 format that the restored objects are backed up to.
	ObjectsCreatedBefore *string `json:"objects_created_before"`
	// The Clumio-assigned ID of the organizational unit associated with the S3 instant access endpoint.
	OrganizationalUnitId *string `json:"organizational_unit_id"`
	// The Clumio-assigned ID of the protection group this endpoint is created for.
	ProtectionGroupId *string `json:"protection_group_id"`
	// The user-assigned name of the protection group this endpoints is created for.
	ProtectionGroupName *string `json:"protection_group_name"`
	// The Clumio-assigned ID of the bucket protection group.
	ProtectionGroupS3AssetId *string `json:"protection_group_s3_asset_id"`
	// The AWS region of the source bucket.
	Region *string `json:"region"`
	// The time at which the backup was restored from this endpoint in RFC-3339 format.
	// Deprecated.
	RestoreTimestamp *string `json:"restore_timestamp"`
	// The time that this endpoint was last updated, in RFC-3339 format.
	UpdatedTimestamp *string `json:"updated_timestamp"`
}

UpdateS3InstantAccessEndpointResponse represents a custom type struct for Success

type UpdateS3InstantAccessEndpointRoleResponse added in v0.12.0

type UpdateS3InstantAccessEndpointRoleResponse struct {
	// Embedded responses related to the resource.
	Embedded *S3InstantAccessEndpointEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *S3InstantAccessEndpointLinks `json:"_links"`
}

UpdateS3InstantAccessEndpointRoleResponse represents a custom type struct for Success

type UpdateTaskResponse

type UpdateTaskResponse struct {
	// The ETag value.
	Etag *string `json:"_etag"`
	// URLs to pages related to the resource.
	Links *TaskLinks `json:"_links"`
	// The task category. Examples of task types include "backup", "restore", "snapshot", and "system".
	//
	// +-------------------+----------------------------------------------------------+
	// |     Category      |                       Description                        |
	// +===================+==========================================================+
	// | backup            | Encompasses all modes of backups. This does not include  |
	// |                   | in-account snapshots.                                    |
	// +-------------------+----------------------------------------------------------+
	// | restore           | Encompasses all modes of restores. This does not include |
	// |                   | restores of in-account snapshots.                        |
	// +-------------------+----------------------------------------------------------+
	// | snapshot          | Encompasses all modes of in-account snapshots.           |
	// +-------------------+----------------------------------------------------------+
	// | snapshot_restore  | Encompasses all modes of snapshot restores.              |
	// +-------------------+----------------------------------------------------------+
	// | system            | Encompasses a variety of system-initiated tasks, such as |
	// |                   | aws_rds_backup_target_setup and                          |
	// |                   | aws_ec2_instance_backup_indexing.                        |
	// +-------------------+----------------------------------------------------------+
	// | report_generation | Encompasses task types which generate reports, such as   |
	// |                   | activity_report_file_download.                           |
	// +-------------------+----------------------------------------------------------+
	// | management        | Encompasses user-initiated tasks which manage Clumio     |
	// |                   | resources, such as organizational_unit_update and        |
	// |                   | policy_update.                                           |
	// +-------------------+----------------------------------------------------------+
	//
	Category *string `json:"category"`
	// The timestamp of when the task was created. Represented in RFC-3339 format.
	CreatedTimestamp *string `json:"created_timestamp"`
	// The timestamp of when the task ended. If this task has not yet ended,
	// then this field has a value of `null`. Represented in RFC-3339 format.
	EndTimestamp *string `json:"end_timestamp"`
	// The task genre. A genre is a high-level collection of task categories.
	//
	// +----------------+-------------------------------------------------------------+
	// |     Genre      |                         Description                         |
	// +================+=============================================================+
	// | operational    | Encompasses all backup, restore, snapshot, and              |
	// |                | snapshot_restore tasks.                                     |
	// +----------------+-------------------------------------------------------------+
	// | administrative | Encompasses management, system, and report_generation       |
	// |                | tasks.                                                      |
	// +----------------+-------------------------------------------------------------+
	//
	Genre *string `json:"genre"`
	// The Clumio-assigned ID of the task.
	Id *string `json:"id"`
	// Determines whether or not this task can be aborted.
	// A task can be aborted if its status is either "queued" or "in_progress".
	// Tasks of certain types including
	// "vmware_vm_backup_indexing" and "aws_ebs_volume_backup_indexing" cannot be aborted.
	IsAbortable *bool `json:"is_abortable"`
	// The parent entity associated with the task.
	ParentEntity *TaskParentEntity `json:"parent_entity"`
	// The primary entity associated with the task.
	PrimaryEntity *TaskPrimaryEntity `json:"primary_entity"`
	// The percentage progress of task completion. Measured as an integer value between 0 and 100.
	ProgressPercentage *int64 `json:"progress_percentage"`
	// The timestamp of when the task started. If this task has not started yet,
	// then this field has a value of `null`. Represented in RFC-3339 format.
	StartTimestamp *string `json:"start_timestamp"`
	// The task status. Examples of task statuses include, "queued", "in_progress", and "completed".
	// Refer to the Task Status table for a complete list of task statuses.
	Status *string `json:"status"`
	// Refer to the Task Type table for a complete list of task types.
	ClumioType *string `json:"type"`
}

UpdateTaskResponse represents a custom type struct for Success

type UpdateTaskV1Request

type UpdateTaskV1Request struct {
	// The task status. Set this parameter to `aborting` to abort a task
	// that is in queue ("queued") or in progress ("in_progress").
	// Tasks with other statuses cannot be aborted.
	Status *string `json:"status"`
}

UpdateTaskV1Request represents a custom type struct

type UpdateUserAssignments

type UpdateUserAssignments struct {
	// List of user IDs to assign this organizational unit.
	Add []*string `json:"add"`
	// List of user IDs to un-assign this organizational unit.
	Remove []*string `json:"remove"`
}

UpdateUserAssignments represents a custom type struct. Updates to the user assignments.

type UpdateUserAssignmentsWithRole added in v0.8.0

type UpdateUserAssignmentsWithRole struct {
	// A user along with a role.
	Add []*UserWithRole `json:"add"`
	// A user along with a role.
	Remove []*UserWithRole `json:"remove"`
}

UpdateUserAssignmentsWithRole represents a custom type struct. UpdateUserAssignmentsWithRole denotes the users to be added or removed along with the role.

type UpdateUserProfileV1Request

type UpdateUserProfileV1Request struct {
	// The full name of the user that is to replace the existing full name.
	// For example, enter the user's first name and last name.
	FullName *string `json:"full_name"`
}

UpdateUserProfileV1Request represents a custom type struct

type UpdateUserProfileV2Request added in v0.8.0

type UpdateUserProfileV2Request struct {
	// The full name of the user that is to replace the existing full name.
	// For example, enter the user's first name and last name.
	FullName *string `json:"full_name"`
}

UpdateUserProfileV2Request represents a custom type struct

type UpdateUserResponse

type UpdateUserResponse struct {
	// Embedded responses related to the resource.
	Embedded *UserEmbedded `json:"_embedded"`
	// ETag value
	Etag *string `json:"_etag"`
	// URLs to pages related to the resource.
	Links *UserLinks `json:"_links"`
	// The organizational units assigned to the user, with the specified role.
	AccessControlConfiguration []*RoleForOrganizationalUnits `json:"access_control_configuration"`
	// The email address of the Clumio user.
	Email *string `json:"email"`
	// The first and last name of the Clumio user. The name appears in the User Management screen and is used to identify the user.
	FullName *string `json:"full_name"`
	// The Clumio-assigned ID of the Clumio user.
	Id *string `json:"id"`
	// The ID number of the user who sent the email invitation.
	Inviter *string `json:"inviter"`
	// Determines whether the user has activated their Clumio account.
	// If `true`, the user has activated the account.
	IsConfirmed *bool `json:"is_confirmed"`
	// Determines whether the user is enabled (in "Activated" or "Invited" status) in Clumio.
	// If `true`, the user is in "Activated" or "Invited" status in Clumio.
	// Users in "Activated" status can log in to Clumio.
	// Users in "Invited" status have been invited to log in to Clumio via an email invitation and the invitation
	// is pending acceptance from the user.
	// If `false`, the user has been manually suspended and cannot log in to Clumio
	// until another Clumio user reactivates the account.
	IsEnabled *bool `json:"is_enabled"`
	// The timestamp of when the user was last active in the Clumio system. Represented in RFC-3339 format.
	LastActivityTimestamp *string `json:"last_activity_timestamp"`
	// The number of organizational units accessible to the user.
	OrganizationalUnitCount *int64 `json:"organizational_unit_count"`
}

UpdateUserResponse represents a custom type struct for Success

type UpdateUserResponseV1 added in v0.6.0

type UpdateUserResponseV1 struct {
	// Embedded responses related to the resource.
	Embedded *UserEmbeddedV1 `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *UserLinks `json:"_links"`
	// The list of organizational unit IDs assigned to the user.
	// This attribute will be available when reading a single user and not when listing users.
	AssignedOrganizationalUnitIds []*string `json:"assigned_organizational_unit_ids"`
	// Assigned Role for the user.
	AssignedRole *string `json:"assigned_role"`
	// The email address of the Clumio user.
	Email *string `json:"email"`
	// The first and last name of the Clumio user. The name appears in the User Management screen and is used to identify the user.
	FullName *string `json:"full_name"`
	// The Clumio-assigned ID of the Clumio user.
	Id *string `json:"id"`
	// The ID number of the user who sent the email invitation.
	Inviter *string `json:"inviter"`
	// Determines whether the user has activated their Clumio account.
	// If `true`, the user has activated the account.
	IsConfirmed *bool `json:"is_confirmed"`
	// Determines whether the user is enabled (in "Activated" or "Invited" status) in Clumio.
	// If `true`, the user is in "Activated" or "Invited" status in Clumio.
	// Users in "Activated" status can log in to Clumio.
	// Users in "Invited" status have been invited to log in to Clumio via an email invitation and the invitation
	// is pending acceptance from the user.
	// If `false`, the user has been manually suspended and cannot log in to Clumio
	// until another Clumio user reactivates the account.
	IsEnabled *bool `json:"is_enabled"`
	// The timestamp of when the user was last active in the Clumio system. Represented in RFC-3339 format.
	LastActivityTimestamp *string `json:"last_activity_timestamp"`
	// The number of organizational units accessible to the user.
	OrganizationalUnitCount *int64 `json:"organizational_unit_count"`
}

UpdateUserResponseV1 represents a custom type struct for Success

type UpdateUserV1Request

type UpdateUserV1Request struct {
	// Updates the role assigned to the user.
	// The available roles can be retrieved via the [GET /roles](#operation/list-roles) API.
	AssignedRole *string `json:"assigned_role"`
	// The full name of the user that is to replace the existing full name.
	// For example, enter the user's first name and last name.
	FullName *string `json:"full_name"`
	// If `true`, enables a user who has been disabled from Clumio,
	// returning the user to its previous "Activated" or "Invited" status. If `false`, disables a user from Clumio.
	// The user will not be able log in to Clumio until another Clumio user re-enables the account.
	IsEnabled *bool `json:"is_enabled"`
	// Updates to the organizational unit assignments.
	OrganizationalUnitAssignmentUpdates *EntityGroupAssignmentUpdatesV1 `json:"organizational_unit_assignment_updates"`
}

UpdateUserV1Request represents a custom type struct

type UpdateUserV2Request added in v0.8.0

type UpdateUserV2Request struct {
	// Updates to the organizational units along with the role assigned to the user.
	AccessControlConfigurationUpdates *EntityGroupAssignmentUpdates `json:"access_control_configuration_updates"`
	// The full name of the user that is to replace the existing full name.
	// For example, enter the user's first name and last name.
	FullName *string `json:"full_name"`
	// If `true`, enables a user who has been disabled from Clumio,
	// returning the user to its previous "Activated" or "Invited" status. If `false`, disables a user from Clumio.
	// The user will not be able log in to Clumio until another Clumio user re-enables the account.
	IsEnabled *bool `json:"is_enabled"`
}

UpdateUserV2Request represents a custom type struct

type UserEmbedded

type UserEmbedded struct {
	// RoleModel denotes the Model for Role
	ReadRole []*RoleModel `json:"read-role"`
}

UserEmbedded represents a custom type struct. Embedded responses related to the resource.

type UserEmbeddedV1 added in v0.6.0

type UserEmbeddedV1 struct {
	// A description of the role.
	Description *string `json:"description"`
	// Unique name assigned to the role.
	Name *string `json:"name"`
}

UserEmbeddedV1 represents a custom type struct. Embedded responses related to the resource.

type UserHateoasV1 added in v0.6.0

type UserHateoasV1 struct {
	// Embedded responses related to the resource.
	Embedded *UserEmbeddedV1 `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *UserLinks `json:"_links"`
	// The list of organizational unit IDs assigned to the user.
	// This attribute will be available when reading a single user and not when listing users.
	AssignedOrganizationalUnitIds []*string `json:"assigned_organizational_unit_ids"`
	// Assigned Role for the user.
	AssignedRole *string `json:"assigned_role"`
	// The email address of the Clumio user.
	Email *string `json:"email"`
	// The first and last name of the Clumio user. The name appears in the User Management screen and is used to identify the user.
	FullName *string `json:"full_name"`
	// The Clumio-assigned ID of the Clumio user.
	Id *string `json:"id"`
	// The ID number of the user who sent the email invitation.
	Inviter *string `json:"inviter"`
	// Determines whether the user has activated their Clumio account.
	// If `true`, the user has activated the account.
	IsConfirmed *bool `json:"is_confirmed"`
	// Determines whether the user is enabled (in "Activated" or "Invited" status) in Clumio.
	// If `true`, the user is in "Activated" or "Invited" status in Clumio.
	// Users in "Activated" status can log in to Clumio.
	// Users in "Invited" status have been invited to log in to Clumio via an email invitation and the invitation
	// is pending acceptance from the user.
	// If `false`, the user has been manually suspended and cannot log in to Clumio
	// until another Clumio user reactivates the account.
	IsEnabled *bool `json:"is_enabled"`
	// The timestamp of when the user was last active in the Clumio system. Represented in RFC-3339 format.
	LastActivityTimestamp *string `json:"last_activity_timestamp"`
	// The number of organizational units accessible to the user.
	OrganizationalUnitCount *int64 `json:"organizational_unit_count"`
}

UserHateoasV1 represents a custom type struct

type UserLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// A resource-specific HATEOAS link.
	DeleteUser *HateoasLink `json:"delete-user"`
	// A resource-specific HATEOAS link.
	UpdateUser *HateoasLink `json:"update-user"`
}

UserLinks represents a custom type struct. URLs to pages related to the resource.

type UserListEmbedded

type UserListEmbedded struct {
	// UserWithETag to support etag string to be calculated.
	Items []*UserWithETag `json:"items"`
}

UserListEmbedded represents a custom type struct. Embedded responses related to the resource.

type UserListEmbeddedV1 added in v0.6.0

type UserListEmbeddedV1 struct {
	// TODO: Add struct field description
	Items []*UserHateoasV1 `json:"items"`
}

UserListEmbeddedV1 represents a custom type struct. Embedded responses related to the resource.

type UserListHateoasLinks struct {
	// The HATEOAS link to the first page of results.
	First *HateoasFirstLink `json:"_first"`
	// The HATEOAS link to the last page of results.
	Last *HateoasLastLink `json:"_last"`
	// The HATEOAS link to the next page of results.
	Next *HateoasNextLink `json:"_next"`
	// The HATEOAS link to the previous page of results.
	Prev *HateoasPrevLink `json:"_prev"`
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// A resource-specific HATEOAS link.
	CreateUser *HateoasLink `json:"create-user"`
}

UserListHateoasLinks represents a custom type struct. URLs to pages related to the resource.

type UserWithETag added in v0.8.0

type UserWithETag struct {
	// Embedded responses related to the resource.
	Embedded *UserEmbedded `json:"_embedded"`
	// ETag value
	Etag *string `json:"_etag"`
	// URLs to pages related to the resource.
	Links *UserLinks `json:"_links"`
	// The organizational units assigned to the user, with the specified role.
	AccessControlConfiguration []*RoleForOrganizationalUnits `json:"access_control_configuration"`
	// The email address of the Clumio user.
	Email *string `json:"email"`
	// The first and last name of the Clumio user. The name appears in the User Management screen and is used to identify the user.
	FullName *string `json:"full_name"`
	// The Clumio-assigned ID of the Clumio user.
	Id *string `json:"id"`
	// The ID number of the user who sent the email invitation.
	Inviter *string `json:"inviter"`
	// Determines whether the user has activated their Clumio account.
	// If `true`, the user has activated the account.
	IsConfirmed *bool `json:"is_confirmed"`
	// Determines whether the user is enabled (in "Activated" or "Invited" status) in Clumio.
	// If `true`, the user is in "Activated" or "Invited" status in Clumio.
	// Users in "Activated" status can log in to Clumio.
	// Users in "Invited" status have been invited to log in to Clumio via an email invitation and the invitation
	// is pending acceptance from the user.
	// If `false`, the user has been manually suspended and cannot log in to Clumio
	// until another Clumio user reactivates the account.
	IsEnabled *bool `json:"is_enabled"`
	// The timestamp of when the user was last active in the Clumio system. Represented in RFC-3339 format.
	LastActivityTimestamp *string `json:"last_activity_timestamp"`
	// The number of organizational units accessible to the user.
	OrganizationalUnitCount *int64 `json:"organizational_unit_count"`
}

UserWithETag represents a custom type struct. UserWithETag to support etag string to be calculated.

type UserWithRole added in v0.8.0

type UserWithRole struct {
	// The Clumio-assigned ID of the role to be assigned to the user.
	AssignedRole *string `json:"assigned_role"`
	// The ID of the user.
	UserId *string `json:"user_id"`
}

UserWithRole represents a custom type struct. A user along with a role.

type VCenterComputeResource

type VCenterComputeResource struct {
	// URLs to pages related to the resource.
	Links *VCenterComputeResourceLinks `json:"_links"`
	// The Clumio-assigned ID of the item.
	Id *string `json:"id"`
	// IsCluster denotes whether the compute resource is a cluster.
	Iscluster *bool `json:"isCluster"`
	// IsDrsEnabled denotes whether the compute resource has DRS enabled.
	// NOTE: This is only applicable if "IsCluster" is true.
	Isdrsenabled *bool `json:"isDrsEnabled"`
	// The name of the compute resource.
	Name *string `json:"name"`
	// The Clumio-assigned ID of the organizational unit associated with the compute resource.
	OrganizationalUnitId *string `json:"organizational_unit_id"`
	// TODO: Add struct field description
	Protectioninfo *ProtectionInfoDeprecated `json:"protectionInfo"`
	// ProtectedStatsDeprecated contains the compliance stats for policies which are protected along with
	// the unprotected policies count
	Vmstats *ProtectedStatsDeprecated `json:"vmStats"`
}

VCenterComputeResource represents a custom type struct

type VCenterComputeResourceLinks struct {
	// A HATEOAS link to protect the entities.
	ProtectEntities *ProtectEntitiesHateoasLink `json:"protect-entities"`
	// A HATEOAS link to unprotect the entities.
	UnprotectEntities *UnprotectEntitiesHateoasLink `json:"unprotect-entities"`
}

VCenterComputeResourceLinks represents a custom type struct. URLs to pages related to the resource.

type VCenterFolder

type VCenterFolder struct {
	// URLs to pages related to the resource.
	Links *VCenterFolderLinks `json:"_links"`
	// HasChildGroups denotes whether direct child folders exist.
	Haschildgroups *bool `json:"hasChildGroups"`
	// The Clumio-assigned ID of the item.
	Id *string `json:"id"`
	// IsRoot denotes whether this folder is a root (hidden) folder.
	Isroot *bool `json:"isRoot"`
	// Name of the folder.
	Name *string `json:"name"`
	// The Clumio-assigned ID of the organizational unit associated with the folder.
	OrganizationalUnitId *string `json:"organizational_unit_id"`
	// TODO: Add struct field description
	Protectioninfo *ProtectionInfoDeprecated `json:"protectionInfo"`
	// ProtectedStatsDeprecated contains the compliance stats for policies which are protected along with
	// the unprotected policies count
	Vmstats *ProtectedStatsDeprecated `json:"vmStats"`
}

VCenterFolder represents a custom type struct

type VCenterFolderLinks struct {
	// A HATEOAS link to protect the entities.
	ProtectEntities *ProtectEntitiesHateoasLink `json:"protect-entities"`
	// A HATEOAS link to unprotect the entities.
	UnprotectEntities *UnprotectEntitiesHateoasLink `json:"unprotect-entities"`
}

VCenterFolderLinks represents a custom type struct. URLs to pages related to the resource.

type VMBackupHateoas

type VMBackupHateoas struct {
	// URLs to pages related to the resource.
	Links *VMBackupHateoasLinks `json:"_links"`
	// The reason that browsing is unavailable for the backup. Possible values include "file_limit_exceeded" and
	// "browsing_unavailable". If browse indexing is successful, then this field has a value of `null`.
	BrowsingFailedReason *string `json:"browsing_failed_reason"`
	// The VMware-assigned Managed Object Reference (MoRef) ID of the data center
	// associated with this backup.
	DatacenterId *string `json:"datacenter_id"`
	// The timestamp of when this backup expires. Represented in RFC-3339 format.
	ExpirationTimestamp *string `json:"expiration_timestamp"`
	// The VMware-assigned Managed Object Reference (MoRef) ID of the
	// host associated with this backup.
	HostId *string `json:"host_id"`
	// The Clumio-assigned ID of the backup.
	Id *string `json:"id"`
	// Determines whether browsing is available for the backup. If `true`, then browsing is available for the backup.
	IsBrowsable *bool `json:"is_browsable"`
	// TODO: Add struct field description
	Nics []*VMNicBackupModel `json:"nics"`
	// The VMware-assigned Managed Object Reference (MoRef) ID of the resource pool
	// associated with this backup.
	ResourcePoolId *string `json:"resource_pool_id"`
	// The timestamp of when this backup started. Represented in RFC-3339 format.
	StartTimestamp *string `json:"start_timestamp"`
	// VMTagWithCategoryModel
	// A tag associated with the VM.
	Tags []*VMTagWithCategoryModel `json:"tags"`
	// The IP address or FQDN of the vCenter server associated with this backup.
	// If a backup was initiated before 2020-06-30, when this field was introduced,
	// then this field has a value of `null`.
	VcenterEndpoint *string `json:"vcenter_endpoint"`
	// The Clumio-assigned ID of the vCenter associated with this backup.
	VcenterId *string `json:"vcenter_id"`
	// The VMware-assigned Managed Object Reference (MoRef) ID of the
	// VM folder associated with this backup.
	VmFolderId *string `json:"vm_folder_id"`
	// The VMware-assigned Managed Object Reference (MoRef) ID of the
	// VM associated with this backup.
	VmId *string `json:"vm_id"`
	// The name of the virtual machine associated with this backup.
	VmName *string `json:"vm_name"`
}

VMBackupHateoas represents a custom type struct

type VMBackupHateoasLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// A resource-specific HATEOAS link.
	RestoreVmwareVm *HateoasLink `json:"restore-vmware-vm"`
}

VMBackupHateoasLinks represents a custom type struct. URLs to pages related to the resource.

type VMBackupListEmbedded

type VMBackupListEmbedded struct {
	// TODO: Add struct field description
	Items []*VMBackupHateoas `json:"items"`
}

VMBackupListEmbedded represents a custom type struct. Embedded responses related to the resource.

type VMBackupListHateoasLinks struct {
	// The HATEOAS link to the first page of results.
	First *HateoasFirstLink `json:"_first"`
	// The HATEOAS link to the last page of results.
	Last *HateoasLastLink `json:"_last"`
	// The HATEOAS link to the next page of results.
	Next *HateoasNextLink `json:"_next"`
	// The HATEOAS link to the previous page of results.
	Prev *HateoasPrevLink `json:"_prev"`
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

VMBackupListHateoasLinks represents a custom type struct. URLs to pages related to the resource.

type VMComputeResourceFolderModel

type VMComputeResourceFolderModel struct {
	// The VMware-assigned Managed Object Reference (MoRef) ID of the folder.
	Id *string `json:"id"`
}

VMComputeResourceFolderModel represents a custom type struct. The compute resource folder associated with this VM. If the VM is deleted, then this field has a value of `null`.

type VMComputeResourceModel

type VMComputeResourceModel struct {
	// The VMware-assigned Managed Object Reference (MoRef) ID of the compute resource.
	Id *string `json:"id"`
	// The VMware-assigned name of the compute resource.
	Name *string `json:"name"`
}

VMComputeResourceModel represents a custom type struct. The compute resource from which the VM draws. If the VM is deleted, then `compute_resource.id` has a value of `null`.

type VMDatacenterFolderModel

type VMDatacenterFolderModel struct {
	// The VMware-assigned Managed Object Reference (MoRef) ID of the folder.
	Id *string `json:"id"`
}

VMDatacenterFolderModel represents a custom type struct. The data center folder associated with this VM. If the VM is deleted, then this field has a value of `null`.

type VMDatacenterModel

type VMDatacenterModel struct {
	// The VMware-assigned Managed Object Reference (MoRef) ID of the data center.
	Id *string `json:"id"`
	// The VMware-assigned name of this data center.
	Name *string `json:"name"`
}

VMDatacenterModel represents a custom type struct. The data center in which the VM resides. If the VM is deleted, then `datacenter.id` has a value of `null`.

type VMFolderModel

type VMFolderModel struct {
	// The VMware-assigned Managed Object Reference (MoRef) ID of the folder.
	Id *string `json:"id"`
	// The VMware-assigned name of the folder.
	Name *string `json:"name"`
}

VMFolderModel represents a custom type struct. The VM folder containing the VM. If the VM is deleted, then `vm_folder.id` has a value of `null`.

type VMHostModel

type VMHostModel struct {
	// The VMware-assigned Managed Object Reference (MoRef) ID of the host.
	Id *string `json:"id"`
	// Determines whether the host is a standalone host. If `true`, the host is a standalone host.
	IsStandalone *bool `json:"is_standalone"`
	// The VMware-assigned name of the host.
	Name *string `json:"name"`
}

VMHostModel represents a custom type struct. The host on which the VM resides. If the VM is deleted, then `host.id` and `host.is_standalone` have values of `null`. The `host.name` field may also have a value of `null`.

type VMNicBackupModel

type VMNicBackupModel struct {
	// Determines whether the NIC was connected to the network at the time of backup. If `true`, the NIC was connected to the network at the time of backup.
	IsConnected *bool `json:"is_connected"`
	// The media access control (MAC) address assigned to the NIC. The MAC address is assigned through the vSphere client.
	MacAddress *string `json:"mac_address"`
	// The network to which the NIC was attached.
	NetworkId *string `json:"network_id"`
}

VMNicBackupModel represents a custom type struct

type VMNicModel

type VMNicModel struct {
	// The MAC address of the NIC.
	MacAddress *string `json:"mac_address"`
	// The network associated with this NIC.
	Network *VMNicNetworkModel `json:"network"`
}

VMNicModel represents a custom type struct. The network interface card (NIC) attached to the VM.

type VMNicNetworkModel

type VMNicNetworkModel struct {
	// The VMware-assigned ID of this network.
	Id *string `json:"id"`
}

VMNicNetworkModel represents a custom type struct. The network associated with this NIC.

type VMNicRestore

type VMNicRestore struct {
	// The unique media access control (MAC) address assigned to the network interface card (NIC). The MAC address is assigned through the vSphere client.
	MacAddress *string `json:"mac_address"`
	// The network connection for the virtual NIC. The NIC is configured in the vSphere client. Use the [GET /datasources/vmware/vcenters/{vcenter_id}/networks](#operation/list-vmware-vcenter-networks) endpoint to fetch valid values.
	NetworkId *string `json:"network_id"`
	// Determines whether the restored VM should automatically connect to the specified network after a restore.
	// If `true`, the restored VM will automatically connect to the specified network after a restore.
	ShouldConnect *bool `json:"should_connect"`
}

VMNicRestore represents a custom type struct

type VMResourcePoolModel

type VMResourcePoolModel struct {
	// The VMware-assigned Managed Object Reference (MoRef) ID of the resource pool.
	Id *string `json:"id"`
	// Determines whether the resource pool is the default, hidden resource pool.
	IsRoot *bool `json:"is_root"`
	// The VMware-assigned name of the resource pool.
	Name *string `json:"name"`
}

VMResourcePoolModel represents a custom type struct. The resource pool from which the VM draws. If the VM is deleted, then `resource_pool.id` and `resource_pool.is_root` have values of `null`.

type VMRestoreOptions

type VMRestoreOptions struct {
	// Determines whether a VM rapid recovery should be attempted or not.
	// As a part of the rapid recovery, by default the Clumio backup service
	// attempts the following Reverse Change Block Tracking (RCBT) operation. It
	// retrieves the blocks changed since the backup was taken and applies them
	// into a clone of the original VM to rollback the VM to the previous point
	// in time. As a result typically it is much faster to restore a VM using
	// rapid recovery RCBT. However if the clone operation is not desired to be
	// performed for some reason, then rapid recovery RCBT can be turned off
	// using this field.
	// It is applicable to both in-place restore and restore to a new VM.
	// If it is not set, then the behavior is same as setting it to true.
	// If true or unset, rapid recovery is attempted first. If rapid recovery
	// fails, then a full VM restore is performed.
	// If false, rapid recovery is not attempted.
	AttemptRapidRecovery *bool `json:"attempt_rapid_recovery"`
	// Determines whether to preserve the original data by cloning the existing
	// VM before performing an in-place restore.
	// If `"restore_in_place":false`, then this parameter is ignored.
	// If true, the original data is preserved by creating a clone of the VM.
	// If false, a clone is not created. The original data in the source VM may
	// get over-written by the restored data.
	CloneSourceVm *bool `json:"clone_source_vm"`
	// The VMware-assigned Managed Object Reference (MoRef) ID of the VMFS
	// datastore to be used as the destination for the cloned VM.
	// Use the [GET /datasources/vmware/vcenters/{vcenter_id}/datastores](#operation/list-vmware-vcenter-datastores) endpoint to fetch valid values.
	// This field is required only if `"clone_source_vm":true`.
	ClonedVmDatastoreId *string `json:"cloned_vm_datastore_id"`
	// The name given to the cloned VM (see clone_source_vm parameter).
	// The VM name cannot exceed 80 characters in length and must follow VMware
	// VM naming conventions.
	// This field is required only if `"clone_source_vm":true`.
	ClonedVmName *string `json:"cloned_vm_name"`
	// Determines whether the restore should overwrite the existing VM i.e.
	// perform an in-place restore or create a new VM for restore.
	// If true, the existing VM is used for the restore. In this case if the VM
	// is already deleted, the restore will fail.
	// If false, a new VM is created for the restore. In this case if the VM
	// is already deleted, the restore will still proceed.
	RestoreInPlace *bool `json:"restore_in_place"`
}

VMRestoreOptions represents a custom type struct. Additional VM restore options.

type VMRestoreSource

type VMRestoreSource struct {
	// The Clumio-assigned ID of the backup to be restored. Use the [GET /backups/vmware/vms](#operation/list-backup-vmware-vms) endpoint to fetch valid values.
	BackupId *string `json:"backup_id"`
}

VMRestoreSource represents a custom type struct. The VM backup to be restored.

type VMRestoreTag

type VMRestoreTag struct {
	// The VMware-assigned Managed Object Reference (MoRef) ID of the tag.
	TagId *string `json:"tag_id"`
}

VMRestoreTag represents a custom type struct

type VMRestoreTarget

type VMRestoreTarget struct {
	// The VMware-assigned Managed Object Reference (MoRef) ID of the data center to be used as the restore destination. Use the [GET /datasources/vmware/vcenters/{vcenter_id}/datacenters](#operation/list-vmware-vcenter-datacenters) endpoint to fetch valid values.
	DatacenterId *string `json:"datacenter_id"`
	// The VMware-assigned Managed Object Reference (MoRef) ID of the VMFS datastore to be used as the restore destination. Use the [GET /datasources/vmware/vcenters/{vcenter_id}/datastores](#operation/list-vmware-vcenter-datastores) endpoint to fetch valid values.
	// While performing an in-place restore, this parameter is optional.
	// If `"options.restore_in_place":false`, then this parameter is required.
	DatastoreId *string `json:"datastore_id"`
	// The VMware-assigned Managed Object Reference (MoRef) ID of the vSphere host to be used as the restore destination. Use the [GET /datasources/vmware/vcenters/{vcenter_id}/hosts](#operation/list-vmware-vcenter-hosts) endpoint to fetch valid values.
	// If provided, the specified host (`host_id`) must belong to a compute resource that is the parent of the specified resource pool (`resource_pool_id`).
	// If not provided, the VMware Distributed Resource Scheduler (DRS) will automatically select a host that belongs to a compute resource that is the parent of the specified resource pool (`resource_pool_id`).
	HostId *string `json:"host_id"`
	// TODO: Add struct field description
	NetworkOptions []*VMNicRestore `json:"network_options"`
	// The VMware-assigned Managed Object Reference (MoRef) ID of the VM folder to be used as the restore destination. Use the [GET /datasources/vmware/vcenters/{vcenter_id}/folders](#operation/list-vmware-vcenter-folders) endpoint to fetch valid values.
	ParentVmFolderId *string `json:"parent_vm_folder_id"`
	// The VMware-assigned Managed Object Reference (MoRef) ID of the resource pool to be used as the restore destination. Use the [GET /datasources/vmware/vcenters/{vcenter_id}/resource-pools](#operation/list-vmware-vcenter-resource-pools) endpoint to fetch valid values.
	ResourcePoolId *string `json:"resource_pool_id"`
	// Determines whether the VM should remain powered on after the restore. If `true`, the VM will remain powered on after the restore. Users may choose to power off a VM to change the network configurations.
	ShouldPowerOn *bool `json:"should_power_on"`
	// TODO: Add struct field description
	Tags []*VMRestoreTag `json:"tags"`
	// The Clumio-assigned ID of the vCenter to be used as the restore destination.
	VcenterId *string `json:"vcenter_id"`
	// The name given to the restored VM. The VM name cannot exceed 80 characters in length and must follow VMware VM naming conventions.
	VmName *string `json:"vm_name"`
}

VMRestoreTarget represents a custom type struct. The configuration of the VM to be restored.

type VMTagWithCategoryModel

type VMTagWithCategoryModel struct {
	// The VMware-assigned Managed Object Reference (MoRef) ID of the tag category.
	CategoryId *string `json:"category_id"`
	// The VMware-assigned name of the tag category.
	CategoryName *string `json:"category_name"`
	// The VMware-assigned Managed Object Reference (MoRef) ID of the tag.
	Id *string `json:"id"`
	// The VMware-assigned name of the tag.
	Name *string `json:"name"`
	// The Clumio-assigned ID of the organizational unit associated with the tag.
	OrganizationalUnitId *string `json:"organizational_unit_id"`
}

VMTagWithCategoryModel represents a custom type struct. VMTagWithCategoryModel A tag associated with the VM.

type VMwareComputeResourceComplianceStatsLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

VMwareComputeResourceComplianceStatsLinks represents a custom type struct. URLs to pages related to the resource.

type VMwareDatacenterFolderIDModel

type VMwareDatacenterFolderIDModel struct {
	// The VMware-assigned Managed Object Reference (MoRef) ID of the folder.
	Id *string `json:"id"`
}

VMwareDatacenterFolderIDModel represents a custom type struct. The data center folder in which the data center resides.

type VMwareDatacenterStatsLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

VMwareDatacenterStatsLinks represents a custom type struct. URLs to pages related to the resource.

type VMwareDatastoreLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

VMwareDatastoreLinks represents a custom type struct. URLs to pages related to the resource.

type VMwareDatastoreListEmbedded

type VMwareDatastoreListEmbedded struct {
	// VMwareDatastoreWithETag to support etag string to be calculated
	Items []*VMwareDatastoreWithETag `json:"items"`
}

VMwareDatastoreListEmbedded represents a custom type struct. Embedded responses related to the resource.

type VMwareDatastoreListLinks struct {
	// The HATEOAS link to the first page of results.
	First *HateoasFirstLink `json:"_first"`
	// The HATEOAS link to the last page of results.
	Last *HateoasLastLink `json:"_last"`
	// The HATEOAS link to the next page of results.
	Next *HateoasNextLink `json:"_next"`
	// The HATEOAS link to the previous page of results.
	Prev *HateoasPrevLink `json:"_prev"`
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

VMwareDatastoreListLinks represents a custom type struct. URLs to pages related to the resource.

type VMwareDatastoreWithETag

type VMwareDatastoreWithETag struct {
	// The ETag value.
	Etag *string `json:"_etag"`
	// URLs to pages related to the resource.
	Links *VMwareDatastoreLinks `json:"_links"`
	// TODO: Add struct field description
	ComputeResources []*ComputeResourceIDModel `json:"compute_resources"`
	// The data center in which this datastore resides.
	Datacenter *VMwareVCenterDatastoreDatacenterModel `json:"datacenter"`
	// VMwareVCenterDatastoreFolderModel
	// The datastore folder in which this datastore resides.
	DatastoreFolder *VMwareVCenterDatastoreFolderModel `json:"datastore_folder"`
	// The file system format used for the datastore. Refer to the Supported Datastore Types section for a complete list of datastore types.
	DatastoreType *string `json:"datastore_type"`
	// TODO: Add struct field description
	Hosts []*HostIDModel `json:"hosts"`
	// The VMware-assigned Managed Object Reference (MoRef) ID of the datastore.
	Id *string `json:"id"`
	// Determines whether the datastore is shared across multiple hosts. If `true`, the datastore is a multi-host datastore.
	IsMultiHost *bool `json:"is_multi_host"`
	// Determines whether the datastore can be used as a restore destination. If `true`, the datastore can be used as a restore destination and backups can be restored to the datastore.
	IsSupported *bool `json:"is_supported"`
	// The VMware-assigned name of this datastore.
	Name *string `json:"name"`
}

VMwareDatastoreWithETag represents a custom type struct. VMwareDatastoreWithETag to support etag string to be calculated

type VMwareDsGroupingCriteria

type VMwareDsGroupingCriteria struct {
	// Determines whether or not this data group is editable. If false, then an
	// organizational unit uses this data group.
	// To edit this data group, all organizational units using it must be deleted.
	IsEditable *bool `json:"is_editable"`
	//
	// +--------------------------------+---------------------------------+
	// |         vmware_vcenter         |         VMware vCenter.         |
	// +================================+=================================+
	// | vmware_vm_folder               | VMware VM folder.               |
	// +--------------------------------+---------------------------------+
	// | vmware_datacenter_folder       | VMware datacenter folder.       |
	// +--------------------------------+---------------------------------+
	// | vmware_compute_resource_folder | VMware compute resource folder. |
	// +--------------------------------+---------------------------------+
	// | vmware_datacenter              | VMware datacenter.              |
	// +--------------------------------+---------------------------------+
	// | vmware_compute_resource        | VMware compute resource.        |
	// +--------------------------------+---------------------------------+
	// | vmware_vm                      | VMware VM.                      |
	// +--------------------------------+---------------------------------+
	// | vmware_tag                     | VMware tag.                     |
	// +--------------------------------+---------------------------------+
	//
	ClumioType *string `json:"type"`
}

VMwareDsGroupingCriteria represents a custom type struct. The entity type used to group organizational units for VMware resources.

type VMwareFolderStatsLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

VMwareFolderStatsLinks represents a custom type struct. URLs to pages related to the resource.

type VMwareResourcePoolComputeResourceModel

type VMwareResourcePoolComputeResourceModel struct {
	// The VMware-assigned Managed Object Reference (MoRef) ID of the compute resource.
	Id *string `json:"id"`
}

VMwareResourcePoolComputeResourceModel represents a custom type struct. The compute resource that the resource pool comprises.

type VMwareResourcePoolParentModel

type VMwareResourcePoolParentModel struct {
	// The VMware-assigned Managed Object Reference (MoRef) ID of the vCenter object.
	Id *string `json:"id"`
}

VMwareResourcePoolParentModel represents a custom type struct. The vCenter object that is the parent of the resource pool.

type VMwareRootComputeResourceFolderIDModel

type VMwareRootComputeResourceFolderIDModel struct {
	// The VMware-assigned Managed Object Reference (MoRef) ID of the folder.
	Id *string `json:"id"`
}

VMwareRootComputeResourceFolderIDModel represents a custom type struct. The hidden root compute resource folder of the data center.

type VMwareRootVMFolderIDModel

type VMwareRootVMFolderIDModel struct {
	// The VMware-assigned Managed Object Reference (MoRef) ID of the folder.
	Id *string `json:"id"`
}

VMwareRootVMFolderIDModel represents a custom type struct. The hidden root virtual machine folder of the data center.

type VMwareTagStatsLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

VMwareTagStatsLinks represents a custom type struct. URLs to pages related to the resource.

type VMwareVCenterComputeResourceDatacenterModel

type VMwareVCenterComputeResourceDatacenterModel struct {
	// The VMware-assigned Managed Object Reference (MoRef) ID of the data center.
	Id *string `json:"id"`
	// The VMware-assigned name of this data center.
	Name *string `json:"name"`
}

VMwareVCenterComputeResourceDatacenterModel represents a custom type struct. The data center associated with this compute resource.

type VMwareVCenterComputeResourceFolderModel

type VMwareVCenterComputeResourceFolderModel struct {
	// The VMware-assigned Managed Object Reference (MoRef) ID of the folder.
	Id *string `json:"id"`
}

VMwareVCenterComputeResourceFolderModel represents a custom type struct. The compute resource folder in which the compute resource resides.

type VMwareVCenterDatastoreDatacenterModel

type VMwareVCenterDatastoreDatacenterModel struct {
	// The VMware-assigned Managed Object Reference (MoRef) ID of the data center.
	Id *string `json:"id"`
}

VMwareVCenterDatastoreDatacenterModel represents a custom type struct. The data center in which this datastore resides.

type VMwareVCenterDatastoreFolderModel

type VMwareVCenterDatastoreFolderModel struct {
	// The VMware-assigned Managed Object Reference (MoRef) ID of the folder.
	Id *string `json:"id"`
}

VMwareVCenterDatastoreFolderModel represents a custom type struct. VMwareVCenterDatastoreFolderModel The datastore folder in which this datastore resides.

type VMwareVCenterFolderDatacenterModel

type VMwareVCenterFolderDatacenterModel struct {
	// The VMware-assigned Managed Object Reference (MoRef) ID of the data center.
	Id *string `json:"id"`
}

VMwareVCenterFolderDatacenterModel represents a custom type struct. The data center associated with this folder.

type VMwareVCenterHostComputeResourceModel

type VMwareVCenterHostComputeResourceModel struct {
	// The VMware-assigned Managed Object Reference (MoRef) ID of the compute resource.
	Id *string `json:"id"`
}

VMwareVCenterHostComputeResourceModel represents a custom type struct. The VMware compute resource representing the host.

type VMwareVCenterHostDatacenterModel

type VMwareVCenterHostDatacenterModel struct {
	// The VMware-assigned Managed Object Reference (MoRef) ID of the data center.
	Id *string `json:"id"`
}

VMwareVCenterHostDatacenterModel represents a custom type struct. The data center in which the host resides.

type VMwareVCenterNetworkDatacenterModel

type VMwareVCenterNetworkDatacenterModel struct {
	// The VMware-assigned Managed Object Reference (MoRef) ID of the data center.
	Id *string `json:"id"`
}

VMwareVCenterNetworkDatacenterModel represents a custom type struct. The data center associated with this network.

type VMwareVCenterNetworkFolderModel

type VMwareVCenterNetworkFolderModel struct {
	// The VMware-assigned Managed Object Reference (MoRef) ID of the folder.
	Id *string `json:"id"`
}

VMwareVCenterNetworkFolderModel represents a custom type struct. The network folder associated with this network.

type VMwareVCenterNetworkLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

VMwareVCenterNetworkLinks represents a custom type struct. URLs to pages related to the resource.

type VMwareVCenterNetworkListEmbedded

type VMwareVCenterNetworkListEmbedded struct {
	// VMwareVCenterNetworkWithETag to support etag string to be calculated.
	Items []*VMwareVCenterNetworkWithETag `json:"items"`
}

VMwareVCenterNetworkListEmbedded represents a custom type struct. Embedded responses related to the resource.

type VMwareVCenterNetworkListLinks struct {
	// The HATEOAS link to the first page of results.
	First *HateoasFirstLink `json:"_first"`
	// The HATEOAS link to the last page of results.
	Last *HateoasLastLink `json:"_last"`
	// The HATEOAS link to the next page of results.
	Next *HateoasNextLink `json:"_next"`
	// The HATEOAS link to the previous page of results.
	Prev *HateoasPrevLink `json:"_prev"`
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

VMwareVCenterNetworkListLinks represents a custom type struct. URLs to pages related to the resource.

type VMwareVCenterNetworkWithETag

type VMwareVCenterNetworkWithETag struct {
	// The ETag value.
	Etag *string `json:"_etag"`
	// URLs to pages related to the resource.
	Links *VMwareVCenterNetworkLinks `json:"_links"`
	// The data center associated with this network.
	Datacenter *VMwareVCenterNetworkDatacenterModel `json:"datacenter"`
	// The VMware-assigned ID of this network.
	Id *string `json:"id"`
	// Determines whether VMs can be connected to the network. If `true`, VMs can be connected to the network.
	IsSupported *bool `json:"is_supported"`
	// The name of this network.
	Name *string `json:"name"`
	// The network folder associated with this network.
	NetworkFolder *VMwareVCenterNetworkFolderModel `json:"network_folder"`
}

VMwareVCenterNetworkWithETag represents a custom type struct. VMwareVCenterNetworkWithETag to support etag string to be calculated.

type VMwareVCenterParentFolderModel

type VMwareVCenterParentFolderModel struct {
	// The VMware-assigned Managed Object Reference (MoRef) ID of the folder.
	Id *string `json:"id"`
}

VMwareVCenterParentFolderModel represents a custom type struct. The parent folder under which this folder resides.

type Vcenter

type Vcenter struct {
	// Embedded responses related to the resource.
	Embedded *VcenterEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *VcenterLinks `json:"_links"`
	// The region to which data is backed-up to for the vCenter server. If the vCenter server's back up region is unavailable, this field has a value of `unavailable`. Refer to the Back up Regions table for a complete list of back up regions.
	BackupRegion *string `json:"backup_region"`
	// The URL at which the Clumio Cloud Connector for this vCenter server can be downloaded.
	CloudConnectorDownloadUrl *string `json:"cloud_connector_download_url"`
	// The IP address or FQDN of the vCenter server.
	Endpoint *string `json:"endpoint"`
	// The Clumio-assigned ID of the vCenter server.
	Id *string `json:"id"`
	// The IP address or FQDN of the vCenter server.
	// This field has been replaced by the `endpoint` field
	// and is being retained for backward compatibility reasons.
	IpAddress *string `json:"ip_address"`
	// The Clumio-assigned ID of the organizational unit associated with the vCenter.
	OrganizationalUnitId *string `json:"organizational_unit_id"`
	// The connection status of the Clumio Cloud Connector. Examples include "pending", "connected", "disconnected", "invalid_credentials", "partial", and "unavailable".
	Status *string `json:"status"`
	// The type of vCenter server. If the vCenter server's type is unavailable, this field has a value of `unavailable`. Refer to the vCenter Types table for a complete list of vCenter types.
	ClumioType *string `json:"type"`
	// The token given to the Clumio Cloud Connectors to identify the vCenter server.
	VcenterToken *string `json:"vcenter_token"`
}

Vcenter represents a custom type struct

type VcenterEmbedded

type VcenterEmbedded struct {
	// Embeds the compliance statistics of VMs into each vCenter resource in the response, if requested using the `_embed` query parameter.
	ReadVmwareVcenterComplianceStats interface{} `json:"read-vmware-vcenter-compliance-stats"`
}

VcenterEmbedded represents a custom type struct. Embedded responses related to the resource.

type VcenterLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// A HATEOAS link to the compliance statistics of VMs in the folders and subfolders of this vCenter resource.
	ReadVmwareVcenterComplianceStats *ReadVCenterObjectProtectionStatsHateoasLink `json:"read-vmware-vcenter-compliance-stats"`
}

VcenterLinks represents a custom type struct. URLs to pages related to the resource.

type VcenterListEmbedded

type VcenterListEmbedded struct {
	// TODO: Add struct field description
	Items []*Vcenter `json:"items"`
}

VcenterListEmbedded represents a custom type struct. Embedded responses related to the resource.

type VcenterListLinks struct {
	// The HATEOAS link to the first page of results.
	First *HateoasFirstLink `json:"_first"`
	// The HATEOAS link to the last page of results.
	Last *HateoasLastLink `json:"_last"`
	// The HATEOAS link to the next page of results.
	Next *HateoasNextLink `json:"_next"`
	// The HATEOAS link to the previous page of results.
	Prev *HateoasPrevLink `json:"_prev"`
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

VcenterListLinks represents a custom type struct. URLs to pages related to the resource.

type Vm

type Vm struct {
	// Embedded responses related to the resource.
	Embedded *VmEmbedded `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *VmLinks `json:"_links"`
	// The policy compliance status of the resource. If the VM is deleted or unprotected, then this field has a value of `null`. Refer to the Compliance Status table for a complete list of compliance statuses.
	ComplianceStatus *string `json:"compliance_status"`
	// The compute resource from which the VM draws. If the VM is deleted, then `compute_resource.id` has a value of `null`.
	ComputeResource *VMComputeResourceModel `json:"compute_resource"`
	// The compute resource folder associated with this VM. If the VM is deleted, then this field has a value of `null`.
	ComputeResourceFolder *VMComputeResourceFolderModel `json:"compute_resource_folder"`
	// The data center in which the VM resides. If the VM is deleted, then `datacenter.id` has a value of `null`.
	Datacenter *VMDatacenterModel `json:"datacenter"`
	// The data center folder associated with this VM. If the VM is deleted, then this field has a value of `null`.
	DatacenterFolder *VMDatacenterFolderModel `json:"datacenter_folder"`
	// The host on which the VM resides. If the VM is deleted, then `host.id` and `host.is_standalone` have values of `null`. The `host.name` field may also have a value of `null`.
	Host *VMHostModel `json:"host"`
	// The VMware-assigned Managed Object Reference (MoRef) ID of the VM.
	// VMs from different vCenters may have the same VMware-assigned ID.
	Id *string `json:"id"`
	// Determines whether the VM is deleted. If `true`, the VM is deleted.
	IsDeleted *bool `json:"is_deleted"`
	// Determines whether the VM is supported for backups. If `true`, the VM is supported for backups.
	IsSupported *bool `json:"is_supported"`
	// The timestamp of when the VM was last
	// backed up. If this VM has not been backed up, then this field has a value of `null`.
	LastBackupTimestamp *string `json:"last_backup_timestamp"`
	// The name of the virtual machine.
	Name *string `json:"name"`
	// The network interface card (NIC) attached to the VM.
	Nics []*VMNicModel `json:"nics"`
	// The Clumio-assigned ID of the organizational unit associated with the VM.
	OrganizationalUnitId *string `json:"organizational_unit_id"`
	// The protection policy applied to this resource. If the resource is not protected, then this field has a value of `null`.
	ProtectionInfo *ProtectionInfo `json:"protection_info"`
	// The protection status of the resource. If the VM has been deleted, then this field has a value of `null`. Refer to the Protection Status table for a complete list of protection statuses.
	ProtectionStatus *string `json:"protection_status"`
	// The resource pool from which the VM draws. If the VM is deleted, then `resource_pool.id` and `resource_pool.is_root` have values of `null`.
	ResourcePool *VMResourcePoolModel `json:"resource_pool"`
	// VMTagWithCategoryModel
	// A tag associated with the VM.
	Tags []*VMTagWithCategoryModel `json:"tags"`
	// The reason why the VM cannot be supported. If the VM is supported, then this field has a value of `null`.
	UnsupportedReason *string `json:"unsupported_reason"`
	// The Clumio-assigned ID of the VM.
	// Use this parameter in the [GET /backups/files/search](#operation/list-files) endpoint
	// to search for files in backups of this VM.
	Uuid *string `json:"uuid"`
	// The VM folder containing the VM. If the VM is deleted, then `vm_folder.id` has a value of `null`.
	VmFolder *VMFolderModel `json:"vm_folder"`
}

Vm represents a custom type struct

type VmComputeResourceLink struct {
	// The URI for the referenced operation.
	Href *string `json:"href"`
	// Determines whether the "href" link is a URI template. If set to `true`, the "href" link is a URI template.
	Templated *bool `json:"templated"`
	// The HTTP method to be used with the "href" link for the referenced operation.
	ClumioType *string `json:"type"`
}

VmComputeResourceLink represents a custom type struct. A HATEOAS link to the compute resource from which this VM draws from. Will be omitted for deleted VMs.

type VmDatacenterLink struct {
	// The URI for the referenced operation.
	Href *string `json:"href"`
	// Determines whether the "href" link is a URI template. If set to `true`, the "href" link is a URI template.
	Templated *bool `json:"templated"`
	// The HTTP method to be used with the "href" link for the referenced operation.
	ClumioType *string `json:"type"`
}

VmDatacenterLink represents a custom type struct. A HATEOAS link to the data center in which this VM resides. Will be omitted for deleted VMs.

type VmEmbedded

type VmEmbedded struct {
	// Embeds the associated policy of a protected resource in the response if requested using the `embed` query parameter. Unprotected resources will not have an associated policy.
	ReadPolicyDefinition interface{} `json:"read-policy-definition"`
}

VmEmbedded represents a custom type struct. Embedded responses related to the resource.

type VmFolderLink struct {
	// The URI for the referenced operation.
	Href *string `json:"href"`
	// Determines whether the "href" link is a URI template. If set to `true`, the "href" link is a URI template.
	Templated *bool `json:"templated"`
	// The HTTP method to be used with the "href" link for the referenced operation.
	ClumioType *string `json:"type"`
}

VmFolderLink represents a custom type struct. A HATEOAS link to the VM folder in which this VM resides. Will be omitted for deleted VMs.

type VmLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// A resource-specific HATEOAS link.
	CreateBackupVmwareVm *HateoasLink `json:"create-backup-vmware-vm"`
	// A resource-specific HATEOAS link.
	ListBackupVmwareVms *HateoasLink `json:"list-backup-vmware-vms"`
	// A resource-specific HATEOAS link.
	ListRestoredFiles *HateoasLink `json:"list-restored-files"`
	// A HATEOAS link to protect the entities.
	ProtectEntities *ProtectEntitiesHateoasLink `json:"protect-entities"`
	// A HATEOAS link to the policy protecting this resource. Will be omitted for unprotected entities.
	ReadPolicyDefinition *ReadPolicyDefinitionHateoasLink `json:"read-policy-definition"`
	// A HATEOAS link to the compute resource from which this VM draws from. Will be omitted for deleted VMs.
	ReadVmwareVcenterComputeResource *VmComputeResourceLink `json:"read-vmware-vcenter-compute-resource"`
	// A HATEOAS link to the data center in which this VM resides. Will be omitted for deleted VMs.
	ReadVmwareVcenterDatacenter *VmDatacenterLink `json:"read-vmware-vcenter-datacenter"`
	// A HATEOAS link to the VM folder in which this VM resides. Will be omitted for deleted VMs.
	ReadVmwareVcenterFolder *VmFolderLink `json:"read-vmware-vcenter-folder"`
	// A HATEOAS link to unprotect the entities.
	UnprotectEntities *UnprotectEntitiesHateoasLink `json:"unprotect-entities"`
}

VmLinks represents a custom type struct. URLs to pages related to the resource.

type VmListEmbedded

type VmListEmbedded struct {
	// TODO: Add struct field description
	Items []*Vm `json:"items"`
}

VmListEmbedded represents a custom type struct. Embedded responses related to the resource.

type VmListLinks struct {
	// The HATEOAS link to the first page of results.
	First *HateoasFirstLink `json:"_first"`
	// The HATEOAS link to the last page of results.
	Last *HateoasLastLink `json:"_last"`
	// The HATEOAS link to the next page of results.
	Next *HateoasNextLink `json:"_next"`
	// The HATEOAS link to the previous page of results.
	Prev *HateoasPrevLink `json:"_prev"`
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

VmListLinks represents a custom type struct. URLs to pages related to the resource.

type Wallet added in v0.2.7

type Wallet struct {
	// Embedded responses related to the resource.
	Embedded interface{} `json:"_embedded"`
	// URLs to pages related to the resource.
	Links *WalletLinks `json:"_links"`
	// AWS Account ID associated with the wallet.
	AccountNativeId *string `json:"account_native_id"`
	// Version of the template available
	AvailableVersion *int64 `json:"available_version"`
	// Clumio AWS Account ID.
	ClumioAwsAccountId *string `json:"clumio_aws_account_id"`
	// DeploymentURL is an (external) link to an AWS console page for quick-creation
	// of the stack.
	DeploymentUrl *string `json:"deployment_url"`
	// ErrorCode is a short string describing the error, if any.
	ErrorCode *string `json:"error_code"`
	// ErrorMessage is a longer description explaining the error, if any, and how to
	// fix it.
	ErrorMessage *string `json:"error_message"`
	// The Clumio-assigned ID of the wallet.
	Id *string `json:"id"`
	// The regions where the wallet is installed.
	InstalledRegions []*string `json:"installed_regions"`
	// TODO: Add struct field description
	KeyErrors map[string]*ErrorModel `json:"key_errors"`
	// RoleArn is the AWS Resource Name of the IAM Role created by the stack.
	RoleArn *string `json:"role_arn"`
	// The version of the stack used or being used.
	StackVersion *int64 `json:"stack_version"`
	// State describes the state of the wallet. Valid states are:
	// Waiting: The wallet has been created, but a stack hasn't been created. The
	// wallet can't be used in this state.
	// Enabled: The wallet has been created and a stack has been created for the
	// wallet. This is the normal expected state of a wallet in use.
	// Error:   The wallet is inaccessible. See ErrorCode and ErrorMessage fields for
	// additional details.
	State *string `json:"state"`
	// The supported regions for the wallet.
	SupportedRegions []*string `json:"supported_regions"`
	// TemplateURL is the URL to the CloudFormation template to be used to create the
	// CloudFormation stack.
	TemplateUrl *string `json:"template_url"`
	// Token is used to identify and authenticate the CloudFormation stack creation.
	Token *string `json:"token"`
}

Wallet represents a custom type struct

type WalletLinks struct {
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
	// A resource-specific HATEOAS link.
	DeleteWallet *HateoasLink `json:"delete-wallet"`
	// A resource-specific HATEOAS link.
	ListWalletKeys *HateoasLink `json:"list-wallet-keys"`
	// A resource-specific HATEOAS link.
	RefreshWallet *HateoasLink `json:"refresh-wallet"`
}

WalletLinks represents a custom type struct. URLs to pages related to the resource.

type WalletListEmbedded added in v0.2.7

type WalletListEmbedded struct {
	// TODO: Add struct field description
	Items []*Wallet `json:"items"`
}

WalletListEmbedded represents a custom type struct. Embedded responses related to the resource.

type WalletListLinks struct {
	// The HATEOAS link to the first page of results.
	First *HateoasFirstLink `json:"_first"`
	// The HATEOAS link to the last page of results.
	Last *HateoasLastLink `json:"_last"`
	// The HATEOAS link to the next page of results.
	Next *HateoasNextLink `json:"_next"`
	// The HATEOAS link to the previous page of results.
	Prev *HateoasPrevLink `json:"_prev"`
	// The HATEOAS link to this resource.
	Self *HateoasSelfLink `json:"_self"`
}

WalletListLinks represents a custom type struct. URLs to pages related to the resource.

type WarmTierProtectConfig added in v0.6.0

type WarmTierProtectConfig struct {
	// DynamodbAssetInfo
	// The installed information for the DynamoDB feature.
	Dynamodb *DynamodbAssetInfo `json:"dynamodb"`
	// The current version of the feature.
	InstalledTemplateVersion *string `json:"installed_template_version"`
}

WarmTierProtectConfig represents a custom type struct. The configuration of the Clumio Cloud Warm-Tier Protect product for this connection.

type WarmTierProtectTemplateInfo added in v0.6.0

type WarmTierProtectTemplateInfo struct {
	// The AWS asset types supported with the available version of the template.
	AssetTypesEnabled []*string `json:"asset_types_enabled"`
	// The latest available version for the template.
	AvailableTemplateVersion *string `json:"available_template_version"`
	// The latest available information for the DynamoDB feature.
	Dynamodb *DynamodbTemplateInfo `json:"dynamodb"`
}

WarmTierProtectTemplateInfo represents a custom type struct. Configuration information about the Warm-Tier Protect feature of the template.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL