Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Added documentation for site recovery and srm node resource. #15

Merged
merged 10 commits into from
Apr 2, 2020
2 changes: 1 addition & 1 deletion examples/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ resource "vmc_site_recovery" "site_recovery_1" {
srm_extension_key_suffix = var.site_recovery_srm_extension_key_suffix
}

resource "vmc_srm_nodes" "srm_node_1"{
resource "vmc_srm_node" "srm_node_1"{
sddc_id = vmc_sddc.sddc_1.id
srm_node_extension_key_suffix = var.srm_node_srm_extension_key_suffix
depends_on = [vmc_site_recovery.site_recovery_1]
Expand Down
2 changes: 1 addition & 1 deletion vmc/provider.go
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ func Provider() terraform.ResourceProvider {
"vmc_sddc": resourceSddc(),
"vmc_public_ip": resourcePublicIp(),
"vmc_site_recovery": resourceSiteRecovery(),
"vmc_srm_nodes": resourceSRMNodes(),
"vmc_srm_node": resourceSRMNode(),
},

DataSourcesMap: map[string]*schema.Resource{
Expand Down
16 changes: 8 additions & 8 deletions vmc/resource_vmc_srm_nodes.go → vmc/resource_vmc_srm_node.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,11 @@ import (
"github.com/vmware/vsphere-automation-sdk-go/services/vmc/draas/model"
)

func resourceSRMNodes() *schema.Resource {
func resourceSRMNode() *schema.Resource {
return &schema.Resource{
Create: resourceSRMNodesCreate,
Read: resourceSRMNodesRead,
Delete: resourceSRMNodesDelete,
Create: resourceSRMNodeCreate,
Read: resourceSRMNodeRead,
Delete: resourceSRMNodeDelete,
Importer: &schema.ResourceImporter{
State: schema.ImportStatePassthrough,
},
Expand Down Expand Up @@ -51,7 +51,7 @@ func resourceSRMNodes() *schema.Resource {
}
}

func resourceSRMNodesCreate(d *schema.ResourceData, m interface{}) error {
func resourceSRMNodeCreate(d *schema.ResourceData, m interface{}) error {

connector := (m.(*ConnectorWrapper)).Connector

Expand Down Expand Up @@ -91,13 +91,13 @@ func resourceSRMNodesCreate(d *schema.ResourceData, m interface{}) error {
if *task.Status != "FINISHED" {
return resource.RetryableError(fmt.Errorf("Expected instance to be created but was in state %s", *task.Status))
}
return resource.NonRetryableError(resourceSRMNodesRead(d, m))
return resource.NonRetryableError(resourceSRMNodeRead(d, m))
})
return nil

}

func resourceSRMNodesRead(d *schema.ResourceData, m interface{}) error {
func resourceSRMNodeRead(d *schema.ResourceData, m interface{}) error {

connector := (m.(*ConnectorWrapper)).Connector
orgID := (m.(*ConnectorWrapper)).OrgID
Expand Down Expand Up @@ -132,7 +132,7 @@ func resourceSRMNodesRead(d *schema.ResourceData, m interface{}) error {
return nil
}

func resourceSRMNodesDelete(d *schema.ResourceData, m interface{}) error {
func resourceSRMNodeDelete(d *schema.ResourceData, m interface{}) error {
connector := (m.(*ConnectorWrapper)).Connector
siteRecoverySrmNodesClient := draas.NewDefaultSiteRecoverySrmNodesClient(connector)

Expand Down
File renamed without changes.
50 changes: 50 additions & 0 deletions website/docs/r/site_recovery.html.markdown
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
---
layout: "vmc"

page_title: "VMC: vmc_site_recovery"
sidebar_current: "docs-vmc_site_recovery"

description: |-
Provides a resource to activate and deactivate site recovery for an SDDC.
---

# vmc_site_recovery

Provides a resource to activate and deactivate site recovery for an SDDC.
~> **Note:** Site recovery resource implicitly depends on SSDC resource creation. SDDC must be provisioned before a site recovery can be activated. For details on how to provision an SDDC refer to [vmc_sddc](https://www.terraform.io/docs/providers/vmc/r/sddc.html).
saloneerege marked this conversation as resolved.
Show resolved Hide resolved

## Example Usage

```hcl

provider "vmc" {
refresh_token = var.api_token
org_id = var.org_id
}

resource "vmc_site_recovery" "site_recovery_1" {
sddc_id = vmc_sddc.sddc_1.id
srm_extension_key_suffix = var.site_recovery_srm_extension_key_suffix
}

```

## Argument Reference

The following arguments are supported for vmc_site_recovery resource:

* `sddc_id` - (Required) SDDC identifier.

* `srm_node_extension_key_suffix` - (Optional) Custom extension key suffix for SRM. If not specified, default extension key will be used.
The custom extension suffix must contain 13 characters or less, be composed of letters, numbers, ., - characters. The extension suffix must begin and end with a letter or number. The suffix is appended to com.vmware.vcDr- to form the full extension key.


## Attributes Reference

In addition to arguments listed above, the following attributes are exported after site recovery activation:

* `site_recovery_state` - Site recovery state. Possible values are: ACTIVATED, ACTIVATING, CANCELED, DEACTIVATED, DEACTIVATING, DELETED, FAILED.

* `srm_node` - Site recovery node created after site recovery activation.

* `vr_node` - VR node created after site recovery activation.
50 changes: 50 additions & 0 deletions website/docs/r/srm_node.html.markdown
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
---
layout: "vmc"

page_title: "VMC: vmc_srm_node"
sidebar_current: "docs-vmc_srm_node"

description: |-
Provides a resource to add an instance to an SDDC after site recovery has been activated.
---

# vmc_srm_node

Provides a resource to add an instance to an SDDC after site recovery has been activated.
~> **Note:** SRM node resource depends on site recovery resource creation. Site recovery must be activated to add an SRM node instance. For details on how to activate site recovery refer to the site recovery resource an SDDC refer to [vmc_site_recovery](https://www.terraform.io/docs/providers/vmc/r/site_recovery.html).
saloneerege marked this conversation as resolved.
Show resolved Hide resolved

## Example Usage

```hcl

provider "vmc" {
refresh_token = var.api_token
org_id = var.org_id
}

resource "vmc_srm_node" "srm_node_1"{
sddc_id = vmc_sddc.sddc_1.id
srm_node_extension_key_suffix = var.srm_node_srm_extension_key_suffix
depends_on = [vmc_site_recovery.site_recovery_1]
}

```

## Argument Reference

The following arguments are supported for vmc_srm_node resource:

* `sddc_id` - (Required) SDDC identifier.

* `srm_node_extension_key_suffix` - (Required) Custom extension key suffix for SRM. If not specified, default extension key will be used.
The custom extension suffix must contain 13 characters or less, be composed of letters, numbers, ., - characters. The extension suffix must begin and end with a letter or number. The suffix is appended to com.vmware.vcDr- to form the full extension key.

## Attributes Reference

In addition to arguments listed above, the following attributes are exported after site recovery activation:

* `site_recovery_state` - Site recovery state. Possible values are: ACTIVATED, ACTIVATING, CANCELED, DEACTIVATED, DEACTIVATING, DELETED, FAILED.

* `srm_node` - Site recovery node information.

* `vr_node` - VR node information.
12 changes: 9 additions & 3 deletions website/vmc.erb
Original file line number Diff line number Diff line change
Expand Up @@ -28,12 +28,18 @@
<li<%= sidebar_current("docs-vmc-resource") %>>
<a href="#">Resources</a>
<ul class="nav nav-visible">
<li<%= sidebar_current("docs-vmc-resource-sddc") %>>
<a href="/docs/providers/vmc/r/sddc.html">vmc_sddc</a>
</li>
<li<%= sidebar_current("docs-vmc-resource-public-ip") %>>
<a href="/docs/providers/vmc/r/public_ip.html">vmc_public_ip</a>
</li>
<li<%= sidebar_current("docs-vmc-resource-sddc") %>>
<a href="/docs/providers/vmc/r/sddc.html">vmc_sddc</a>
</li>
saloneerege marked this conversation as resolved.
Show resolved Hide resolved
<li<%= sidebar_current("docs-vmc-resource-site-recovery") %>>
<a href="/docs/providers/vmc/r/site_recovery.html">vmc_site_recovery</a>
</li>
<li<%= sidebar_current("docs-vmc-resource-srm-node") %>>
<a href="/docs/providers/vmc/r/srm_node.html">vmc_srm_node</a>
</li>
</ul>
</li>
</ul>
Expand Down