1
+ // Copyright (c) Microsoft Corporation. All rights reserved.
2
+ // Licensed under the MIT License. See License.txt in the project root for license information.
3
+ // Code generated by Microsoft (R) AutoRest Code Generator.
4
+ // Changes may cause incorrect behavior and will be lost if the code is regenerated.
5
+
6
+ namespace Microsoft . Azure . Management . DataFactory . Models
7
+ {
8
+ using System . Linq ;
9
+
10
+ /// <summary>
11
+ /// Google BigQuery service linked service.
12
+ /// </summary>
13
+ [ Newtonsoft . Json . JsonObject ( "GoogleBigQueryV2" ) ]
14
+ [ Microsoft . Rest . Serialization . JsonTransformation ]
15
+ public partial class GoogleBigQueryV2LinkedService : LinkedService
16
+ {
17
+ /// <summary>
18
+ /// Initializes a new instance of the GoogleBigQueryV2LinkedService class.
19
+ /// </summary>
20
+ public GoogleBigQueryV2LinkedService ( )
21
+ {
22
+ CustomInit ( ) ;
23
+ }
24
+
25
+ /// <summary>
26
+ /// Initializes a new instance of the GoogleBigQueryV2LinkedService class.
27
+ /// </summary>
28
+
29
+ /// <param name="additionalProperties">The nested object which contains the information and credential which can
30
+ /// be used to connect with related store or compute resource.
31
+ /// </param>
32
+
33
+ /// <param name="connectVia">The integration runtime reference.
34
+ /// </param>
35
+
36
+ /// <param name="description">Linked service description.
37
+ /// </param>
38
+
39
+ /// <param name="parameters">Parameters for linked service.
40
+ /// </param>
41
+
42
+ /// <param name="annotations">List of tags that can be used for describing the linked service.
43
+ /// </param>
44
+
45
+ /// <param name="projectId">The default BigQuery project id to query against. Type: string (or
46
+ /// Expression with resultType string).
47
+ /// </param>
48
+
49
+ /// <param name="authenticationType">The OAuth 2.0 authentication mechanism used for authentication.
50
+ /// Possible values include: 'ServiceAuthentication', 'UserAuthentication'</param>
51
+
52
+ /// <param name="clientId">The client id of the google application used to acquire the refresh token.
53
+ /// Type: string (or Expression with resultType string).
54
+ /// </param>
55
+
56
+ /// <param name="clientSecret">The client secret of the google application used to acquire the refresh
57
+ /// token.
58
+ /// </param>
59
+
60
+ /// <param name="refreshToken">The refresh token obtained from Google for authorizing access to BigQuery
61
+ /// for UserAuthentication.
62
+ /// </param>
63
+
64
+ /// <param name="keyFileContent">The content of the .json key file that is used to authenticate the service
65
+ /// account. Type: string (or Expression with resultType string).
66
+ /// </param>
67
+
68
+ /// <param name="encryptedCredential">The encrypted credential used for authentication. Credentials are encrypted
69
+ /// using the integration runtime credential manager. Type: string.
70
+ /// </param>
71
+ public GoogleBigQueryV2LinkedService ( object projectId , string authenticationType , System . Collections . Generic . IDictionary < string , object > additionalProperties = default ( System . Collections . Generic . IDictionary < string , object > ) , IntegrationRuntimeReference connectVia = default ( IntegrationRuntimeReference ) , string description = default ( string ) , System . Collections . Generic . IDictionary < string , ParameterSpecification > parameters = default ( System . Collections . Generic . IDictionary < string , ParameterSpecification > ) , System . Collections . Generic . IList < object > annotations = default ( System . Collections . Generic . IList < object > ) , object clientId = default ( object ) , SecretBase clientSecret = default ( SecretBase ) , SecretBase refreshToken = default ( SecretBase ) , SecretBase keyFileContent = default ( SecretBase ) , string encryptedCredential = default ( string ) )
72
+
73
+ : base ( additionalProperties , connectVia , description , parameters , annotations )
74
+ {
75
+ this . ProjectId = projectId ;
76
+ this . AuthenticationType = authenticationType ;
77
+ this . ClientId = clientId ;
78
+ this . ClientSecret = clientSecret ;
79
+ this . RefreshToken = refreshToken ;
80
+ this . KeyFileContent = keyFileContent ;
81
+ this . EncryptedCredential = encryptedCredential ;
82
+ CustomInit ( ) ;
83
+ }
84
+
85
+ /// <summary>
86
+ /// An initialization method that performs custom operations like setting defaults
87
+ /// </summary>
88
+ partial void CustomInit ( ) ;
89
+
90
+
91
+ /// <summary>
92
+ /// Gets or sets the default BigQuery project id to query against. Type: string
93
+ /// (or Expression with resultType string).
94
+ /// </summary>
95
+ [ Newtonsoft . Json . JsonProperty ( PropertyName = "typeProperties.projectId" ) ]
96
+ public object ProjectId { get ; set ; }
97
+
98
+ /// <summary>
99
+ /// Gets or sets the OAuth 2.0 authentication mechanism used for
100
+ /// authentication. Possible values include: 'ServiceAuthentication', 'UserAuthentication'
101
+ /// </summary>
102
+ [ Newtonsoft . Json . JsonProperty ( PropertyName = "typeProperties.authenticationType" ) ]
103
+ public string AuthenticationType { get ; set ; }
104
+
105
+ /// <summary>
106
+ /// Gets or sets the client id of the google application used to acquire the
107
+ /// refresh token. Type: string (or Expression with resultType string).
108
+ /// </summary>
109
+ [ Newtonsoft . Json . JsonProperty ( PropertyName = "typeProperties.clientId" ) ]
110
+ public object ClientId { get ; set ; }
111
+
112
+ /// <summary>
113
+ /// Gets or sets the client secret of the google application used to acquire
114
+ /// the refresh token.
115
+ /// </summary>
116
+ [ Newtonsoft . Json . JsonProperty ( PropertyName = "typeProperties.clientSecret" ) ]
117
+ public SecretBase ClientSecret { get ; set ; }
118
+
119
+ /// <summary>
120
+ /// Gets or sets the refresh token obtained from Google for authorizing access
121
+ /// to BigQuery for UserAuthentication.
122
+ /// </summary>
123
+ [ Newtonsoft . Json . JsonProperty ( PropertyName = "typeProperties.refreshToken" ) ]
124
+ public SecretBase RefreshToken { get ; set ; }
125
+
126
+ /// <summary>
127
+ /// Gets or sets the content of the .json key file that is used to authenticate
128
+ /// the service account. Type: string (or Expression with resultType string).
129
+ /// </summary>
130
+ [ Newtonsoft . Json . JsonProperty ( PropertyName = "typeProperties.keyFileContent" ) ]
131
+ public SecretBase KeyFileContent { get ; set ; }
132
+
133
+ /// <summary>
134
+ /// Gets or sets the encrypted credential used for authentication. Credentials
135
+ /// are encrypted using the integration runtime credential manager. Type:
136
+ /// string.
137
+ /// </summary>
138
+ [ Newtonsoft . Json . JsonProperty ( PropertyName = "typeProperties.encryptedCredential" ) ]
139
+ public string EncryptedCredential { get ; set ; }
140
+ /// <summary>
141
+ /// Validate the object.
142
+ /// </summary>
143
+ /// <exception cref="Microsoft.Rest.ValidationException">
144
+ /// Thrown if validation fails
145
+ /// </exception>
146
+ public override void Validate ( )
147
+ {
148
+ base . Validate ( ) ;
149
+ if ( this . ProjectId == null )
150
+ {
151
+ throw new Microsoft . Rest . ValidationException ( Microsoft . Rest . ValidationRules . CannotBeNull , "ProjectId" ) ;
152
+ }
153
+ if ( this . AuthenticationType == null )
154
+ {
155
+ throw new Microsoft . Rest . ValidationException ( Microsoft . Rest . ValidationRules . CannotBeNull , "AuthenticationType" ) ;
156
+ }
157
+
158
+
159
+
160
+
161
+
162
+
163
+
164
+ }
165
+ }
166
+ }
0 commit comments