This repository was archived by the owner on Oct 3, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 15
/
Copy pathResourceManagerOptions.java
158 lines (130 loc) · 4.75 KB
/
ResourceManagerOptions.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
/*
* Copyright 2015 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.google.cloud.resourcemanager;
import com.google.cloud.ServiceDefaults;
import com.google.cloud.ServiceOptions;
import com.google.cloud.ServiceRpc;
import com.google.cloud.TransportOptions;
import com.google.cloud.http.HttpTransportOptions;
import com.google.cloud.resourcemanager.spi.ResourceManagerRpcFactory;
import com.google.cloud.resourcemanager.spi.v1beta1.HttpResourceManagerRpc;
import com.google.cloud.resourcemanager.spi.v1beta1.ResourceManagerRpc;
import com.google.common.collect.ImmutableSet;
import java.util.Set;
/** @deprecated v3 GAPIC client of ResourceManager is now available */
@Deprecated
public class ResourceManagerOptions
extends ServiceOptions<ResourceManager, ResourceManagerOptions> {
private static final long serialVersionUID = 624147474447836183L;
private static final String API_SHORT_NAME = "ResourceManager";
private static final String GCRM_SCOPE = "https://www.googleapis.com/auth/cloud-platform";
private static final Set<String> SCOPES = ImmutableSet.of(GCRM_SCOPE);
private static final String DEFAULT_HOST = "https://cloudresourcemanager.googleapis.com";
public static class DefaultResourceManagerFactory implements ResourceManagerFactory {
private static final ResourceManagerFactory INSTANCE = new DefaultResourceManagerFactory();
@Override
public ResourceManager create(ResourceManagerOptions options) {
return new ResourceManagerImpl(options);
}
}
/** Returns a default {@code ResourceManagerOptions} instance. */
public static ResourceManagerOptions getDefaultInstance() {
return newBuilder().build();
}
public static class DefaultResourceManagerRpcFactory implements ResourceManagerRpcFactory {
private static final ResourceManagerRpcFactory INSTANCE =
new DefaultResourceManagerRpcFactory();
@Override
public ServiceRpc create(ResourceManagerOptions options) {
return new HttpResourceManagerRpc(options);
}
}
@Override
protected String getDefaultHost() {
return DEFAULT_HOST;
}
public static class Builder
extends ServiceOptions.Builder<ResourceManager, ResourceManagerOptions, Builder> {
private Builder() {}
private Builder(ResourceManagerOptions options) {
super(options);
}
@Override
public Builder setTransportOptions(TransportOptions transportOptions) {
if (!(transportOptions instanceof HttpTransportOptions)) {
throw new IllegalArgumentException(
"Only http transport is allowed for " + API_SHORT_NAME + ".");
}
return super.setTransportOptions(transportOptions);
}
@Override
public ResourceManagerOptions build() {
return new ResourceManagerOptions(this);
}
}
private ResourceManagerOptions(Builder builder) {
super(
ResourceManagerFactory.class,
ResourceManagerRpcFactory.class,
builder,
new ResourceManagerDefaults());
}
@Override
protected boolean projectIdRequired() {
return false;
}
private static class ResourceManagerDefaults
implements ServiceDefaults<ResourceManager, ResourceManagerOptions> {
@Override
public ResourceManagerFactory getDefaultServiceFactory() {
return DefaultResourceManagerFactory.INSTANCE;
}
@Override
public ResourceManagerRpcFactory getDefaultRpcFactory() {
return DefaultResourceManagerRpcFactory.INSTANCE;
}
@Override
public TransportOptions getDefaultTransportOptions() {
return getDefaultHttpTransportOptions();
}
}
public static HttpTransportOptions getDefaultHttpTransportOptions() {
return HttpTransportOptions.newBuilder().build();
}
@Override
protected Set<String> getScopes() {
return SCOPES;
}
protected ResourceManagerRpc getResourceManagerRpcV1Beta1() {
return (ResourceManagerRpc) getRpc();
}
@Override
public boolean equals(Object obj) {
return obj instanceof ResourceManagerOptions && baseEquals((ResourceManagerOptions) obj);
}
@Override
public int hashCode() {
return baseHashCode();
}
@SuppressWarnings("unchecked")
@Override
public Builder toBuilder() {
return new Builder(this);
}
public static Builder newBuilder() {
return new Builder();
}
}