1 | ;
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | exports.fromServiceAttributes = void 0;
|
4 | const core_1 = require("@aws-cdk/core");
|
5 | function fromServiceAttributes(scope, id, attrs) {
|
6 | if ((attrs.serviceArn && attrs.serviceName) || (!attrs.serviceArn && !attrs.serviceName)) {
|
7 | throw new Error('You can only specify either serviceArn or serviceName.');
|
8 | }
|
9 | const stack = core_1.Stack.of(scope);
|
10 | let name;
|
11 | let arn;
|
12 | if (attrs.serviceName) {
|
13 | name = attrs.serviceName;
|
14 | arn = stack.formatArn({
|
15 | partition: stack.partition,
|
16 | service: 'ecs',
|
17 | region: stack.region,
|
18 | account: stack.account,
|
19 | resource: 'service',
|
20 | resourceName: name,
|
21 | });
|
22 | }
|
23 | else {
|
24 | arn = attrs.serviceArn;
|
25 | name = stack.splitArn(arn, core_1.ArnFormat.SLASH_RESOURCE_NAME).resourceName;
|
26 | }
|
27 | class Import extends core_1.Resource {
|
28 | constructor() {
|
29 | super(...arguments);
|
30 | this.serviceArn = arn;
|
31 | this.serviceName = name;
|
32 | this.cluster = attrs.cluster;
|
33 | }
|
34 | }
|
35 | return new Import(scope, id, {
|
36 | environmentFromArn: arn,
|
37 | });
|
38 | }
|
39 | exports.fromServiceAttributes = fromServiceAttributes;
|
40 | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvbS1zZXJ2aWNlLWF0dHJpYnV0ZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJmcm9tLXNlcnZpY2UtYXR0cmlidXRlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx3Q0FBMkQ7QUE2QjNELFNBQWdCLHFCQUFxQixDQUFDLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXdCO0lBQzFGLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxJQUFJLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLFVBQVUsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsRUFBRTtRQUN4RixNQUFNLElBQUksS0FBSyxDQUFDLHdEQUF3RCxDQUFDLENBQUM7S0FDM0U7SUFFRCxNQUFNLEtBQUssR0FBRyxZQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlCLElBQUksSUFBWSxDQUFDO0lBQ2pCLElBQUksR0FBVyxDQUFDO0lBQ2hCLElBQUksS0FBSyxDQUFDLFdBQVcsRUFBRTtRQUNyQixJQUFJLEdBQUcsS0FBSyxDQUFDLFdBQXFCLENBQUM7UUFDbkMsR0FBRyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUM7WUFDcEIsU0FBUyxFQUFFLEtBQUssQ0FBQyxTQUFTO1lBQzFCLE9BQU8sRUFBRSxLQUFLO1lBQ2QsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNO1lBQ3BCLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztZQUN0QixRQUFRLEVBQUUsU0FBUztZQUNuQixZQUFZLEVBQUUsSUFBSTtTQUNuQixDQUFDLENBQUM7S0FDSjtTQUFNO1FBQ0wsR0FBRyxHQUFHLEtBQUssQ0FBQyxVQUFvQixDQUFDO1FBQ2pDLElBQUksR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxnQkFBUyxDQUFDLG1CQUFtQixDQUFDLENBQUMsWUFBc0IsQ0FBQztLQUNsRjtJQUNELE1BQU0sTUFBTyxTQUFRLGVBQVE7UUFBN0I7O1lBQ2tCLGVBQVUsR0FBRyxHQUFHLENBQUM7WUFDakIsZ0JBQVcsR0FBRyxJQUFJLENBQUM7WUFDbkIsWUFBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFDMUMsQ0FBQztLQUFBO0lBQ0QsT0FBTyxJQUFJLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO1FBQzNCLGtCQUFrQixFQUFFLEdBQUc7S0FDeEIsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQTlCRCxzREE4QkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcm5Gb3JtYXQsIFJlc291cmNlLCBTdGFjayB9IGZyb20gJ0Bhd3MtY2RrL2NvcmUnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBJQmFzZVNlcnZpY2UgfSBmcm9tICcuLi9iYXNlL2Jhc2Utc2VydmljZSc7XG5pbXBvcnQgeyBJQ2x1c3RlciB9IGZyb20gJy4uL2NsdXN0ZXInO1xuXG4vKipcbiAqIFRoZSBwcm9wZXJ0aWVzIHRvIGltcG9ydCBmcm9tIHRoZSBzZXJ2aWNlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNlcnZpY2VBdHRyaWJ1dGVzIHtcbiAgLyoqXG4gICAqIFRoZSBjbHVzdGVyIHRoYXQgaG9zdHMgdGhlIHNlcnZpY2UuXG4gICAqL1xuICByZWFkb25seSBjbHVzdGVyOiBJQ2x1c3RlcjtcblxuICAvKipcbiAgICogVGhlIHNlcnZpY2UgQVJOLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGVpdGhlciB0aGlzLCBvciB7QGxpbmsgc2VydmljZU5hbWV9LCBpcyByZXF1aXJlZFxuICAgKi9cbiAgcmVhZG9ubHkgc2VydmljZUFybj86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHNlcnZpY2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZWl0aGVyIHRoaXMsIG9yIHtAbGluayBzZXJ2aWNlQXJufSwgaXMgcmVxdWlyZWRcbiAgICovXG4gIHJlYWRvbmx5IHNlcnZpY2VOYW1lPzogc3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZnJvbVNlcnZpY2VBdHRyaWJ1dGVzKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIGF0dHJzOiBTZXJ2aWNlQXR0cmlidXRlcyk6IElCYXNlU2VydmljZSB7XG4gIGlmICgoYXR0cnMuc2VydmljZUFybiAmJiBhdHRycy5zZXJ2aWNlTmFtZSkgfHwgKCFhdHRycy5zZXJ2aWNlQXJuICYmICFhdHRycy5zZXJ2aWNlTmFtZSkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1lvdSBjYW4gb25seSBzcGVjaWZ5IGVpdGhlciBzZXJ2aWNlQXJuIG9yIHNlcnZpY2VOYW1lLicpO1xuICB9XG5cbiAgY29uc3Qgc3RhY2sgPSBTdGFjay5vZihzY29wZSk7XG4gIGxldCBuYW1lOiBzdHJpbmc7XG4gIGxldCBhcm46IHN0cmluZztcbiAgaWYgKGF0dHJzLnNlcnZpY2VOYW1lKSB7XG4gICAgbmFtZSA9IGF0dHJzLnNlcnZpY2VOYW1lIGFzIHN0cmluZztcbiAgICBhcm4gPSBzdGFjay5mb3JtYXRBcm4oe1xuICAgICAgcGFydGl0aW9uOiBzdGFjay5wYXJ0aXRpb24sXG4gICAgICBzZXJ2aWNlOiAnZWNzJyxcbiAgICAgIHJlZ2lvbjogc3RhY2sucmVnaW9uLFxuICAgICAgYWNjb3VudDogc3RhY2suYWNjb3VudCxcbiAgICAgIHJlc291cmNlOiAnc2VydmljZScsXG4gICAgICByZXNvdXJjZU5hbWU6IG5hbWUsXG4gICAgfSk7XG4gIH0gZWxzZSB7XG4gICAgYXJuID0gYXR0cnMuc2VydmljZUFybiBhcyBzdHJpbmc7XG4gICAgbmFtZSA9IHN0YWNrLnNwbGl0QXJuKGFybiwgQXJuRm9ybWF0LlNMQVNIX1JFU09VUkNFX05BTUUpLnJlc291cmNlTmFtZSBhcyBzdHJpbmc7XG4gIH1cbiAgY2xhc3MgSW1wb3J0IGV4dGVuZHMgUmVzb3VyY2UgaW1wbGVtZW50cyBJQmFzZVNlcnZpY2Uge1xuICAgIHB1YmxpYyByZWFkb25seSBzZXJ2aWNlQXJuID0gYXJuO1xuICAgIHB1YmxpYyByZWFkb25seSBzZXJ2aWNlTmFtZSA9IG5hbWU7XG4gICAgcHVibGljIHJlYWRvbmx5IGNsdXN0ZXIgPSBhdHRycy5jbHVzdGVyO1xuICB9XG4gIHJldHVybiBuZXcgSW1wb3J0KHNjb3BlLCBpZCwge1xuICAgIGVudmlyb25tZW50RnJvbUFybjogYXJuLFxuICB9KTtcbn1cbiJdfQ== |
\ | No newline at end of file |