1// Copyright (c) 2016, 2018, 2019, Oracle and/or its affiliates. All rights reserved.
2// Code generated. DO NOT EDIT.
3
4// Resource Manager API
5//
6// API for the Resource Manager service. Use this API to install, configure, and manage resources via the "infrastructure-as-code" model. For more information, see Overview of Resource Manager (https://docs.cloud.oracle.com/iaas/Content/ResourceManager/Concepts/resourcemanager.htm).
7//
8
9package resourcemanager
10
11import (
12	"encoding/json"
13	"github.com/oracle/oci-go-sdk/common"
14)
15
16// ZipUploadConfigSource File path to the location of the zip file that contains the Terraform configuration.
17type ZipUploadConfigSource struct {
18
19	// File path to the directory from which Terraform runs.
20	// If not specified, we use the root directory.
21	WorkingDirectory *string `mandatory:"false" json:"workingDirectory"`
22}
23
24//GetWorkingDirectory returns WorkingDirectory
25func (m ZipUploadConfigSource) GetWorkingDirectory() *string {
26	return m.WorkingDirectory
27}
28
29func (m ZipUploadConfigSource) String() string {
30	return common.PointerString(m)
31}
32
33// MarshalJSON marshals to json representation
34func (m ZipUploadConfigSource) MarshalJSON() (buff []byte, e error) {
35	type MarshalTypeZipUploadConfigSource ZipUploadConfigSource
36	s := struct {
37		DiscriminatorParam string `json:"configSourceType"`
38		MarshalTypeZipUploadConfigSource
39	}{
40		"ZIP_UPLOAD",
41		(MarshalTypeZipUploadConfigSource)(m),
42	}
43
44	return json.Marshal(&s)
45}
46