Skip to content

Commit 39fd774

Browse files
committed
Add support for Oracle Digital Assistant
1 parent 528c116 commit 39fd774

35 files changed

+3556
-1
lines changed

CHANGELOG.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
## 3.47.1 (Unreleased)
1+
## 3.48.0 (Unreleased)
2+
### Added
3+
- Support for Oracle Digital Assistant
24

35
### Fixed
46
- Update for whitelisted ips in `oci_autonomous_database`
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
// Copyright (c) 2017, 2019, Oracle and/or its affiliates. All rights reserved.
2+
3+
variable "tenancy_ocid" {}
4+
variable "user_ocid" {}
5+
variable "fingerprint" {}
6+
variable "private_key_path" {}
7+
variable "region" {}
8+
9+
variable "compartment_ocid" {}
10+
11+
provider "oci" {
12+
tenancy_ocid = "${var.tenancy_ocid}"
13+
user_ocid = "${var.user_ocid}"
14+
fingerprint = "${var.fingerprint}"
15+
private_key_path = "${var.private_key_path}"
16+
region = "${var.region}"
17+
}
18+
19+
resource "oci_oda_oda_instance" "TFOdaInstance" {
20+
compartment_id = "${var.compartment_ocid}"
21+
shape_name = "DEVELOPMENT"
22+
description = "test instance"
23+
display_name = "TestInstance"
24+
}
25+
26+
data "oci_oda_oda_instances" "TFOdaInstances" {
27+
#Required
28+
compartment_id = "${var.compartment_ocid}"
29+
30+
#Optional
31+
display_name = "${oci_oda_oda_instance.TFOdaInstance.display_name}"
32+
33+
#state = "${var.oda_instance_state}"
34+
}
35+
36+
data "oci_oda_oda_instance" "TFOdaInstance" {
37+
#Required
38+
oda_instance_id = "${oci_oda_oda_instance.TFOdaInstance.id}"
39+
}
Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
// Copyright (c) 2017, 2019, Oracle and/or its affiliates. All rights reserved.
2+
3+
package provider
4+
5+
import (
6+
"context"
7+
8+
"github.com/hashicorp/terraform/helper/schema"
9+
oci_oda "github.com/oracle/oci-go-sdk/oda"
10+
)
11+
12+
func OdaOdaInstanceDataSource() *schema.Resource {
13+
fieldMap := make(map[string]*schema.Schema)
14+
fieldMap["oda_instance_id"] = &schema.Schema{
15+
Type: schema.TypeString,
16+
Required: true,
17+
}
18+
return GetSingularDataSourceItemSchema(OdaOdaInstanceResource(), fieldMap, readSingularOdaOdaInstance)
19+
}
20+
21+
func readSingularOdaOdaInstance(d *schema.ResourceData, m interface{}) error {
22+
sync := &OdaOdaInstanceDataSourceCrud{}
23+
sync.D = d
24+
sync.Client = m.(*OracleClients).odaClient
25+
26+
return ReadResource(sync)
27+
}
28+
29+
type OdaOdaInstanceDataSourceCrud struct {
30+
D *schema.ResourceData
31+
Client *oci_oda.OdaClient
32+
Res *oci_oda.GetOdaInstanceResponse
33+
}
34+
35+
func (s *OdaOdaInstanceDataSourceCrud) VoidState() {
36+
s.D.SetId("")
37+
}
38+
39+
func (s *OdaOdaInstanceDataSourceCrud) Get() error {
40+
request := oci_oda.GetOdaInstanceRequest{}
41+
42+
if odaInstanceId, ok := s.D.GetOkExists("oda_instance_id"); ok {
43+
tmp := odaInstanceId.(string)
44+
request.OdaInstanceId = &tmp
45+
}
46+
47+
request.RequestMetadata.RetryPolicy = getRetryPolicy(false, "oda")
48+
49+
response, err := s.Client.GetOdaInstance(context.Background(), request)
50+
if err != nil {
51+
return err
52+
}
53+
54+
s.Res = &response
55+
return nil
56+
}
57+
58+
func (s *OdaOdaInstanceDataSourceCrud) SetData() error {
59+
if s.Res == nil {
60+
return nil
61+
}
62+
63+
s.D.SetId(*s.Res.Id)
64+
65+
if s.Res.CompartmentId != nil {
66+
s.D.Set("compartment_id", *s.Res.CompartmentId)
67+
}
68+
69+
if s.Res.ConnectorUrl != nil {
70+
s.D.Set("connector_url", *s.Res.ConnectorUrl)
71+
}
72+
73+
if s.Res.DefinedTags != nil {
74+
s.D.Set("defined_tags", definedTagsToMap(s.Res.DefinedTags))
75+
}
76+
77+
if s.Res.Description != nil {
78+
s.D.Set("description", *s.Res.Description)
79+
}
80+
81+
if s.Res.DisplayName != nil {
82+
s.D.Set("display_name", *s.Res.DisplayName)
83+
}
84+
85+
s.D.Set("freeform_tags", s.Res.FreeformTags)
86+
87+
s.D.Set("lifecycle_sub_state", s.Res.LifecycleSubState)
88+
89+
s.D.Set("shape_name", s.Res.ShapeName)
90+
91+
s.D.Set("state", s.Res.LifecycleState)
92+
93+
if s.Res.StateMessage != nil {
94+
s.D.Set("state_message", *s.Res.StateMessage)
95+
}
96+
97+
if s.Res.TimeCreated != nil {
98+
s.D.Set("time_created", s.Res.TimeCreated.String())
99+
}
100+
101+
if s.Res.TimeUpdated != nil {
102+
s.D.Set("time_updated", s.Res.TimeUpdated.String())
103+
}
104+
105+
if s.Res.WebAppUrl != nil {
106+
s.D.Set("web_app_url", *s.Res.WebAppUrl)
107+
}
108+
109+
return nil
110+
}

0 commit comments

Comments
 (0)